public SuperCfUpdater<K, SN, N> createUpdater(K key) { SuperCfUpdater<K, SN, N> updater = new SuperCfUpdater<K, SN, N>(this, columnFactory); updater.addKey(key); return updater; }
public SuperCfUpdater<K, SN, N> createUpdater(K key, SN sColumnName) { return createUpdater(key).addSuperColumn(sColumnName); }
/** * Deletes the super column and all of its sub columns */ public void deleteSuperColumn() { //template.getMutator().addDeletion(getCurrentKey(), template.getColumnFamily(), // getCurrentSuperColumn(), template.getTopSerializer()); mutator.addSuperDelete(getCurrentKey(), template.getColumnFamily(), getCurrentSuperColumn(), template.getTopSerializer()); }
/** * Calls {@link SuperCfUpdater#updateInternal()} and {@link SuperCfUpdater#update()} * in that order before invoking {@link #executeIfNotBatched(Mutator)} on the underlying * upater's {@link Mutator} * @param updater */ public void update(SuperCfUpdater<K, SN, N> updater) { updater.updateInternal(); updater.update(); executeIfNotBatched(updater.getCurrentMutator()); }
@Test public void testSuperCfInsertReadMultiKey() { SuperCfTemplate<String, String, String> sTemplate = new ThriftSuperCfTemplate<String, String, String>(keyspace, "Super1", se, se, se); SuperCfUpdater<String,String,String> sUpdater = sTemplate.createUpdater("s_multi_key1","super1"); sUpdater.setString("sub_col_1", "sub_val_1"); sUpdater.addKey("s_multi_key2"); sUpdater.addSuperColumn("super1"); sUpdater.setString("sub_col_1", "sub_val_2"); sTemplate.update(sUpdater); SuperCfResult<String,String,String> result = sTemplate.querySuperColumns(Arrays.asList("s_multi_key1","s_multi_key2"), Arrays.asList("super1")); assertTrue(result.hasResults()); assertEquals("sub_val_2",result.getString("super1","sub_col_1")); assertEquals("sub_val_1",result.next().getString("super1","sub_col_1")); }
@Test public void testSuperCfInsertReadTemplate() { SuperCfTemplate<String, String, String> sTemplate = new ThriftSuperCfTemplate<String, String, String>(keyspace, "Super1", se, se, se); SuperCfUpdater<String,String,String> sUpdater = sTemplate.createUpdater("skey1","super1"); sUpdater.setString("sub_col_1", "sub_val_1"); sTemplate.update(sUpdater); SuperCfResult<String,String,String> result = sTemplate.querySuperColumn("skey1", "super1"); assertEquals("sub_val_1",result.getString("super1","sub_col_1")); sUpdater.deleteSuperColumn(); sTemplate.update(sUpdater); assertEquals("super1",sUpdater.getCurrentSuperColumn()); result = sTemplate.querySuperColumn("skey1", "super1"); assertFalse(result.hasResults()); }
@Test public void testSuperCfMultiSc() { SuperCfTemplate<String, String, String> sTemplate = new ThriftSuperCfTemplate<String, String, String>(keyspace, "Super1", se, se, se); SuperCfUpdater<String,String,String> sUpdater = sTemplate.createUpdater("skey2","super1"); sUpdater.setString("sub1_col_1", "sub1_val_1"); sUpdater.addSuperColumn("super2"); sUpdater.setString("sub2_col_1", "sub2_val_1"); sTemplate.update(sUpdater); SuperCfResult<String,String,String> result = sTemplate.querySuperColumns("skey2", Arrays.asList("super1","super2")); assertEquals(2,result.getSuperColumns().size()); /*for (String sName : result.getSuperColumns() ) { result.getString(sName,"sub1_col_1"); }*/ //assertEquals("sub1_val_1",result.getString("sub1_col_1")); //assertEquals("sub2_val_1",result.next().getString("sub2_col_1")); }
public SuperCfUpdater<K,SN,N> addSuperColumn(SN sColumnName) { if ( sColumnNames.size() > 0 ) { updateInternal(); sColPos++; } subColumns = new ArrayList<HColumn>(); sColumnNames.add(sColumnName); return this; }
public <V> void setValue(N subColumnName, V value, Serializer<V> serializer) { addToSubColumns(subColumnName, value, serializer, globalTtl); }
/** * Calls {@link SuperCfUpdater#updateInternal()} and {@link SuperCfUpdater#update()} * in that order before invoking {@link #executeIfNotBatched(Mutator)} on the underlying * upater's {@link Mutator} * @param updater */ public void update(SuperCfUpdater<K, SN, N> updater) { updater.updateInternal(); updater.update(); executeIfNotBatched(updater.getCurrentMutator()); }
@Test public void testSuperCfInsertReadMultiKeyNoSc() { SuperCfTemplate<String, String, String> sTemplate = new ThriftSuperCfTemplate<String, String, String>(keyspace, "Super1", se, se, se); SuperCfUpdater<String,String,String> sUpdater = sTemplate.createUpdater("s_multi_key1","super1"); sUpdater.setString("sub_col_1", "sub_val_1"); sUpdater.addKey("s_multi_key2"); sUpdater.addSuperColumn("super1"); sUpdater.setString("sub_col_1", "sub_val_2"); sTemplate.update(sUpdater); SuperCfResult<String,String,String> result = sTemplate.querySuperColumns(Arrays.asList("s_multi_key1","s_multi_key2")); assertTrue(result.hasResults()); assertEquals("sub_val_2",result.getString("super1","sub_col_1")); assertEquals("sub_val_1",result.next().getString("super1","sub_col_1")); }
@Test public void testSuperCfKeyOnly() { SuperCfTemplate<String, String, String> sTemplate = new ThriftSuperCfTemplate<String, String, String>(keyspace, "Super1", se, se, se); SuperCfUpdater<String,String,String> sUpdater = sTemplate.createUpdater("skey1","super1"); sUpdater.setString("sub_col_1", "sub_val_1"); sUpdater.addSuperColumn("super2"); sUpdater.setString("sub_col_1", "sub_val_2"); sTemplate.update(sUpdater); SuperCfResult<String,String,String> result = sTemplate.querySuperColumns("skey1"); assertEquals(2, result.getSuperColumns().size()); assertTrue(result.hasResults()); result = sTemplate.querySuperColumns("skey1-non-existing-key"); assertNull(result.getActiveSuperColumn()); }
@Override public SuperCfUpdater<K, SN, N> addKey(K key) { if ( keys != null && keys.size() > 0 ) { updateInternal(); } super.addKey(key); sColumnNames = new ArrayList<SN>(); sColPos = 0; return this; }
public void setBoolean(N subColumnName, Boolean value) { addToSubColumns(subColumnName, value, BooleanSerializer.get(), globalTtl); }
/** * collapse the state of the active HSuperColumn */ void updateInternal() { // HSuperColumnImpl needs a refactor, this construction is lame. // the value serializer is not used in HSuperColumnImpl, so this is safe for name if ( !subColumns.isEmpty() ) { log.debug("Adding column {} for key {} and cols {}", new Object[]{getCurrentSuperColumn(), getCurrentKey(), subColumns}); HSuperColumnImpl<SN, N, ?> column = new HSuperColumnImpl(getCurrentSuperColumn(), subColumns, 0, template.getTopSerializer(), template.getSubSerializer(), TypeInferringSerializer.get()); mutator.addInsertion(getCurrentKey(), template.getColumnFamily(), column); } }
/** * Calls {@link SuperCfUpdater#updateInternal()} and {@link SuperCfUpdater#update()} * in that order before invoking {@link #executeIfNotBatched(Mutator)} on the underlying * upater's {@link Mutator} * @param updater */ public void update(SuperCfUpdater<K, SN, N> updater) { updater.updateInternal(); updater.update(); executeIfNotBatched(updater.getCurrentMutator()); }
public SuperCfUpdater<K, SN, N> createUpdater(K key) { SuperCfUpdater<K, SN, N> updater = new SuperCfUpdater<K, SN, N>(this, columnFactory); updater.addKey(key); return updater; }
public SuperCfUpdater<K, SN, N> createUpdater(K key, SN sColumnName) { return createUpdater(key).addSuperColumn(sColumnName); }
public SuperCfUpdater<K,SN,N> addSuperColumn(SN sColumnName) { if ( sColumnNames.size() > 0 ) { updateInternal(); sColPos++; } subColumns = new ArrayList<HColumn>(); sColumnNames.add(sColumnName); return this; }
public void setByteBuffer(N subColumnName, ByteBuffer value) { addToSubColumns(subColumnName, value, ByteBufferSerializer.get(), globalTtl); }