INNER CODE UNIT · Python
set_sql_compare_mode
beader/tianchi_nl2sql · code/nl2sql/utils/__init__.py:75
def set_sql_compare_mode(mode):
available_modes = {'all', 'agg', 'no_val', 'conn_and_agg'}
if mode not in available_modes:
raise ValueError('mode should be one of {}'.format(available_modes))
cmp_func = getattr(SQL, 'equal_{}_mode'.format(mode))
SQL.__eq__ = cmp_func
class SQL:
op_sql_dict = {0: ">", 1: "<", 2: "==", 3: "!="}
agg_sql_dict = {0: "", 1: "AVG", 2: "MAX", 3: "MIN", 4: "COUNT", 5: "SUM"}
conn_sql_dict = {0: "", 1: "and", 2: "or"}
def __init__(self, cond_conn_op: int, agg: list, sel: list, conds: list, **kwargs):
self.cond_conn_op = cond_conn_op
self.sel = []
self.agg = []
sel_agg_pairs = zip(sel, agg)