Search in sources :

Example 21 with IndexSchema

use of com.nearinfinity.honeycomb.mysql.schema.IndexSchema in project honeycomb by altamiracorp.

the class RowOperationsIT method testUpdateNullRows.

@Test
public void testUpdateNullRows() {
    HandlerProxy proxy = factory.createHandlerProxy();
    List<ColumnSchema> columns = Lists.newArrayList();
    List<IndexSchema> indices = Lists.newArrayList();
    columns.add(ColumnSchema.builder(TestConstants.COLUMN1, ColumnType.LONG).build());
    TableSchema schema = new TableSchema(columns, indices);
    String tableName = AdapterType.HBASE.getName() + "/t1";
    int iterations = 10;
    proxy.createTable(tableName, schema.serialize(), 0);
    proxy.openTable(tableName);
    Row row = new Row(Maps.<String, ByteBuffer>newHashMap(), TestConstants.ZERO_UUID);
    List<Row> rows = new ArrayList<Row>();
    for (int j = 0; j < 50; j++) {
        for (int i = 0; i < iterations; i++) {
            proxy.insertRow(row.serialize());
        }
        proxy.flush();
        proxy.startTableScan();
        for (int i = 0; i < iterations; i++) {
            Row deserialized = Row.deserialize(proxy.getNextRow());
            deserialized.getRecords().put(TestConstants.COLUMN1, ITUtils.encodeValue(0));
            rows.add(deserialized);
        }
        proxy.endScan();
        for (Row r : rows) {
            proxy.updateRow(r.serialize(), r.serialize());
        }
        proxy.flush();
        rows.clear();
        proxy.startTableScan();
        for (int i = 0; i < iterations; i++) {
            byte[] bytes = proxy.getNextRow();
            assertNotNull(bytes);
            assertThat(Row.deserialize(bytes).getRecords().get(TestConstants.COLUMN1), equalTo(ITUtils.encodeValue(0)));
        }
        assertNull(proxy.getNextRow());
        proxy.endScan();
        proxy.truncateTable();
    }
    proxy.closeTable();
    proxy.dropTable(tableName);
}
Also used : TableSchema(com.nearinfinity.honeycomb.mysql.schema.TableSchema) HandlerProxy(com.nearinfinity.honeycomb.mysql.HandlerProxy) ArrayList(java.util.ArrayList) ColumnSchema(com.nearinfinity.honeycomb.mysql.schema.ColumnSchema) IndexSchema(com.nearinfinity.honeycomb.mysql.schema.IndexSchema) Row(com.nearinfinity.honeycomb.mysql.Row) HoneycombIntegrationTest(integrationtests.HoneycombIntegrationTest) Test(org.junit.Test)

Example 22 with IndexSchema

use of com.nearinfinity.honeycomb.mysql.schema.IndexSchema in project honeycomb by altamiracorp.

the class VerifyTest method testIsValidIndexSchemaInvalidColumn.

@Test(expected = IllegalArgumentException.class)
public void testIsValidIndexSchemaInvalidColumn() {
    final List<IndexSchema> indices = ImmutableList.of(new IndexSchema("index_name", ImmutableList.of("invalid"), false));
    Verify.isValidIndexSchema(indices, COLUMNS);
}
Also used : IndexSchema(com.nearinfinity.honeycomb.mysql.schema.IndexSchema) Test(org.junit.Test)

Aggregations

IndexSchema (com.nearinfinity.honeycomb.mysql.schema.IndexSchema)22 TableSchema (com.nearinfinity.honeycomb.mysql.schema.TableSchema)12 Test (org.junit.Test)10 ColumnSchema (com.nearinfinity.honeycomb.mysql.schema.ColumnSchema)5 QueryKey (com.nearinfinity.honeycomb.mysql.QueryKey)3 AvroTableSchema (com.nearinfinity.honeycomb.mysql.gen.AvroTableSchema)3 HoneycombIntegrationTest (integrationtests.HoneycombIntegrationTest)3 Scanner (com.nearinfinity.honeycomb.Scanner)2 ByteBuffer (java.nio.ByteBuffer)2 UnsignedBytes (com.google.common.primitives.UnsignedBytes)1 Table (com.nearinfinity.honeycomb.Table)1 IndexRowKeyBuilder (com.nearinfinity.honeycomb.hbase.rowkey.IndexRowKeyBuilder)1 RowKey (com.nearinfinity.honeycomb.hbase.rowkey.RowKey)1 HandlerProxy (com.nearinfinity.honeycomb.mysql.HandlerProxy)1 Row (com.nearinfinity.honeycomb.mysql.Row)1 ArrayList (java.util.ArrayList)1 Bytes (org.apache.hadoop.hbase.util.Bytes)1