def test_binary(self): self.createTable("phoenixdb_test_tbl1", "CREATE TABLE {table} (id integer primary key, val binary(2))") with self.conn.cursor() as cursor: cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (1, 'ab')") cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (2, ?)", [phoenixdb.Binary(b'ab')]) cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (3, '\x01\x00')") cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (4, ?)", [phoenixdb.Binary(b'\x01\x00')]) cursor.execute("SELECT id, val FROM phoenixdb_test_tbl1 ORDER BY id") self.assertEqual(cursor.fetchall(), [ [1, b'ab'], [2, b'ab'], [3, b'\x01\x00'], [4, b'\x01\x00'], ])
def test_binary_all_bytes(self): self.createTable("phoenixdb_test_tbl1", "CREATE TABLE {table} (id integer primary key, val binary(256))") with self.conn.cursor() as cursor: if sys.version_info[0] < 3: value = ''.join(map(chr, range(256))) else: value = bytes(range(256)) cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (1, ?)", [phoenixdb.Binary(value)]) cursor.execute("SELECT id, val FROM phoenixdb_test_tbl1 ORDER BY id") self.assertEqual(cursor.fetchall(), [[1, value]])
def test_binary(self): if self.conn._client.version < AVATICA_1_4_0: raise unittest.SkipTest( 'binary strings only work with Calcite >= 1.4.0') self.createTable("phoenixdb_test_tbl1", "id integer primary key, val binary(2)") with self.conn.cursor() as cursor: cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (1, 'ab')") cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (2, ?)", [phoenixdb.Binary('ab')]) cursor.execute( "UPSERT INTO phoenixdb_test_tbl1 VALUES (3, '\x01\x00')") cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (4, ?)", [phoenixdb.Binary('\x01\x00')]) cursor.execute( "SELECT id, val FROM phoenixdb_test_tbl1 ORDER BY id") self.assertEqual(cursor.fetchall(), [ [1, 'ab'], [2, 'ab'], [3, '\x01\x00'], [4, '\x01\x00'], ])
def test_binary_all_bytes(self): if self.conn._client.version < AVATICA_1_4_0: raise unittest.SkipTest( 'binary strings only work with Calcite >= 1.4.0') self.createTable("phoenixdb_test_tbl1", "id integer primary key, val binary(256)") with self.conn.cursor() as cursor: value = '' for i in range(256): value += chr(i) cursor.execute("UPSERT INTO phoenixdb_test_tbl1 VALUES (1, ?)", [phoenixdb.Binary(value)]) cursor.execute( "SELECT id, val FROM phoenixdb_test_tbl1 ORDER BY id") self.assertEqual(cursor.fetchall(), [[1, value]])