Revision 3051
Added by Aaron Marcuse-Kubitza over 12 years ago
lib/sql.py | ||
---|---|---|
828 | 828 |
into=into, add_indexes_=True) |
829 | 829 |
return dict(items) |
830 | 830 |
|
831 |
def mk_track_data_error(db, errors_table, cols, value, error_code, error): |
|
832 |
assert cols != () |
|
833 |
|
|
834 |
cols = map(sql_gen.to_name_only_col, cols) |
|
835 |
|
|
836 |
columns_cols = ['column'] |
|
837 |
columns = sql_gen.NamedValues('columns', columns_cols, |
|
838 |
[[c.name] for c in cols]) |
|
839 |
values_cols = ['value', 'error_code', 'error'] |
|
840 |
values = sql_gen.NamedValues('values', values_cols, |
|
841 |
[value, error_code, error]) |
|
842 |
|
|
843 |
select_cols = columns_cols+values_cols |
|
844 |
name_only_cols = map(sql_gen.to_name_only_col, select_cols) |
|
845 |
errors_table = sql_gen.NamedTable('errors', errors_table) |
|
846 |
joins = [columns, sql_gen.Join(values, type_='CROSS'), |
|
847 |
sql_gen.Join(errors_table, dict(zip(name_only_cols, select_cols)), |
|
848 |
sql_gen.filter_out)] |
|
849 |
|
|
850 |
return mk_insert_select(db, errors_table, name_only_cols, |
|
851 |
mk_select(db, joins, select_cols, order_by=None)) |
|
852 |
|
|
853 | 831 |
def track_data_error(db, errors_table, cols, value, error_code, error): |
854 | 832 |
''' |
855 | 833 |
@param errors_table If None, does nothing. |
Also available in: Unified diff
sql.py: Removed no longer needed mk_track_data_error()