コード例 #1
0
ファイル: keyrange_test.py プロジェクト: nangong92t/go_src
 def test_keyranges_for_tasks(self):
   for global_shard_count in (16,32,64):
     num_tasks = global_shard_count
     stm = vtrouting.create_parallel_task_keyrange_map(num_tasks, global_shard_count)
     self.assertEqual(len(stm.keyrange_list), num_tasks)
     num_tasks = global_shard_count*2
     stm = vtrouting.create_parallel_task_keyrange_map(num_tasks, global_shard_count)
     self.assertEqual(len(stm.keyrange_list), num_tasks)
     num_tasks = global_shard_count*8
     stm = vtrouting.create_parallel_task_keyrange_map(num_tasks, global_shard_count)
     self.assertEqual(len(stm.keyrange_list), num_tasks)
コード例 #2
0
 def test_keyranges_for_tasks(self):
     for global_shard_count in (16, 32, 64):
         num_tasks = global_shard_count
         stm = vtrouting.create_parallel_task_keyrange_map(
             num_tasks, global_shard_count)
         self.assertEqual(len(stm.keyrange_list), num_tasks)
         num_tasks = global_shard_count * 2
         stm = vtrouting.create_parallel_task_keyrange_map(
             num_tasks, global_shard_count)
         self.assertEqual(len(stm.keyrange_list), num_tasks)
         num_tasks = global_shard_count * 8
         stm = vtrouting.create_parallel_task_keyrange_map(
             num_tasks, global_shard_count)
         self.assertEqual(len(stm.keyrange_list), num_tasks)
コード例 #3
0
 def test_bind_values_for_unsharded_keyspace(self):
     stm = vtrouting.create_parallel_task_keyrange_map(1, 1)
     self.assertEqual(len(stm.keyrange_list), 1)
     where_clause, bind_vars = vtrouting._create_where_clause_for_keyrange(
         stm.keyrange_list[0])
     self.assertEqual(where_clause, '')
     self.assertEqual(bind_vars, {})
コード例 #4
0
 def test_bind_values_for_str_keyspace(self):
     stm = vtrouting.create_parallel_task_keyrange_map(16, 16)
     for _, kr in enumerate(stm.keyrange_list):
         kr_parts = kr.split('-')
         where_clause, bind_vars = vtrouting._create_where_clause_for_keyrange(
             kr, keyspace_col_type=keyrange_constants.KIT_BYTES)
         if len(bind_vars.keys()) == 1:
             if kr_parts[0] == '':
                 self.assertNotEqual(where_clause.find('<'), -1)
             else:
                 self.assertNotEqual(where_clause.find('>='), -1)
         else:
             self.assertNotEqual(where_clause.find('>='), -1)
             self.assertNotEqual(where_clause.find('>='), -1)
             self.assertNotEqual(where_clause.find('AND'), -1)
         kid_list = str_shard_kid_map[kr]
         for keyspace_id in kid_list:
             if len(bind_vars.keys()) == 1:
                 if kr_parts[0] == '':
                     self.assertLess(keyspace_id.encode('hex'),
                                     bind_vars['keyspace_id0'])
                 else:
                     self.assertGreaterEqual(keyspace_id.encode('hex'),
                                             bind_vars['keyspace_id0'])
             else:
                 self.assertGreaterEqual(keyspace_id.encode('hex'),
                                         bind_vars['keyspace_id0'])
                 self.assertLess(keyspace_id.encode('hex'),
                                 bind_vars['keyspace_id1'])
コード例 #5
0
 def test_bind_values_for_str_keyspace(self):
     stm = vtrouting.create_parallel_task_keyrange_map(16, 16)
     for _, kr in enumerate(stm.keyrange_list):
         kr_parts = kr.split("-")
         where_clause, bind_vars = vtrouting._create_where_clause_for_keyrange(
             kr, keyspace_col_type=keyrange_constants.KIT_BYTES
         )
         if len(bind_vars.keys()) == 1:
             if kr_parts[0]:
                 self.assertNotEqual(where_clause.find(">="), -1)
             else:
                 self.assertNotEqual(where_clause.find("<"), -1)
         else:
             self.assertNotEqual(where_clause.find(">="), -1)
             self.assertNotEqual(where_clause.find(">="), -1)
             self.assertNotEqual(where_clause.find("AND"), -1)
         kid_list = str_shard_kid_map[kr]
         for keyspace_id in kid_list:
             if len(bind_vars.keys()) == 1:
                 if kr_parts[0]:
                     self.assertGreaterEqual(keyspace_id.encode("hex"), bind_vars["keyspace_id0"])
                 else:
                     self.assertLess(keyspace_id.encode("hex"), bind_vars["keyspace_id0"])
             else:
                 self.assertGreaterEqual(keyspace_id.encode("hex"), bind_vars["keyspace_id0"])
                 self.assertLess(keyspace_id.encode("hex"), bind_vars["keyspace_id1"])
コード例 #6
0
ファイル: keyrange_test.py プロジェクト: wyfish/vitess
 def test_bind_values_for_int_keyspace(self):
     stm = vtrouting.create_parallel_task_keyrange_map(16, 16)
     for kr in stm.keyrange_list:
         kr_parts = kr.split('-')
         where_clause, bind_vars = vtrouting._create_where_clause_for_keyrange(
             kr)
         if len(bind_vars.keys()) == 1:
             if kr_parts[0]:
                 self.assertNotEqual(where_clause.find('>='), -1)
             else:
                 self.assertNotEqual(where_clause.find('<'), -1)
         else:
             self.assertNotEqual(where_clause.find('>='), -1)
             self.assertNotEqual(where_clause.find('AND'), -1)
         kid_list = int_shard_kid_map[kr]
         for keyspace_id in kid_list:
             if len(bind_vars.keys()) == 1:
                 if kr_parts[0]:
                     self.assertGreaterEqual(keyspace_id,
                                             bind_vars['keyspace_id0'])
                 else:
                     self.assertLess(keyspace_id, bind_vars['keyspace_id0'])
             else:
                 self.assertGreaterEqual(keyspace_id,
                                         bind_vars['keyspace_id0'])
                 self.assertLess(keyspace_id, bind_vars['keyspace_id1'])
コード例 #7
0
ファイル: keyrange_test.py プロジェクト: hadmagic/vitess
 def test_bind_values_for_unsharded_keyspace(self):
   stm = vtrouting.create_parallel_task_keyrange_map(1, 1)
   self.assertEqual(len(stm.keyrange_list), 1)
   where_clause, bind_vars = vtrouting._create_where_clause_for_keyrange(
       stm.keyrange_list[0])
   self.assertEqual(where_clause, '')
   self.assertEqual(bind_vars, {})
コード例 #8
0
ファイル: keyrange_test.py プロジェクト: alainjobart/vitess
 def test_bind_values_for_str_keyspace(self):
   stm = vtrouting.create_parallel_task_keyrange_map(16, 16)
   for kr in stm.keyrange_list:
     kr_parts = kr.split('-')
     where_clause, bind_vars = vtrouting._create_where_clause_for_keyrange(
         kr, keyspace_col_type=keyrange_constants.KIT_BYTES)
     if len(bind_vars.keys()) == 1:
       if kr_parts[0]:
         self.assertNotEqual(where_clause.find('>='), -1)
       else:
         self.assertNotEqual(where_clause.find('<'), -1)
     else:
       self.assertNotEqual(where_clause.find('>='), -1)
       self.assertNotEqual(where_clause.find('>='), -1)
       self.assertNotEqual(where_clause.find('AND'), -1)
     kid_list = str_shard_kid_map[kr]
     for keyspace_id in kid_list:
       if len(bind_vars.keys()) == 1:
         if kr_parts[0]:
           self.assertGreaterEqual(
               keyspace_id.encode('hex'), bind_vars['keyspace_id0'])
         else:
           self.assertLess(
               keyspace_id.encode('hex'), bind_vars['keyspace_id0'])
       else:
         self.assertGreaterEqual(
             keyspace_id.encode('hex'), bind_vars['keyspace_id0'])
         self.assertLess(keyspace_id.encode('hex'), bind_vars['keyspace_id1'])
コード例 #9
0
ファイル: keyrange_test.py プロジェクト: hadmagic/vitess
 def test_bind_values_for_int_keyspace(self):
   stm = vtrouting.create_parallel_task_keyrange_map(16, 16)
   for _, kr in enumerate(stm.keyrange_list):
     kr_parts = kr.split('-')
     where_clause, bind_vars = vtrouting._create_where_clause_for_keyrange(kr)
     if len(bind_vars.keys()) == 1:
       if kr_parts[0] == '':
         self.assertNotEqual(where_clause.find('<'), -1)
       else:
         self.assertNotEqual(where_clause.find('>='), -1)
     else:
       self.assertNotEqual(where_clause.find('>='), -1)
       self.assertNotEqual(where_clause.find('>='), -1)
       self.assertNotEqual(where_clause.find('AND'), -1)
     kid_list = int_shard_kid_map[kr]
     for keyspace_id in kid_list:
       if len(bind_vars.keys()) == 1:
         if kr_parts[0] == '':
           self.assertLess(keyspace_id, bind_vars['keyspace_id0'])
         else:
           self.assertGreaterEqual(keyspace_id, bind_vars['keyspace_id0'])
       else:
         self.assertGreaterEqual(keyspace_id, bind_vars['keyspace_id0'])
         self.assertLess(keyspace_id, bind_vars['keyspace_id1'])
コード例 #10
0
 def test_keyranges_for_tasks(self):
     for shard_count in (16, 32, 64):
         for num_tasks in (shard_count, shard_count * 2, shard_count * 4):
             stm = vtrouting.create_parallel_task_keyrange_map(
                 num_tasks, shard_count)
             self.assertEqual(len(stm.keyrange_list), num_tasks)
コード例 #11
0
 def test_incorrect_tasks(self):
     global_shard_count = 16
     with self.assertRaises(dbexceptions.ProgrammingError):
         vtrouting.create_parallel_task_keyrange_map(4, global_shard_count)
コード例 #12
0
 def test_keyranges_for_tasks(self):
     for shard_count in (16, 32, 64):
         for num_tasks in (shard_count, shard_count * 2, shard_count * 4):
             stm = vtrouting.create_parallel_task_keyrange_map(num_tasks, shard_count)
             self.assertEqual(len(stm.keyrange_list), num_tasks)
コード例 #13
0
 def test_incorrect_tasks(self):
     global_shard_count = 16
     with self.assertRaises(dbexceptions.ProgrammingError):
         vtrouting.create_parallel_task_keyrange_map(4, global_shard_count)