def NOT_IN(builder, expr1, x): if not x: return '1 = 1' if len(x) >= 1 and x[0] == 'SELECT': return builder(expr1), ' NOT IN ', builder(x) op = ' NOT IN (VALUES ' if expr1[0] == 'ROW' else ' NOT IN (' expr_list = [builder(expr) for expr in x] return builder(expr1), op, join(', ', expr_list), ')'
def MAX(builder, *args): if len(args) == 0: assert False # pragma: no cover elif len(args) == 1: fname = 'MAX' else: fname = 'max' return fname, '(', join(', ', imap(builder, args)), ')'
def MAKE_ARRAY(builder, *items): return 'ARRAY[', join(', ', (builder(item) for item in items)), ']'
def CONCAT(builder, *args): return 'concat(', join(', ', imap(builder, args)), ')'
def MAKE_ARRAY(builder, *items): return 'py_make_array(', join(', ', (builder(item) for item in items)), ')'
def MIN(builder, *args): if len(args) == 0: assert False elif len(args) == 1: fname = 'MIN' else: fname = 'min' return fname, '(', join(', ', map(builder, args)), ')'
def MAX(builder, *args): if len(args) == 0: assert False elif len(args) == 1: fname = 'MAX' else: fname = 'max' return fname, '(', join(', ', map(builder, args)), ')'
def CONCAT(builder, *args): return 'concat(', join(', ', map(builder, args)), ')'
def MIN(builder, *args): if len(args) == 0: assert False # pragma: no cover elif len(args) == 1: fname = 'MIN' else: fname = 'min' return fname, '(', join(', ', imap(builder, args)), ')'