Exemplo n.º 1
0
 def having(self, *args):
     length = args.__len__()
     if length == 2:
         self.__having__ = ' having {} {} {}'.format(args[0], '=',  expr.format_string(args[1]))
     elif length == 3:
         self.__having__ = ' having {} {} {}'.format(args[0], args[1], expr.format_string(args[2]))
     else:
         raise Exception('invalid parameter in having function')
     return self
Exemplo n.º 2
0
 def _compile_tuple(self, data):
     if data[1] in ['in', 'not in']:
         return self._compile_in((data[0], data[1], data[2]))
     elif data[1] in ['between', 'not between']:
         return self._compile_between((data[0], data[1], data[2]))
     return '{} {} {}'.format(expr.format_column(data[0], self.__model__),
                              data[1], expr.format_string(data[2]))
Exemplo n.º 3
0
 def _compile_keyvalue(self, key, value):
     return '{}={}'.format(expr.format_column(key, self.__model__),
                           expr.format_string(value))
Exemplo n.º 4
0
 def _compile_between(self, data):
     if not (len(data) == 3 and len(data[2]) == 2):
         raise Exception('between param invalid')
     return '{} {} {} and {}'.format(
         expr.format_column(data[0], self.__model__), data[1],
         expr.format_string(data[2][0]), expr.format_string(data[2][1]))
Exemplo n.º 5
0
 def _compile_dict(self, data):
     return [
         '{}={}'.format(expr.format_column(index, self.__model__),
                        expr.format_string(value))
         for index, value in data.items()
     ]