public <V> HColumn<N, V> querySingleSubColumn(K key, SN columnName, N subColumnName, Serializer<V> valueSerializer) { SuperCfResult<K,SN,N> result = doExecuteSlice(key, columnName, activeSlicePredicate); if (result == null) { return null; } HColumn<N,ByteBuffer> origCol = result.getColumn(subColumnName); // TODO make this far less hacky if ( columnName == null || origCol == null ) { return null; } return new HColumnImpl<N, V>(subColumnName, valueSerializer.fromByteBuffer(origCol.getValue()), origCol.getClock(), subSerializer, valueSerializer); }
@Override public long getClock() { return hectorColumn.getClock(); } }
@Test public void testCreateColumn() { long clock = HFactory.createClock(); HColumn<String, Long> col = HFactory.createColumn("nameString", new Long("345"), clock); HColumn<String, Long> col2 = HFactory.createColumn("nameString", new Long("345"), clock, StringSerializer.get(), LongSerializer.get()); assertEquals(col.getName(), col2.getName()); assertEquals(col.getValue(), col2.getValue()); assertEquals(col.getClock(), col2.getClock()); } }
@Test public void testCompareClocks() { ColumnFamilyTemplate<String, String> template = new ThriftColumnFamilyTemplate<String, String>(keyspace, "Standard1", se, se); long ts1 = 1001; long ts2 = 1002; long ts3 = 1003; ColumnFamilyUpdater<String,String> updater = template.createUpdater("compare_clock_key1"); updater.setClock(ts1); updater.setString("stringval","value1"); Date date = new Date(); updater.setClock(ts2); updater.setDate("curdate", date); updater.setClock(ts3); updater.setLong("longval", 5L); template.update(updater); template.addColumn("stringval", se); template.addColumn("curdate", DateSerializer.get()); template.addColumn("longval", LongSerializer.get()); ColumnFamilyResult wrapper = template.queryColumns("compare_clock_key1"); assertEquals(ts1,wrapper.getColumn("stringval").getClock()); assertEquals(ts2,wrapper.getColumn("curdate").getClock()); assertEquals(ts3,wrapper.getColumn("longval").getClock()); assertEquals(3,wrapper.getColumnNames().size()); }
public <V> HColumn<N, V> querySingleSubColumn(K key, SN columnName, N subColumnName, Serializer<V> valueSerializer) { SuperCfResult<K,SN,N> result = doExecuteSlice(key, columnName, activeSlicePredicate); if (result == null) { return null; } HColumn<N,ByteBuffer> origCol = result.getColumn(subColumnName); // TODO make this far less hacky if ( columnName == null || origCol == null ) { return null; } return new HColumnImpl<N, V>(subColumnName, valueSerializer.fromByteBuffer(origCol.getValue()), origCol.getClock(), subSerializer, valueSerializer); }
public <V> HColumn<N, V> querySingleSubColumn(K key, SN columnName, N subColumnName, Serializer<V> valueSerializer) { SuperCfResult<K,SN,N> result = doExecuteSlice(key, columnName, activeSlicePredicate); if (result == null) { return null; } HColumn<N,ByteBuffer> origCol = result.getColumn(subColumnName); // TODO make this far less hacky if ( columnName == null || origCol == null ) { return null; } return new HColumnImpl<N, V>(subColumnName, valueSerializer.fromByteBuffer(origCol.getValue()), origCol.getClock(), subSerializer, valueSerializer); }