Project

General

Profile

« Previous | Next » 

Revision 2087

sql.py: put_table(): Take multiple in_tables. Initial implementation just used the first in_table.

View differences:

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