Project

General

Profile

« Previous | Next » 

Revision 2245

sql.py: put_table(): Print debug messages about how exceptions are being handled

View differences:

sql.py
809 809
            order_by=None, limit=limit, start=start, table_is_esc=table_is_esc,
810 810
            default_table=in_tables0)
811 811
    
812
    def log_ignore(in_col, value):
813
        db.log_debug('Ignoring rows with '+in_col+' = '+value)
814
    
812 815
    # Do inserts and selects
813 816
    out_pkeys_ref = ['out_pkeys_'+temp_suffix]
814 817
    while True:
......
833 836
            break # insert successful
834 837
        except DuplicateKeyException, e:
835 838
            join_cols = util.dict_subset_right_join(mapping, e.cols)
839
            db.log_debug('Ignoring existing rows, comparing on '+str(join_cols))
836 840
            select_joins = insert_joins + [(out_table, join_cols)]
837 841
            
838 842
            # Get pkeys of already existing rows
......
856 860
            out_col, = e.cols
857 861
            try: in_col = mapping[out_col]
858 862
            except KeyError: # no mapping for missing col, so every row invalid
863
                db.log_debug('Missing mapping for '+out_col)
859 864
                run_query_into_pkeys(*mk_select(db, insert_joins,
860 865
                    [in_pkey_col, sql_gen.NamedCode(out_pkey, None)],
861 866
                    order_by=None, start=0, table_is_esc=table_is_esc))
862 867
                break
863 868
            else:
869
                log_ignore(in_col, 'NULL')
864 870
                conds[in_col] = sql_gen.CompareCond(None, '!=')
865 871
                # rerun loop with additional constraints
866 872
        except FunctionValueException, e:
867 873
            assert e.name == sql_gen.unescape_table(out_table)
868 874
            out_col = 'value' # assume function param was named "value"
869 875
            in_col = mapping[out_col]
870
            conds[in_col] = sql_gen.CompareCond(e.value, '!=')
876
            value = e.value
877
            log_ignore(in_col, value)
878
            conds[in_col] = sql_gen.CompareCond(value, '!=')
871 879
            # rerun loop with additional constraints
872 880
    
873 881
    return (pkeys_ref[0], out_pkey)

Also available in: Unified diff