示例#1
0
 def test_no_where_clause(self):
   sql, bind_vars = sql_builder.select_by_columns_query(
       select_column_list=['col_a', sql_builder.Min('col_b')],
       table_name='my_table', group_by='col_a')
   self.assertEqual(
       sql, 'SELECT col_a, MIN(col_b) FROM my_table GROUP BY col_a')
   self.assertEqual(bind_vars, {})
示例#2
0
 def test_simple(self):
   sql, bind_vars = sql_builder.select_by_columns_query(
       select_column_list=['col_a', sql_builder.Min('col_b')],
       table_name='my_table',
       column_value_pairs=[('col_a', [1, 2, 3])],
       order_by='col_b ASC', group_by='col_a', limit=10)
   self.assertEqual(
       sql,
       'SELECT col_a, MIN(col_b) FROM my_table '
       'WHERE col_a IN (%(col_a_1)s, %(col_a_2)s, %(col_a_3)s) '
       'GROUP BY col_a '
       'ORDER BY col_b ASC LIMIT %(limit_row_count)s')
   self.assertEqual(
       bind_vars,
       dict(col_a_1=1, col_a_2=2, col_a_3=3, limit_row_count=10))
示例#3
0
 def test_vt_routing(self):
   key_range = '80-C0'
   routing_sql, routing_bind_vars = (
       vtrouting._create_where_clause_for_keyrange(key_range))
   vt_routing_info = vtrouting.VTRoutingInfo(
       key_range, routing_sql, routing_bind_vars)
   sql, bind_vars = sql_builder.select_by_columns_query(
       select_column_list=['col_a', sql_builder.Min('col_b')],
       table_name='my_table',
       column_value_pairs=[('col_a', [1, 2, 3])],
       vt_routing_info=vt_routing_info)
   self.assertEqual(
       sql,
       'SELECT col_a, MIN(col_b) FROM my_table '
       'WHERE col_a IN (%(col_a_1)s, %(col_a_2)s, %(col_a_3)s) '
       'AND keyspace_id >= %(keyspace_id0)s '
       'AND keyspace_id < %(keyspace_id1)s')
   self.assertEqual(
       bind_vars,
       dict(col_a_1=1, col_a_2=2, col_a_3=3,
            keyspace_id0=(0x80 << 56), keyspace_id1=(0xC0 << 56)))
示例#4
0
 def test_min(self):
     self.assertEqual(
         sql_builder.Min('col_a').select_sql(alias=None), 'MIN(col_a)')
     self.assertEqual(
         sql_builder.Min('col_a').select_sql(alias='mt'), 'MIN(mt.col_a)')
示例#5
0
 def test_two_exprs(self):
     self.assertEqual(
         sql_builder.colstr(
             select_columns=[sql_builder.Count(),
                             sql_builder.Min('col_a')]),
         'COUNT(1), MIN(col_a)')