try { name = TypeCodec.varchar() .deserialize(Bytes.fromHexString("0x" + bbHex), ProtocolVersion.NEWEST_SUPPORTED); } catch (NumberFormatException e) {
parser.skipBlankAndComma(); String typeName = TypeCodec.varchar() .deserialize(Bytes.fromHexString("0x" + parser.readOne()), protocolVersion); parser.skipBlankAndComma();
public ParsingCodec(TypeToken<T> javaType) { this(TypeCodec.varchar(), javaType); }
public EnumNameCodec(Class<E> enumClass) { this(TypeCodec.varchar(), enumClass); }
@DataProvider public static Object[][] value() { return new Object[][] { {ByteBuffer.allocate(0), TypeCodec.blob()}, {Boolean.TRUE, TypeCodec.cboolean()}, {(short) 42, TypeCodec.smallInt()}, {(byte) 42, TypeCodec.tinyInt()}, {42, TypeCodec.cint()}, {42L, TypeCodec.bigint()}, {42D, TypeCodec.cdouble()}, {42F, TypeCodec.cfloat()}, {new BigInteger("1234"), TypeCodec.varint()}, {new BigDecimal("123.45"), TypeCodec.decimal()}, {"foo", TypeCodec.varchar()}, {new Date(42), TypeCodec.timestamp()}, {LocalDate.fromDaysSinceEpoch(42), TypeCodec.date()}, {UUID.randomUUID(), TypeCodec.uuid()}, {mock(InetAddress.class), TypeCodec.inet()}, {Duration.from("1mo2d3h"), TypeCodec.duration()} }; }
@DataProvider public static Object[][] cqlAndValue() { return new Object[][] { {DataType.blob(), ByteBuffer.allocate(0), TypeCodec.blob()}, {DataType.cboolean(), true, TypeCodec.cboolean()}, {DataType.smallint(), (short) 42, TypeCodec.smallInt()}, {DataType.tinyint(), (byte) 42, TypeCodec.tinyInt()}, {DataType.cint(), 42, TypeCodec.cint()}, {DataType.bigint(), 42L, TypeCodec.bigint()}, {DataType.counter(), 42L, TypeCodec.counter()}, {DataType.cdouble(), 42D, TypeCodec.cdouble()}, {DataType.cfloat(), 42F, TypeCodec.cfloat()}, {DataType.varint(), new BigInteger("1234"), TypeCodec.varint()}, {DataType.decimal(), new BigDecimal("123.45"), TypeCodec.decimal()}, {DataType.varchar(), "foo", TypeCodec.varchar()}, {DataType.ascii(), "foo", TypeCodec.ascii()}, {DataType.timestamp(), new Date(42), TypeCodec.timestamp()}, {DataType.date(), LocalDate.fromDaysSinceEpoch(42), TypeCodec.date()}, {DataType.time(), 42L, TypeCodec.time()}, {DataType.uuid(), UUID.randomUUID(), TypeCodec.uuid()}, {DataType.timeuuid(), UUID.randomUUID(), TypeCodec.timeUUID()}, {DataType.inet(), mock(InetAddress.class), TypeCodec.inet()}, {DataType.duration(), Duration.from("1mo2d3h"), TypeCodec.duration()} }; }
TypeCodec.varchar() .serialize("This is some sample text", ProtocolVersion.NEWEST_SUPPORTED);
@Test(groups = "unit") public void test_varchar_vs_text() { assertThat(TypeCodec.varchar()).accepts(String.class).accepts(varchar()).accepts(text()); assertThat(TypeCodec.list(TypeCodec.varchar())).accepts(list(varchar())).accepts(list(text())); assertThat(TypeCodec.set(TypeCodec.varchar())).accepts(set(varchar())).accepts(set(text())); assertThat(TypeCodec.map(TypeCodec.varchar(), TypeCodec.varchar())) .accepts(map(varchar(), varchar())) .accepts(map(varchar(), text()))
@Test(groups = "unit") public void test_ascii_vs_utf8() { TypeCodec<String> asciiCodec = TypeCodec.ascii(); TypeCodec<String> utf8Codec = TypeCodec.varchar(); String ascii = "The quick brown fox jumps over the lazy dog!"; String utf8 = "Dès Noël, où un zéphyr haï me vêt de glaçons würmiens, je dîne d’exquis rôtis de bœuf au kir à l’aÿ d’âge mûr & cætera!"; assertThat(asciiCodec) .accepts(String.class) .accepts(ascii()) .doesNotAccept(varchar()) .doesNotAccept(text()) .accepts(ascii) .canSerialize(ascii) .cannotSerialize(utf8); assertThat(utf8Codec) .accepts(String.class) .doesNotAccept(ascii()) .accepts(varchar()) .accepts(text()) .accepts(ascii) .accepts(utf8) .canSerialize(ascii) .canSerialize(utf8); }
TypeCodec.varchar() .serialize( "should_choose_host_in_local_dc_when_using_network_topology_strategy_and_dc_aware",
TypeCodec.varchar() .serialize( "should_choose_proper_host_based_on_routing_key",
public Map<String, String> getNameAndTypeParameters() { // The order of the hashmap matters for UDT Map<String, String> map = new LinkedHashMap<String, String>(); while (skipBlankAndComma()) { if (str.charAt(idx) == ')') { ++idx; return map; } String bbHex = readNextIdentifier(); String name = null; try { name = TypeCodec.varchar().deserialize(Bytes.fromHexString("0x" + bbHex), ProtocolVersion.NEWEST_SUPPORTED); } catch (NumberFormatException e) { throwSyntaxError(e.getMessage()); } skipBlank(); if (str.charAt(idx) != ':') throwSyntaxError("expecting ':' token"); ++idx; skipBlank(); try { map.put(name, readOne()); } catch (DriverInternalError e) { DriverInternalError ex = new DriverInternalError(String.format("Exception while parsing '%s' around char %d", str, idx)); ex.initCause(e); throw ex; } } throw new DriverInternalError(String.format("Syntax error parsing '%s' at char %d: unexpected end of string", str, idx)); }
@DataProvider public static Object[][] cql() { return new Object[][] { {DataType.blob(), TypeCodec.blob()}, {DataType.cboolean(), TypeCodec.cboolean()}, {DataType.smallint(), TypeCodec.smallInt()}, {DataType.tinyint(), TypeCodec.tinyInt()}, {DataType.cint(), TypeCodec.cint()}, {DataType.bigint(), TypeCodec.bigint()}, {DataType.counter(), TypeCodec.counter()}, {DataType.cdouble(), TypeCodec.cdouble()}, {DataType.cfloat(), TypeCodec.cfloat()}, {DataType.varint(), TypeCodec.varint()}, {DataType.decimal(), TypeCodec.decimal()}, {DataType.varchar(), TypeCodec.varchar()}, {DataType.ascii(), TypeCodec.ascii()}, {DataType.timestamp(), TypeCodec.timestamp()}, {DataType.date(), TypeCodec.date()}, {DataType.time(), TypeCodec.time()}, {DataType.uuid(), TypeCodec.uuid()}, {DataType.timeuuid(), TypeCodec.timeUUID()}, {DataType.inet(), TypeCodec.inet()}, {DataType.duration(), TypeCodec.duration()} }; }
@DataProvider public static Object[][] cqlAndJava() { return new Object[][] { {DataType.blob(), ByteBuffer.class, TypeCodec.blob()}, {DataType.cboolean(), Boolean.class, TypeCodec.cboolean()}, {DataType.smallint(), Short.class, TypeCodec.smallInt()}, {DataType.tinyint(), Byte.class, TypeCodec.tinyInt()}, {DataType.cint(), Integer.class, TypeCodec.cint()}, {DataType.bigint(), Long.class, TypeCodec.bigint()}, {DataType.counter(), Long.class, TypeCodec.counter()}, {DataType.cdouble(), Double.class, TypeCodec.cdouble()}, {DataType.cfloat(), Float.class, TypeCodec.cfloat()}, {DataType.varint(), BigInteger.class, TypeCodec.varint()}, {DataType.decimal(), BigDecimal.class, TypeCodec.decimal()}, {DataType.varchar(), String.class, TypeCodec.varchar()}, {DataType.ascii(), String.class, TypeCodec.ascii()}, {DataType.timestamp(), Date.class, TypeCodec.timestamp()}, {DataType.date(), LocalDate.class, TypeCodec.date()}, {DataType.time(), Long.class, TypeCodec.time()}, {DataType.uuid(), UUID.class, TypeCodec.uuid()}, {DataType.timeuuid(), UUID.class, TypeCodec.timeUUID()}, {DataType.inet(), InetAddress.class, TypeCodec.inet()}, {DataType.duration(), Duration.class, TypeCodec.duration()} }; }
TypeCodec.bigint().serialize(42L, ProtocolVersion.NEWEST_SUPPORTED); ByteBuffer routingKeyK1Part = TypeCodec.varchar().serialize("hello_world", ProtocolVersion.NEWEST_SUPPORTED); bs.setRoutingKey(routingKeyK0Part, routingKeyK1Part);
TypeCodec.varchar() .serialize( "should_use_other_nodes_when_replicas_having_token_are_down",
@DataProvider public static Object[][] value() { return new Object[][] { {ByteBuffer.allocate(0), TypeCodec.blob()}, {Boolean.TRUE, TypeCodec.cboolean()}, {(short) 42, TypeCodec.smallInt()}, {(byte) 42, TypeCodec.tinyInt()}, {42, TypeCodec.cint()}, {42L, TypeCodec.bigint()}, {42D, TypeCodec.cdouble()}, {42F, TypeCodec.cfloat()}, {new BigInteger("1234"), TypeCodec.varint()}, {new BigDecimal("123.45"), TypeCodec.decimal()}, {"foo", TypeCodec.varchar()}, {new Date(42), TypeCodec.timestamp()}, {LocalDate.fromDaysSinceEpoch(42), TypeCodec.date()}, {UUID.randomUUID(), TypeCodec.uuid()}, {mock(InetAddress.class), TypeCodec.inet()}, {Duration.from("1mo2d3h"), TypeCodec.duration()} }; }
@DataProvider public static Object[][] cqlAndValue() { return new Object[][] { {DataType.blob(), ByteBuffer.allocate(0), TypeCodec.blob()}, {DataType.cboolean(), true, TypeCodec.cboolean()}, {DataType.smallint(), (short) 42, TypeCodec.smallInt()}, {DataType.tinyint(), (byte) 42, TypeCodec.tinyInt()}, {DataType.cint(), 42, TypeCodec.cint()}, {DataType.bigint(), 42L, TypeCodec.bigint()}, {DataType.counter(), 42L, TypeCodec.counter()}, {DataType.cdouble(), 42D, TypeCodec.cdouble()}, {DataType.cfloat(), 42F, TypeCodec.cfloat()}, {DataType.varint(), new BigInteger("1234"), TypeCodec.varint()}, {DataType.decimal(), new BigDecimal("123.45"), TypeCodec.decimal()}, {DataType.varchar(), "foo", TypeCodec.varchar()}, {DataType.ascii(), "foo", TypeCodec.ascii()}, {DataType.timestamp(), new Date(42), TypeCodec.timestamp()}, {DataType.date(), LocalDate.fromDaysSinceEpoch(42), TypeCodec.date()}, {DataType.time(), 42L, TypeCodec.time()}, {DataType.uuid(), UUID.randomUUID(), TypeCodec.uuid()}, {DataType.timeuuid(), UUID.randomUUID(), TypeCodec.timeUUID()}, {DataType.inet(), mock(InetAddress.class), TypeCodec.inet()}, {DataType.duration(), Duration.from("1mo2d3h"), TypeCodec.duration()} }; }
@Test(groups = "unit") public void test_ascii_vs_utf8() { TypeCodec<String> asciiCodec = TypeCodec.ascii(); TypeCodec<String> utf8Codec = TypeCodec.varchar(); String ascii = "The quick brown fox jumps over the lazy dog!"; String utf8 = "Dès Noël, où un zéphyr haï me vêt de glaçons würmiens, je dîne d’exquis rôtis de bœuf au kir à l’aÿ d’âge mûr & cætera!"; assertThat(asciiCodec) .accepts(String.class) .accepts(ascii()) .doesNotAccept(varchar()) .doesNotAccept(text()) .accepts(ascii) .canSerialize(ascii) .cannotSerialize(utf8); assertThat(utf8Codec) .accepts(String.class) .doesNotAccept(ascii()) .accepts(varchar()) .accepts(text()) .accepts(ascii) .accepts(utf8) .canSerialize(ascii) .canSerialize(utf8); }
@DataProvider public static Object[][] cqlAndJava() { return new Object[][] { {DataType.blob(), ByteBuffer.class, TypeCodec.blob()}, {DataType.cboolean(), Boolean.class, TypeCodec.cboolean()}, {DataType.smallint(), Short.class, TypeCodec.smallInt()}, {DataType.tinyint(), Byte.class, TypeCodec.tinyInt()}, {DataType.cint(), Integer.class, TypeCodec.cint()}, {DataType.bigint(), Long.class, TypeCodec.bigint()}, {DataType.counter(), Long.class, TypeCodec.counter()}, {DataType.cdouble(), Double.class, TypeCodec.cdouble()}, {DataType.cfloat(), Float.class, TypeCodec.cfloat()}, {DataType.varint(), BigInteger.class, TypeCodec.varint()}, {DataType.decimal(), BigDecimal.class, TypeCodec.decimal()}, {DataType.varchar(), String.class, TypeCodec.varchar()}, {DataType.ascii(), String.class, TypeCodec.ascii()}, {DataType.timestamp(), Date.class, TypeCodec.timestamp()}, {DataType.date(), LocalDate.class, TypeCodec.date()}, {DataType.time(), Long.class, TypeCodec.time()}, {DataType.uuid(), UUID.class, TypeCodec.uuid()}, {DataType.timeuuid(), UUID.class, TypeCodec.timeUUID()}, {DataType.inet(), InetAddress.class, TypeCodec.inet()}, {DataType.duration(), Duration.class, TypeCodec.duration()} }; }