private static String insertSQL(final String table, final int timeout) { Insert insertInto = insertInto(table) .value(ID, raw("?")) .value(CREATED_AT, raw("?")) .value(ACCESSED_AT, raw("?")) .value(SAVED_AT, raw("?")) .value(ATTRIBUTES, raw("?")); if (timeout > 0) { insertInto.using(ttl(timeout)); } return insertInto.getQueryString(); }
private static String selectSQL(final String table) { return select().from(table).where(eq(ID, raw("?"))).getQueryString(); }
private static String deleteSQL(final String table) { return QueryBuilder.delete().from(table).where(eq(ID, raw("?"))).getQueryString(); }
@Override public SelectionOrAlias raw(String rawString) { return queueName(QueryBuilder.raw(rawString)); }
@Test(groups = "unit") public void should_not_attempt_to_serialize_raw_values_in_collections() { BuiltStatement query = insertInto("foo").value("v", ImmutableMap.of(1, raw("x"))); assertThat(query.getQueryString()).isEqualTo("INSERT INTO foo (v) VALUES ({1:x});"); assertThat(query.getValues(ProtocolVersion.NEWEST_SUPPORTED, CodecRegistry.DEFAULT_INSTANCE)) .isNullOrEmpty(); }
@Test(groups = "unit") public void rawEscapingTest() throws Exception { String query; Statement select; query = "SELECT * FROM t WHERE c='C''est la vie!';"; select = select().from("t").where(eq("c", "C'est la vie!")); assertEquals(select.toString(), query); query = "SELECT * FROM t WHERE c=C'est la vie!;"; select = select().from("t").where(eq("c", raw("C'est la vie!"))); assertEquals(select.toString(), query); query = "SELECT * FROM t WHERE c=now();"; select = select().from("t").where(eq("c", fcall("now"))); assertEquals(select.toString(), query); query = "SELECT * FROM t WHERE c='now()';"; select = select().from("t").where(eq("c", raw("'now()'"))); assertEquals(select.toString(), query); }
@Test(groups = "unit") public void should_not_serialize_raw_query_values() { RegularStatement select = select().from("test").where(gt("i", raw("1"))); assertThat(select.getQueryString()).doesNotContain("?"); assertThat(select.getValues(ProtocolVersion.NEWEST_SUPPORTED, CodecRegistry.DEFAULT_INSTANCE)) .isNull(); }
/** * @test_category queries:builder * @jira_ticket JAVA-1286 * @jira_ticket CASSANDRA-7423 */ @Test(groups = "unit") public void should_handle_setting_udt_fields() throws Exception { assertThat( update("tbl") .with(set(path("a", quote("B")), "foo")) .and(set(raw("c.\"D\""), "bar")) .where(eq("k", 0)) .getQueryString()) .isEqualTo("UPDATE tbl SET a.\"B\"=?,c.\"D\"=? WHERE k=0;"); }
assertThat(select().all().from("foo").groupBy("c1", column("c2"), raw("c3")).toString()) .isEqualTo("SELECT * FROM foo GROUP BY c1,c2,c3;"); assertThat( .all() .from("foo") .groupBy("c1", column("c2"), raw("c3")) .orderBy(asc("c1")) .toString()) .from("foo") .where(eq("x", 42)) .groupBy("c1", column("c2"), raw("c3")) .toString()) .isEqualTo("SELECT * FROM foo WHERE x=42 GROUP BY c1,c2,c3;"); .from("foo") .where(eq("x", 42)) .groupBy("c1", column("c2"), raw("c3")) .orderBy(asc("c1")) .toString())
@Override public SelectionOrAlias raw(String rawString) { return queueName(QueryBuilder.raw(rawString)); }
@Override public SelectionOrAlias raw(String rawString) { return queueName(QueryBuilder.raw(rawString)); }
@Override public SelectionOrAlias raw(String rawString) { return queueName(QueryBuilder.raw(rawString)); }
update(table) .with(set(path("u", "first"), "Rick")) .and(set(raw("u.last"), "Jones")) .where(eq("k", "key")));
private static String insertSQL(final String table, final int timeout) { Insert insertInto = insertInto(table) .value(ID, raw("?")) .value(CREATED_AT, raw("?")) .value(ACCESSED_AT, raw("?")) .value(SAVED_AT, raw("?")) .value(ATTRIBUTES, raw("?")); if (timeout > 0) { insertInto.using(ttl(timeout)); } return insertInto.getQueryString(); }
insertInto("foo").value("k", 1).value("v", raw("foo()")), insertInto("foo").value("k", 1).value("v", Sets.newHashSet(raw("foo()"))), insertInto("foo").values(new String[] {"k", "v"}, new Object[] {1, raw("foo()")}), insertInto("foo") .values( new String[] {"k", "v"}, new Object[] {1, ImmutableMap.of("foo", raw("foo()"))}), insertInto("foo") .values( new String[] {"k", "v"}, new Object[] {1, ImmutableMap.of(raw("foo()"), "foo")}), update("foo").with(set("v", raw("foo()"))).where(eq("k", 1)), update("foo").with(set("v", Lists.newArrayList(raw("foo()")))).where(eq("k", 1)));
@Test(groups = "unit") public void should_not_attempt_to_serialize_raw_values_in_collections() { BuiltStatement query = insertInto("foo").value("v", ImmutableMap.of(1, raw("x"))); assertThat(query.getQueryString()).isEqualTo("INSERT INTO foo (v) VALUES ({1:x});"); assertThat(query.getValues(ProtocolVersion.NEWEST_SUPPORTED, CodecRegistry.DEFAULT_INSTANCE)) .isNullOrEmpty(); }
private static String deleteSQL(final String table) { return QueryBuilder.delete().from(table).where(eq(ID, raw("?"))).getQueryString(); }
private static String selectSQL(final String table) { return select().from(table).where(eq(ID, raw("?"))).getQueryString(); }
@Test(groups = "unit") public void should_not_serialize_raw_query_values() { RegularStatement select = select().from("test").where(gt("i", raw("1"))); assertThat(select.getQueryString()).doesNotContain("?"); assertThat(select.getValues(ProtocolVersion.NEWEST_SUPPORTED, CodecRegistry.DEFAULT_INSTANCE)) .isNull(); }