Search in sources :

Example 11 with Row

use of com.nearinfinity.honeycomb.mysql.Row 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 12 with Row

use of com.nearinfinity.honeycomb.mysql.Row in project honeycomb by altamiracorp.

the class RowOperationsIT method testDeleteRow.

@Test
public void testDeleteRow() {
    final Map<String, ByteBuffer> map = Maps.newHashMap();
    map.put(TestConstants.COLUMN1, ITUtils.encodeValue(INDEX_COL_VALUE));
    map.put(TestConstants.COLUMN2, ITUtils.encodeValue(6));
    final Row row = new Row(map, UUID.randomUUID());
    proxy.insertRow(row.serialize());
    proxy.flush();
    final QueryKey key = ITUtils.createKey(INDEX_COL_VALUE, QueryType.EXACT_KEY);
    proxy.startIndexScan(key.serialize());
    proxy.deleteRow(proxy.getNextRow());
    proxy.flush();
}
Also used : QueryKey(com.nearinfinity.honeycomb.mysql.QueryKey) Row(com.nearinfinity.honeycomb.mysql.Row) ByteBuffer(java.nio.ByteBuffer) HoneycombIntegrationTest(integrationtests.HoneycombIntegrationTest) Test(org.junit.Test)

Aggregations

Row (com.nearinfinity.honeycomb.mysql.Row)12 Test (org.junit.Test)9 ByteBuffer (java.nio.ByteBuffer)7 QueryKey (com.nearinfinity.honeycomb.mysql.QueryKey)6 HoneycombIntegrationTest (integrationtests.HoneycombIntegrationTest)5 HandlerProxy (com.nearinfinity.honeycomb.mysql.HandlerProxy)1 ColumnSchema (com.nearinfinity.honeycomb.mysql.schema.ColumnSchema)1 IndexSchema (com.nearinfinity.honeycomb.mysql.schema.IndexSchema)1 TableSchema (com.nearinfinity.honeycomb.mysql.schema.TableSchema)1 IOException (java.io.IOException)1 ParseException (java.text.ParseException)1 ArrayList (java.util.ArrayList)1 Put (org.apache.hadoop.hbase.client.Put)1 ImmutableBytesWritable (org.apache.hadoop.hbase.io.ImmutableBytesWritable)1