equal
deleted
inserted
replaced
419 values = {'x': eschema.eid, 'et': specialized_type.eid} |
419 values = {'x': eschema.eid, 'et': specialized_type.eid} |
420 yield 'SET X specializes ET WHERE X eid %(x)s, ET eid %(et)s', values |
420 yield 'SET X specializes ET WHERE X eid %(x)s, ET eid %(et)s', values |
421 |
421 |
422 def uniquetogether2rqls(eschema): |
422 def uniquetogether2rqls(eschema): |
423 rql_args = [] |
423 rql_args = [] |
|
424 # robustness against duplicated CWUniqueTogetherConstraint (pre 3.18) |
|
425 columnset = set() |
424 for columns in eschema._unique_together: |
426 for columns in eschema._unique_together: |
|
427 if columns in columnset: |
|
428 print ('schemaserial: skipping duplicate unique together %r %r' % |
|
429 (eschema.type, columns)) |
|
430 continue |
|
431 columnset.add(columns) |
425 rql, args = _uniquetogether2rql(eschema, columns) |
432 rql, args = _uniquetogether2rql(eschema, columns) |
426 args['name'] = y2sql.unique_index_name(eschema, columns) |
433 args['name'] = y2sql.unique_index_name(eschema, columns) |
427 rql_args.append((rql, args)) |
434 rql_args.append((rql, args)) |
428 return rql_args |
435 return rql_args |
429 |
436 |