private void assertRow(Row row) { assertThat(row.getUUID(0)).isEqualTo(uuid); assertThat(row.getObject(0)).isEqualTo(uuid); assertThat(row.get(0, UUID.class)).isEqualTo(uuid); assertThat(row.getString(1)).isEqualTo("John Doe"); assertThat(row.getObject(1)).isEqualTo("John Doe"); assertThat(row.get(1, String.class)).isEqualTo("John Doe"); assertThat(row.getUDTValue(2)).isEqualTo(addressValue); assertThat(row.getObject(2)).isEqualTo(addressValue); assertThat(row.get(2, UDTValue.class)).isEqualTo(addressValue); }
retVal = row.getUDTValue(columnName); setFieldValue(entity, member, retVal != null ? setUDTValue(entity, member.getType(), (UDTValue) retVal, metamodel) : null);
@Test(groups = "short") public void insertUdtTest() throws Exception { UserType udtType = cluster().getMetadata().getKeyspace(keyspace).getUserType("udt"); UDTValue udtValue = udtType.newValue().setInt("i", 2).setInet("a", InetAddress.getByName("localhost")); Statement insert = insertInto("udtTest").value("k", 1).value("t", udtValue); assertEquals(insert.toString(), "INSERT INTO udtTest (k,t) VALUES (1,{i:2,a:'127.0.0.1'});"); session().execute(insert); List<Row> rows = session().execute(select().from("udtTest").where(eq("k", 1))).all(); assertEquals(rows.size(), 1); Row r1 = rows.get(0); assertEquals("127.0.0.1", r1.getUDTValue("t").getInet("a").getHostAddress()); }
@Override public UDTValue getUDTValue(int i) { return row.getUDTValue(i); }
@Override public UDTValue getUDTValue(String name) { return row.getUDTValue(name); }
@Test(groups = "short") public void should_handle_UDT_with_many_fields() throws Exception { int MAX_TEST_LENGTH = 1024; // create the seed udt StringBuilder sb = new StringBuilder(); for (int i = 0; i < MAX_TEST_LENGTH; ++i) { sb.append(String.format("v_%s int", i)); if (i + 1 < MAX_TEST_LENGTH) sb.append(","); } session().execute(String.format("CREATE TYPE lengthy_udt (%s)", sb.toString())); // create a table with multiple sizes of udts session().execute("CREATE TABLE lengthy_udt_table (k int PRIMARY KEY, v frozen<lengthy_udt>)"); // hold onto the UserType for future use UserType udtDef = cluster().getMetadata().getKeyspace(keyspace).getUserType("lengthy_udt"); // verify inserts and reads for (int i : Arrays.asList(0, 1, 2, 3, MAX_TEST_LENGTH)) { // create udt UDTValue createdUDT = udtDef.newValue(); for (int j = 0; j < i; ++j) { createdUDT.setInt(j, j); } // write udt session().execute("INSERT INTO lengthy_udt_table (k, v) VALUES (0, ?)", createdUDT); // verify udt was written and read correctly UDTValue r = session().execute("SELECT v FROM lengthy_udt_table WHERE k=0").one().getUDTValue("v"); assertThat(r.toString()).isEqualTo(createdUDT.toString()); } }
@Override public UDTValue getUDTValue(int i) { return row.getUDTValue(i); }
@Override public UDTValue getUDTValue(String name) { return row.getUDTValue(name); }
assertThat(row.getUDTValue("b")).isEqualTo(allcollectiontypes);
assertThat(row.getObject(1)).isEqualTo("John Doe"); assertThat(row.get(1, String.class)).isEqualTo("John Doe"); assertThat(row.getUDTValue(2)).isEqualTo(addressValue);
assertThat(row.getUDTValue("b")).isEqualTo(depthZero); assertThat(row.getUDTValue("c")).isEqualTo(depthOne); assertThat(row.getUDTValue("d")).isEqualTo(depthTwo); assertThat(row.getUDTValue("e")).isEqualTo(depthThree); assertThat(row.getUDTValue("f")).isEqualTo(depthFour);
@Test(groups = "short") public void should_set_registry_on_nested_udts() { ResultSet rows = session().execute("SELECT c1 FROM t1 WHERE pk = 1"); Row row = rows.one(); // here the CodecRegistry will create a codec on-the-fly using the UserType received from the // resultset metadata UDTValue udt1 = row.getUDTValue("c1"); assertThat(udt1.getCodecRegistry()).isSameAs(cluster().getConfiguration().getCodecRegistry()); UDTValue udt2 = udt1.getUDTValue("f1"); assertThat(udt2.getCodecRegistry()).isSameAs(cluster().getConfiguration().getCodecRegistry()); UDTValue udt3 = udt2.getUDTValue("f2"); assertThat(udt3.getCodecRegistry()).isSameAs(cluster().getConfiguration().getCodecRegistry()); String f3 = udt3.getString("f3"); assertThat(f3).isEqualTo("foo"); }
assertEquals(row.getUDTValue("b"), userType); assertEquals(row.getUDTValue("b"), userType);
assertThat(row.getUDTValue("b")).isEqualTo(userType); assertThat(row.getUDTValue("b")).isEqualTo(userType);
.setMap("c", null) .setTupleValue("d", null); assertThat(row.getUDTValue("b")).isEqualTo(userType); assertThat(row.getUDTValue("b")).isEqualTo(userType);
assertThat(row.getUDTValue("b")).isEqualTo(alldatatypes);
@Test(groups = "short") public void should_store_and_retrieve_with_simple_statements() throws Exception { int userId = 1; UserType addrDef = cluster().getMetadata().getKeyspace(keyspace).getUserType(quote("\"User Address\"")); UserType phoneDef = cluster().getMetadata().getKeyspace(keyspace).getUserType("phone"); UDTValue phone1 = phoneDef.newValue().setString("alias", "home").setString("number", "0123548790"); UDTValue phone2 = phoneDef.newValue().setString("alias", "work").setString("number", "0698265251"); UDTValue addr = addrDef .newValue() .setString("street", "1600 Pennsylvania Ave NW") .setInt(quote("ZIP\""), 20500) .setSet("phones", ImmutableSet.of(phone1, phone2)); session().execute("INSERT INTO user(id, addr) VALUES (?, ?)", userId, addr); Row r = session().execute("SELECT * FROM user WHERE id=?", userId).one(); assertThat(r.getInt("id")).isEqualTo(userId); assertThat(r.getUDTValue("addr")).isEqualTo(addr); }
UDTValue value = row.getUDTValue("v"); assertThat(value.getInt("regular")).isEqualTo(5); assertThat(value.getBytes("c1")).isEqualTo(serializeForDynamicCompositeType("hello", 93));
private void assertRow(Row row) { assertThat(row.getUUID(0)).isEqualTo(uuid); assertThat(row.getObject(0)).isEqualTo(uuid); assertThat(row.get(0, UUID.class)).isEqualTo(uuid); assertThat(row.getString(1)).isEqualTo("John Doe"); assertThat(row.getObject(1)).isEqualTo("John Doe"); assertThat(row.get(1, String.class)).isEqualTo("John Doe"); assertThat(row.getUDTValue(2)).isEqualTo(addressValue); assertThat(row.getObject(2)).isEqualTo(addressValue); assertThat(row.get(2, UDTValue.class)).isEqualTo(addressValue); }
public Observable<JobDetailsImpl> findAllScheduledJobs(rx.Scheduler scheduler) { return session.executeAndFetch(findAllScheduled.bind(), scheduler) .filter(filterNullJobs) .map(row -> createJobDetails( row.getUUID(1), row.getString(2), row.getString(3), row.getMap(4, String.class, String.class), getTrigger(row.getUDTValue(5)), JobStatus.fromCode(row.getByte(6)), row.getTimestamp(0))); }