Revision 2087
Added by Aaron Marcuse-Kubitza about 12 years ago
sql.py | ||
---|---|---|
589 | 589 |
if not create: raise |
590 | 590 |
return put(db, table, row, pkey, row_ct_ref) # insert new row |
591 | 591 |
|
592 |
def put_table(db, out_table, out_cols, in_table, in_cols, pkey, row_ct_ref=None,
|
|
593 |
table_is_esc=False): |
|
592 |
def put_table(db, out_table, out_cols, in_tables, in_cols, pkey,
|
|
593 |
row_ct_ref=None, table_is_esc=False):
|
|
594 | 594 |
'''Recovers from errors. |
595 | 595 |
Only works under PostgreSQL (uses INSERT RETURNING). |
596 | 596 |
@return Name of the table where the pkeys (from INSERT RETURNING) are made |
... | ... | |
599 | 599 |
pkeys_table = clean_name(out_table)+'_pkeys' |
600 | 600 |
def insert_(): |
601 | 601 |
return insert_select(db, out_table, out_cols, |
602 |
*mk_select(db, in_table, in_cols, table_is_esc=table_is_esc), |
|
602 |
*mk_select(db, in_tables[0], in_cols, table_is_esc=table_is_esc),
|
|
603 | 603 |
returning=pkey, into=pkeys_table, recover=True, |
604 | 604 |
table_is_esc=table_is_esc) |
605 | 605 |
try: |
Also available in: Unified diff
sql.py: put_table(): Take multiple in_tables. Initial implementation just used the first in_table.