/** * Get the bounds for the queue * * @return The bounds for the queue */ public QueueBounds getQueueBounds( UUID queueId ) { try { ColumnSlice<String, UUID> result = HFactory.createSliceQuery( ko, ue, se, ue ).setKey( queueId ) .setColumnNames( QUEUE_NEWEST, QUEUE_OLDEST ) .setColumnFamily( QUEUE_PROPERTIES.getColumnFamily() ).execute() .get(); if ( result != null && result.getColumnByName( QUEUE_OLDEST ) != null && result.getColumnByName( QUEUE_NEWEST ) != null ) { return new QueueBounds( result.getColumnByName( QUEUE_OLDEST ).getValue(), result.getColumnByName( QUEUE_NEWEST ).getValue() ); } } catch ( Exception e ) { logger.error( "Error getting oldest queue message ID", e ); } return null; }
q.setColumnNames( transactionId ); HColumn<UUID, UUID> col = q.execute().get().getColumnByName( transactionId );
/** * Constructed for {@link CqlResultType#ROWS} * @param thriftRet * @param nameSerializer * @param valueSerializer * @param resultType */ public CqlRows(LinkedHashMap<K, List<Column>> thriftRet, Serializer<N> nameSerializer, Serializer<V> valueSerializer) { super(thriftRet, nameSerializer, valueSerializer); this.resultType = CqlResultType.ROWS; // test for a count object. eeewww. if ( getCount() == 1 ) { Row row = iterator().next(); if ( row.getColumnSlice().getColumnByName("count") != null ) { count = LongSerializer.get().fromByteBuffer(row.getColumnSlice().getColumnByName("count").getValueBytes()).intValue(); } } }
/** * Get multiple values * @param keys * @return */ public Map<String, String> getMulti(String columnName, String... keys) { MultigetSliceQuery<String, String,String> q = createMultigetSliceQuery(keyspace, serializer, serializer, serializer); q.setColumnFamily(columnFamilyName); q.setKeys(keys); q.setColumnNames(columnName); QueryResult<Rows<String,String,String>> r = q.execute(); Rows<String,String,String> rows = r.get(); Map<String, String> ret = new HashMap<String, String>(keys.length); for (String k: keys) { HColumn<String, String> c = rows.getByKey(k).getColumnSlice().getColumnByName(columnName); if (c != null && c.getValue() != null) { ret.put(k, c.getValue()); } } return ret; }
/** * Get multiple values * @param keys * @return */ public <K> Map<K, String> getMulti(Serializer<K> keySerializer, K... keys) { MultigetSliceQuery<K, String,String> q = createMultigetSliceQuery(keyspace, keySerializer, serializer, serializer); q.setColumnFamily(CF_NAME); q.setKeys(keys); q.setColumnNames(COLUMN_NAME); QueryResult<Rows<K, String,String>> r = q.execute(); Rows<K, String,String> rows = r.get(); Map<K, String> ret = new HashMap<K, String>(keys.length); for (K k: keys) { HColumn<String,String> c = rows.getByKey(k).getColumnSlice().getColumnByName(COLUMN_NAME); if (c != null && c.getValue() != null) { ret.put(k, c.getValue()); } } return ret; }
@Test public void testMultiCallOnByteBuffer() { List<Column> tColumns = new ArrayList<Column>(); Column column = new Column(se.toByteBuffer("1")); column.setValue(ByteBuffer.wrap("colvalue".getBytes())); column.setTimestamp(0L); tColumns.add(column); ColumnSlice<String, ByteBuffer> slice = new ColumnSliceImpl<String, ByteBuffer>(tColumns, se, ByteBufferSerializer.get()); ByteBuffer value = slice.getColumnByName("1").getValue(); Assert.assertEquals("colvalue", se.fromByteBuffer(value)); value.rewind(); Assert.assertEquals("colvalue", se.fromByteBuffer(value)); value.rewind(); Assert.assertEquals("colvalue", se.fromByteBuffer(value)); } }
@Test public void testConstruction() { List<Column> tColumns = new ArrayList<Column>(); ColumnSlice<String, Long> slice = new ColumnSliceImpl<String, Long>(tColumns, se, le); Assert.assertTrue(slice.getColumns().isEmpty()); Column column = new Column(ByteBuffer.wrap(new byte[]{})); column.setValue(ByteBuffer.wrap(new byte[]{})); column.setTimestamp(0L); tColumns.add(column); slice = new ColumnSliceImpl<String, Long>(tColumns, se, le); Assert.assertEquals(1, slice.getColumns().size()); tColumns = new ArrayList<Column>(); column = new Column(se.toByteBuffer("1")); column.setValue(le.toByteBuffer(1L)); column.setTimestamp(0L); tColumns.add(column); slice = new ColumnSliceImpl<String, Long>(tColumns, se, le); Assert.assertEquals((Long) 1L, slice.getColumnByName("1").getValue()); }
@Test public void testSelectAllSuppressesKeyColumn() { CqlQuery<String,String,Long> cqlQuery = new CqlQuery<String,String,Long>(keyspace, se, se, le); cqlQuery.setQuery("select * from StandardLong1"); cqlQuery.setSuppressKeyInColumns(true); QueryResult<CqlRows<String,String,Long>> result = cqlQuery.execute(); CqlRows<String, String, Long> rows = result.get(); // check that we contain a 'key' column assertNull(rows.getList().get(0).getColumnSlice().getColumnByName("KEY")); // arbitrary row check assertNull(rows.getList().get(3).getColumnSlice().getColumnByName("KEY")); assertEquals(6,rows.getCount()); }
@Override public CmbHectorColumn<N, V> getColumnByName(N name) { if (hectorSlice.getColumnByName(name) != null) { return new CmbHectorColumn<N, V>(hectorSlice.getColumnByName(name)); } else { return null; } } private void loadColumns() {
@Test public void testSimpleSelect() { CqlQuery<String,String,Long> cqlQuery = new CqlQuery<String,String,Long>(keyspace, se, se, le); cqlQuery.setQuery("select * from StandardLong1"); QueryResult<CqlRows<String,String,Long>> result = cqlQuery.execute(); CqlRows<String, String, Long> rows = result.get(); // check that we contain a 'key' column assertNotNull(rows.getList().get(0).getColumnSlice().getColumnByName("KEY")); assertEquals(6 + customColumns,rows.getCount()); }
public static String getStringValue( ColumnSlice<String, String> columnSlice, String columnName ) { if ( StringUtils.isEmpty( columnName ) ) { return null; } HColumn<String, String> hColumn = columnSlice.getColumnByName( columnName ); return hColumn == null ? null : hColumn.getValue(); }
public static Long getLongValue( ColumnSlice<String, ?> columnSlice, String columnName ) { if ( StringUtils.isEmpty( columnName ) ) { return null; } HColumn<String, Long> hColumn = (HColumn<String, Long>) columnSlice.getColumnByName( columnName ); return hColumn == null ? null : hColumn.getValue(); }
@Test public void testRangeSubSlicesQuery() { String cf = "Super1"; TestCleanupDescriptor cleanup = insertSuperColumns(cf, 4, "testRangeSubSlicesQuery", 3, "testRangeSubSlicesQuery"); // get value RangeSubSlicesQuery<String, String, String, String> q = createRangeSubSlicesQuery( ko, se, se, se, se); q.setColumnFamily(cf); q.setKeys("testRangeSubSlicesQuery2", "testRangeSubSlicesQuery3"); // try with column name first q.setSuperColumn("testRangeSubSlicesQuery1"); q.setColumnNames("c021", "c111"); QueryResult<OrderedRows<String, String, String>> r = q.execute(); assertNotNull(r); OrderedRows<String, String, String> rows = r.get(); assertNotNull(rows); assertEquals(2, rows.getCount()); Row<String, String, String> row = rows.getList().get(0); assertNotNull(row); assertEquals("testRangeSubSlicesQuery2", row.getKey()); ColumnSlice<String, String> slice = row.getColumnSlice(); assertNotNull(slice); // Test slice.getColumnByName assertEquals("v021", slice.getColumnByName("c021").getValue()); assertEquals("v121", slice.getColumnByName("c111").getValue()); assertNull(slice.getColumnByName("c033")); // Delete values deleteColumns(cleanup); }
assertEquals(3, slice.getColumns().size()); assertEquals("value01", slice.getColumnByName("testSliceQuery1").getValue()); assertEquals("value02", slice.getColumnByName("testSliceQuery2").getValue()); assertEquals("value03", slice.getColumnByName("testSliceQuery3").getValue());
.getColumnByName("testRangeSlicesQueryColumn1").getValue()); assertEquals("value12", slice .getColumnByName("testRangeSlicesQueryColumn2").getValue()); assertNull(slice.getColumnByName("testRangeSlicesQueryColumn3"));
public static <T> String getAsStringValue( ColumnSlice<String, T> columnSlice, String columnName ) { StringSerializer ss = StringSerializer.get(); if ( StringUtils.isEmpty( columnName ) ) { return null; } HColumn<String, T> hColumn = columnSlice.getColumnByName( columnName ); return hColumn == null ? null : ss.fromByteBuffer( hColumn.getValueBytes() ); }
public static Long getAsLongValue( ColumnSlice<String, String> columnSlice, String columnName ) { LongSerializer ls = LongSerializer.get(); if ( StringUtils.isEmpty( columnName ) ) { return null; } HColumn<String, String> hColumn = columnSlice.getColumnByName( columnName ); return hColumn == null ? null : ls.fromByteBuffer( hColumn.getValueBytes() ); }
slice.getColumnByName("testMultigetSliceQueryColumn1").getValue()); assertEquals("value12", slice.getColumnByName("testMultigetSliceQueryColumn2").getValue()); assertNull(slice.getColumnByName("testMultigetSliceQueryColumn3"));
assertNotNull(slice); assertEquals("v000", slice.getColumnByName("c000").getValue()); assertEquals("v100", slice.getColumnByName("c110").getValue());
assertEquals(2, slice.getColumns().size()); assertEquals("v000", slice.getColumnByName("c000").getValue());