Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions src/test/java/com/alipay/oceanbase/hbase/OHConnectionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -1050,6 +1050,39 @@ public void testKeyPartitionWithRegionLocator() throws IOException {
Assert.assertEquals(startKeys[0], endKeys[0]);
Assert.assertEquals(startKeys[0], HConstants.EMPTY_BYTE_ARRAY);
}

@Test
public void testRangeKeySecondaryPartitionWithRegionLocator() throws IOException {
final String tableNameStr = "test_secondary_range_key";
final TableName tableName = TableName.valueOf(tableNameStr);
final Configuration conf = ObHTableTestUtil.newConfiguration();
connection = ConnectionFactory.createConnection(conf);
hTable = connection.getTable(tableName);
RegionLocator locator = connection.getRegionLocator(tableName);
byte[][] startKeys = locator.getStartKeys();
byte[][] endKeys = locator.getEndKeys();
Assert.assertEquals("Should have 1 region", 1, startKeys.length);
Assert.assertEquals("Should have 1 region", 1, endKeys.length);
Assert.assertEquals(startKeys[0], endKeys[0]);
Assert.assertEquals(startKeys[0], HConstants.EMPTY_BYTE_ARRAY);
}

@Test
public void testKeyRangeSecondaryPartitionWithRegionLocator() throws IOException {
final String tableNameStr = "test_secondary_key_range";
final TableName tableName = TableName.valueOf(tableNameStr);
final Configuration conf = ObHTableTestUtil.newConfiguration();
connection = ConnectionFactory.createConnection(conf);
hTable = connection.getTable(tableName);
RegionLocator locator = connection.getRegionLocator(tableName);
byte[][] startKeys = locator.getStartKeys();
byte[][] endKeys = locator.getEndKeys();
Assert.assertEquals("Should have 1 region", 1, startKeys.length);
Assert.assertEquals("Should have 1 region", 1, endKeys.length);
Assert.assertEquals(startKeys[0], endKeys[0]);
Assert.assertEquals(startKeys[0], HConstants.EMPTY_BYTE_ARRAY);
}


@Test
public void testBufferedMutatorPeriodicFlush() throws Exception {
Expand Down
43 changes: 43 additions & 0 deletions src/test/java/unit_test_db.sql
Original file line number Diff line number Diff line change
Expand Up @@ -339,3 +339,46 @@ PARTITION BY RANGE COLUMNS(K) (
PARTITION p9 VALUES LESS THAN ('v'),
PARTITION p10 VALUES LESS THAN (MAXVALUE)
);

CREATE TABLEGROUP test_secondary_key_range SHARDING = 'ADAPTIVE';
CREATE TABLE IF NOT EXISTS `test_secondary_key_range$family1` (
`K` varbinary(1024) NOT NULL,
`Q` varbinary(256) NOT NULL,
`T` bigint(20) NOT NULL,
`V` varbinary(1024) DEFAULT NULL,
`G` bigint(20) GENERATED ALWAYS AS (ABS(T)),
PRIMARY KEY (`K`, `Q`, `T`)
) TABLEGROUP = test_secondary_key_range PARTITION BY KEY(`K`) PARTITIONS 3
SUBPARTITION BY RANGE COLUMNS(`G`) SUBPARTITION TEMPLATE (
SUBPARTITION `p1` VALUES LESS THAN (100),
SUBPARTITION `p2` VALUES LESS THAN (200),
SUBPARTITION `p3` VALUES LESS THAN MAXVALUE
);
CREATE TABLE IF NOT EXISTS `test_secondary_key_range$family2` (
`K` varbinary(1024) NOT NULL,
`Q` varbinary(256) NOT NULL,
`T` bigint(20) NOT NULL,
`V` varbinary(1024) DEFAULT NULL,
`G` bigint(20) GENERATED ALWAYS AS (ABS(T)),
PRIMARY KEY (`K`, `Q`, `T`)
) TABLEGROUP = test_secondary_key_range PARTITION BY KEY(`K`) PARTITIONS 3
SUBPARTITION BY RANGE COLUMNS(`G`) SUBPARTITION TEMPLATE (
SUBPARTITION `p1` VALUES LESS THAN (100),
SUBPARTITION `p2` VALUES LESS THAN (200),
SUBPARTITION `p3` VALUES LESS THAN MAXVALUE
);

CREATE TABLEGROUP test_secondary_range_key SHARDING = 'ADAPTIVE';
CREATE TABLE IF NOT EXISTS `test_secondary_range_key$family1` (
`K` varbinary(1024) NOT NULL,
`Q` varbinary(256) NOT NULL,
`T` bigint(20) NOT NULL,
`V` varbinary(1024) DEFAULT NULL,
`G` bigint(20) GENERATED ALWAYS AS (ABS(T)),
PRIMARY KEY (`K`, `Q`, `T`)
) TABLEGROUP = test_secondary_range_key PARTITION BY RANGE COLUMNS(`G`)
SUBPARTITION BY KEY(`K`) SUBPARTITIONS 3
( PARTITION `p1` VALUES LESS THAN (100),
PARTITION `p2` VALUES LESS THAN (200),
PARTITION `p3` VALUES LESS THAN MAXVALUE
);