private static String buildSetValue(Row row, int i, CassandraType elemType) { return buildArrayValue(row.getSet(i, elemType.javaType), elemType); }
TypeCodec firstCodec = codecRegistry.codecFor(firstArg); if (dataType.equals(DataType.set(firstArg))) { return row.getSet(i, firstCodec.getJavaType()); } else if (dataType.equals(DataType.list(firstArg))) { return row.getList(i, firstCodec.getJavaType());
private static Set<Integer> queryByNameIndex( CassandraSessionPool.Session session, String table, String name) { if (name.isEmpty()) { return ImmutableSet.of(); } Select select = QueryBuilder.select().from(table); select.where(CassandraTable.formatEQ(HugeKeys.NAME, name)); try { Iterator<Row> it = session.execute(select).iterator(); if (!it.hasNext()) { return ImmutableSet.of(); } Set<Integer> ids = it.next().getSet(ELEMENT_IDS, Integer.class); assert !it.hasNext(); return ids; } catch (DriverException e) { throw new BackendException("Failed to query by name '%s'", e, name); } } }
private static Set<String> queryByLabelIndex( CassandraSessionPool.Session session, String table, Id label) { Select select = QueryBuilder.select().from(table); select.where(CassandraTable.formatEQ(HugeKeys.LABEL, label.asLong())); try { Iterator<Row> it = session.execute(select).iterator(); if (!it.hasNext()) { return ImmutableSet.of(); } Set<String> ids = it.next().getSet(ELEMENT_IDS, String.class); assert !it.hasNext(); return ids; } catch (DriverException e) { throw new BackendException("Failed to query by label '%s'", e, label); } }
updateInfo(host, localRow, cluster, isInitialConnection); if (metadataEnabled && factory != null) { Set<String> tokensStr = localRow.getSet("tokens", String.class); if (!tokensStr.isEmpty()) { Set<Token> tokens = toTokens(factory, tokensStr); Set<String> tokensStr = row.getSet("tokens", String.class); Set<Token> tokens = null; if (!tokensStr.isEmpty()) {
retVal = row.getSet(columnName, setClazz); Collection resultSet = new HashSet(); if (isElementCollectionSet)
boolean isCompact; if (cassandraVersion.getMajor() > 2) { Set<String> flags = row.getSet(FLAGS, String.class); isDense = flags.contains(DENSE); boolean isSuper = flags.contains(SUPER);
@Override public <T> Set<T> getSet(String name, Class<T> elementsClass) { return row.getSet(name, elementsClass); }
/** * Extrat permissions from the row returned by cassandra. * * @param row * current cassandra row * @return * target permission set */ public static Set < String > mapFeaturePermissions(Row row) { return row.getSet(COL_FEAT_ROLES, String.class); }
@Override public <T> Set<T> getSet(int i, Class<T> elementsClass) { return row.getSet(i, elementsClass); }
@Override public <T> Set<T> getSet(int i, Class<T> elementsClass) { return row.getSet(i, elementsClass); }
@Override public <T> Set<T> getSet(int i, TypeToken<T> typeToken) { return row.getSet(i, typeToken); }
@Override public <T> Set<T> getSet(int i, TypeToken<T> typeToken) { return row.getSet(i, typeToken); }
@Test(groups = "short") public void should_delete_set_element() throws Exception { // given session().execute("INSERT INTO test_coll (k, c) VALUES (1, {'foo','bar','qix'})"); // when BuiltStatement statement = delete().setElt("c", "foo").from("test_coll").where(eq("k", 1)); session().execute(statement); // then Set<String> actual = session().execute("SELECT c FROM test_coll WHERE k = 1").one().getSet("c", String.class); assertThat(actual).containsOnly("bar", "qix"); }
private void assertRow(Row row) { assertThat(row.getInt(0)).isEqualTo(n_int); assertThat(row.getList(1, Integer.class)).isEqualTo(l_int); assertThat(row.getList(2, Long.class)).isEqualTo(l_bigint); assertThat(row.getSet(3, Float.class)).isEqualTo(s_float); assertThat(row.getSet(4, Double.class)).isEqualTo(s_double); assertThat(row.getMap(5, Integer.class, BigInteger.class)).isEqualTo(m_varint); assertThat(row.getMap(6, Integer.class, BigDecimal.class)).isEqualTo(m_decimal); // with get + type assertThat(row.get(1, TypeTokens.listOf(Integer.class))).isEqualTo(l_int); assertThat(row.get(2, TypeTokens.listOf(Long.class))).isEqualTo(l_bigint); assertThat(row.get(3, TypeTokens.setOf(Float.class))).isEqualTo(s_float); assertThat(row.get(4, TypeTokens.setOf(Double.class))).isEqualTo(s_double); assertThat(row.get(5, TypeTokens.mapOf(Integer.class, BigInteger.class))).isEqualTo(m_varint); assertThat(row.get(6, TypeTokens.mapOf(Integer.class, BigDecimal.class))).isEqualTo(m_decimal); // with getObject assertThat(row.getObject(1)).isEqualTo(l_int); assertThat(row.getObject(2)).isEqualTo(l_bigint); assertThat(row.getObject(3)).isEqualTo(s_float); assertThat(row.getObject(4)).isEqualTo(s_double); assertThat(row.getObject(5)).isEqualTo(m_varint); assertThat(row.getObject(6)).isEqualTo(m_decimal); } }
@Test(groups = "short") public void should_delete_set_element_with_bind_marker() throws Exception { // given session().execute("INSERT INTO test_coll (k, c) VALUES (1, {'foo','bar','qix'})"); // when BuiltStatement statement = delete().setElt("c", bindMarker()).from("test_coll").where(eq("k", 1)); PreparedStatement ps = session().prepare(statement); session().execute(ps.bind("foo")); // then Set<String> actual = session().execute("SELECT c FROM test_coll WHERE k = 1").one().getSet("c", String.class); assertThat(actual).containsOnly("bar", "qix"); }
@Test(groups = "short") public void should_handle_contains_on_set_with_index() { PreparedStatement byCategory = session() .prepare( select("id", "description", "categories") .from("products") .where(contains("categories", bindMarker("category")))); ResultSet results = session().execute(byCategory.bind().setString("category", "hdtv")); assertThat(results.getAvailableWithoutFetching()).isEqualTo(2); for (Row row : results) { assertThat(row.getSet("categories", String.class)).contains("hdtv"); } }
.one(); Set<String> tokenStrings = row.getSet("tokens", String.class); assertThat(tokenStrings).hasSize(numTokens); Iterable<Token> tokensFromSystemTable =
public Set<?> getSet(int index) throws SQLException { checkIndex(index); try { return currentRow.getSet(index-1,Class.forName(DataTypeEnum.fromCqlTypeName(currentRow.getColumnDefinitions().getType(index-1).getTypeArguments().get(0).getName()).asJavaClass().getCanonicalName())); } catch (ClassNotFoundException e) { logger.warn("Error while performing getSet()", e); } return null; }