예제 #1
0
 def setUp(self):
     TestBase.set_up(self)
     self.shardkeys = [0, 1]
     ids = [0, 1, 2, 3, 4, 5]
     write_multiple_request = WriteMultipleRequest()
     for sk in self.shardkeys:
         for i in ids:
             row = {'fld_sid': sk, 'fld_id': i, 'fld_long': 2147483648,
                    'fld_float': 3.1414999961853027, 'fld_double': 3.1415,
                    'fld_bool': True,
                    'fld_str': '{"name": u1, "phone": null}',
                    'fld_bin': bytearray(pack('>i', 4)),
                    'fld_time': datetime.now(), 'fld_num': Decimal(5),
                    'fld_json': {'a': '1', 'b': None, 'c': '3'},
                    'fld_arr': ['a', 'b', 'c'],
                    'fld_map': {'a': '1', 'b': '2', 'c': '3'},
                    'fld_rec': {'fld_id': 1, 'fld_bool': False,
                                'fld_str': None}}
             write_multiple_request.add(
                 PutRequest().set_value(row).set_table_name(table_name),
                 True)
         self.handle.write_multiple(write_multiple_request)
         write_multiple_request.clear()
     self.key = {'fld_sid': 1}
     self.multi_delete_request = MultiDeleteRequest().set_timeout(timeout)
     prep_request = PrepareRequest().set_statement(
         'SELECT fld_sid, fld_id FROM ' + table_name)
     prep_result = self.handle.prepare(prep_request)
     self.query_request = QueryRequest().set_prepared_statement(prep_result)
예제 #2
0
 def setUp(self):
     TestBase.set_up(self)
     self.handle_config = get_handle_config(tenant_id)
     shardkeys = [0, 1]
     ids = [0, 1, 2, 3, 4, 5]
     write_multiple_request = WriteMultipleRequest()
     for sk in shardkeys:
         for i in ids:
             row = {
                 'fld_sid': sk,
                 'fld_id': i,
                 'fld_long': 2147483648,
                 'fld_float': 3.1414999961853027,
                 'fld_double': 3.1415,
                 'fld_bool': True,
                 'fld_str': '{"name": u1, "phone": null}',
                 'fld_bin': bytearray(pack('>i', 4)),
                 'fld_time': datetime.now(),
                 'fld_num': Decimal(5),
                 'fld_json': {
                     'a': '1',
                     'b': None,
                     'c': '3'
                 },
                 'fld_arr': ['a', 'b', 'c'],
                 'fld_map': {
                     'a': '1',
                     'b': '2',
                     'c': '3'
                 },
                 'fld_rec': {
                     'fld_id': 1,
                     'fld_bool': False,
                     'fld_str': None
                 }
             }
             write_multiple_request.add(
                 PutRequest().set_value(row).set_table_name(table_name),
                 True)
         self.handle.write_multiple(write_multiple_request)
         write_multiple_request.clear()
     prepare_statement_update = (
         'DECLARE $fld_sid INTEGER; $fld_id INTEGER; UPDATE ' + table_name +
         ' u SET u.fld_long = u.fld_long + 1 WHERE fld_sid = $fld_sid ' +
         'AND fld_id = $fld_id')
     prepare_request_update = PrepareRequest().set_statement(
         prepare_statement_update)
     self.prepare_result_update = self.handle.prepare(
         prepare_request_update)
     prepare_statement_select = (
         'DECLARE $fld_long LONG; SELECT fld_sid, fld_id, fld_long FROM ' +
         table_name + ' WHERE fld_long = $fld_long')
     prepare_request_select = PrepareRequest().set_statement(
         prepare_statement_select)
     self.prepare_result_select = self.handle.prepare(
         prepare_request_select)
     self.query_request = QueryRequest().set_timeout(timeout)
     self.get_request = GetRequest().set_table_name(table_name)
예제 #3
0
 def setUp(self):
     TestBase.set_up(self)
     self.row = {'fld_id': 1, 'fld_long': 2147483648,
                 'fld_float': 3.1414999961853027, 'fld_double': 3.1415,
                 'fld_bool': True, 'fld_str': '{"name": u1, "phone": null}',
                 'fld_bin': bytearray(pack('>i', 4)),
                 'fld_time': datetime.now(), 'fld_num': Decimal(5),
                 'fld_json': {'a': '1', 'b': None, 'c': '3'},
                 'fld_arr': ['a', 'b', 'c'],
                 'fld_map': {'a': '1', 'b': '2', 'c': '3'},
                 'fld_rec': {'fld_id': 1, 'fld_bool': False,
                             'fld_str': None}}
     self.key = {'fld_id': 1}
     self.put_request = PutRequest().set_value(self.row).set_table_name(
         table_name)
     self.version = self.handle.put(self.put_request).get_version()
     self.get_request = GetRequest().set_key(self.key).set_table_name(
         table_name)
     self.delete_request = DeleteRequest().set_key(self.key).set_table_name(
         table_name).set_timeout(timeout)
예제 #4
0
    def setUp(self):
        TestBase.set_up(self)
        self.handle_config = get_handle_config(tenant_id)
        index_name = 'idx_' + table_name
        self.create_tb_statement = (
            'CREATE TABLE ' + table_name + '(fld_id INTEGER, fld_long LONG, \
fld_float FLOAT, fld_double DOUBLE, fld_bool BOOLEAN, fld_str STRING, \
fld_bin BINARY, fld_time TIMESTAMP(4), fld_num NUMBER, fld_json JSON, \
fld_arr ARRAY(STRING), fld_map MAP(STRING), \
fld_rec RECORD(fld_id LONG, fld_bool BOOLEAN, fld_str STRING), \
PRIMARY KEY(fld_id)) USING TTL 30 DAYS')
        self.create_idx_statement = (
            'CREATE INDEX ' + index_name + ' ON ' + table_name +
            '(fld_str, fld_double)')
        self.alter_fld_statement = (
            'ALTER TABLE ' + table_name + '(DROP fld_num)')
        self.alter_ttl_statement = (
            'ALTER TABLE ' + table_name + ' USING TTL 16 HOURS')
        self.drop_idx_statement = (
            'DROP INDEX ' + index_name + ' ON ' + table_name)
        self.drop_tb_statement = ('DROP TABLE IF EXISTS ' + table_name)
        self.table_request = TableRequest()
        self.table_limits = TableLimits(5000, 5000, 50)
예제 #5
0
 def setUp(self):
     TestBase.set_up(self)
     self.row = {
         'fld_id': 1,
         'fld_long': 2147483648,
         'fld_float': 3.1414999961853027,
         'fld_double': 3.1415,
         'fld_bool': True,
         'fld_str': '{"name": u1, "phone": null}',
         'fld_bin': bytearray(pack('>i', 4)),
         'fld_time': datetime.now(),
         'fld_num': Decimal(5),
         'fld_json': {
             'a': '1',
             'b': None,
             'c': '3'
         },
         'fld_arr': ['a', 'b', 'c'],
         'fld_map': {
             'a': '1',
             'b': '2',
             'c': '3'
         },
         'fld_rec': {
             'fld_id': 1,
             'fld_bool': False,
             'fld_str': None
         }
     }
     self.key = {'fld_id': 1}
     self.put_request = PutRequest().set_value(
         self.row).set_table_name(table_name).set_timeout(timeout)
     self.get_request = GetRequest().set_key(
         self.key).set_table_name(table_name)
     self.ttl = TimeToLive.of_hours(24)
     self.hour_in_milliseconds = 60 * 60 * 1000
     self.day_in_milliseconds = 24 * 60 * 60 * 1000
예제 #6
0
 def setUp(self):
     TestBase.set_up(self)
     self.table_usage_request = TableUsageRequest().set_timeout(timeout)
예제 #7
0
 def setUp(self):
     TestBase.set_up(self)
     self.key = {'fld_sid': 1, 'fld_id': 1}
     self.get_request = GetRequest().set_key(
         self.key).set_table_name(table_name).set_timeout(timeout)
예제 #8
0
 def setUp(self):
     TestBase.set_up(self)
     self.shardkeys = [0, 1]
     self.ids = [0, 1, 2, 3, 4, 5]
     self.rows = list()
     self.new_rows = list()
     self.versions = list()
     self.requests = list()
     self.illegal_requests = list()
     ttl = TimeToLive.of_days(16)
     for sk in self.shardkeys:
         self.rows.append(list())
         self.new_rows.append(list())
         self.versions.append(list())
         for i in self.ids:
             row = {'fld_sid': sk, 'fld_id': i, 'fld_long': 2147483648,
                    'fld_float': 3.1414999961853027, 'fld_double': 3.1415,
                    'fld_bool': True,
                    'fld_str': '{"name": u1, "phone": null}',
                    'fld_bin': bytearray(pack('>i', 4)),
                    'fld_time': datetime.now(), 'fld_num': Decimal(5),
                    'fld_json': {'a': '1', 'b': None, 'c': '3'},
                    'fld_arr': ['a', 'b', 'c'],
                    'fld_map': {'a': '1', 'b': '2', 'c': '3'},
                    'fld_rec': {'fld_id': 1, 'fld_bool': False,
                                'fld_str': None}}
             new_row = deepcopy(row)
             new_row.update({'fld_long': 2147483649})
             self.rows[sk].append(row)
             self.new_rows[sk].append(new_row)
             put_request = PutRequest().set_value(row).set_table_name(
                 table_name).set_ttl(ttl)
             self.versions[sk].append(
                 self.handle.put(put_request).get_version())
     self.old_expect_expiration = ttl.to_expiration_time(
         int(round(time() * 1000)))
     self.ttl = TimeToLive.of_hours(1)
     self.ops_sk = 0
     illegal_sk = 1
     self.requests.append(PutRequest().set_value(
         self.new_rows[self.ops_sk][0]).set_table_name(table_name).set_ttl(
         self.ttl).set_return_row(True))
     self.requests.append(PutRequest().set_value(
         self.new_rows[self.ops_sk][1]).set_table_name(
         table_name).set_option(PutOption.IF_ABSENT).set_ttl(
         self.ttl).set_return_row(True))
     self.requests.append(PutRequest().set_value(
         self.new_rows[self.ops_sk][2]).set_use_table_default_ttl(
         True).set_table_name(table_name).set_option(
         PutOption.IF_PRESENT).set_return_row(True))
     self.requests.append(PutRequest().set_value(
         self.new_rows[self.ops_sk][3]).set_table_name(
         table_name).set_option(PutOption.IF_VERSION).set_ttl(
         self.ttl).set_match_version(
         self.versions[self.ops_sk][3]).set_return_row(True))
     self.requests.append(DeleteRequest().set_key(
         {'fld_sid': self.ops_sk, 'fld_id': 4}).set_table_name(
         table_name).set_return_row(True))
     self.requests.append(DeleteRequest().set_key(
         {'fld_sid': self.ops_sk, 'fld_id': 5}).set_table_name(
             table_name).set_match_version(
             self.versions[self.ops_sk][0]).set_return_row(True))
     self.illegal_requests.append(DeleteRequest().set_key(
         {'fld_sid': self.ops_sk, 'fld_id': 0}).set_table_name(
         'IllegalUsers'))
     self.illegal_requests.append(DeleteRequest().set_key(
         {'fld_sid': illegal_sk, 'fld_id': 0}).set_table_name(table_name))
     self.write_multiple_request = WriteMultipleRequest().set_timeout(
         timeout)
     self.get_request = GetRequest().set_table_name(table_name)
     self.hour_in_milliseconds = 60 * 60 * 1000
     self.day_in_milliseconds = 24 * 60 * 60 * 1000
예제 #9
0
 def setUp(self):
     TestBase.set_up(self)
     self.prepare_statement = ('SELECT fld_id FROM ' + table_name)
     self.prepare_request = PrepareRequest().set_timeout(timeout)
예제 #10
0
 def setUp(self):
     TestBase.set_up(self)
     self.get_indexes_request = GetIndexesRequest().set_timeout(timeout)
예제 #11
0
 def setUp(self):
     TestBase.set_up(self)
     self.get_table_request = GetTableRequest().set_timeout(timeout)