From 7e3cca7e401bc2343ebf34ef2801fcec6787b626 Mon Sep 17 00:00:00 2001 From: Michael Karsten Date: Fri, 21 Mar 2025 12:09:31 -0700 Subject: [PATCH 1/3] fix: use new config name --- .../oss/driver/api/querybuilder/schema/RelationOptions.java | 2 +- .../driver/api/querybuilder/schema/CreateDseTableTest.java | 6 +++--- .../oss/driver/api/querybuilder/schema/CreateTableTest.java | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java b/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java index 022562def81..78c80e9d1c9 100644 --- a/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java +++ b/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java @@ -205,7 +205,7 @@ default SelfT withCompression( ImmutableMap.of( "class", compressionAlgorithmName, - "chunk_length_kb", + "chunk_length_in_kb", chunkLengthKB, "crc_check_chance", crcCheckChance)); diff --git a/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java b/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java index 7fec9674628..fb2e48d819f 100644 --- a/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java +++ b/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java @@ -201,7 +201,7 @@ public void should_generate_create_table_lz4_compression_options() { .withColumn("v", DataTypes.TEXT) .withLZ4Compression(1024, .5)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_kb':1024,'crc_check_chance':0.5}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_in_kb':1024,'crc_check_chance':0.5}"); } @Test @@ -223,7 +223,7 @@ public void should_generate_create_table_snappy_compression_options() { .withColumn("v", DataTypes.TEXT) .withSnappyCompression(2048, .25)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_kb':2048,'crc_check_chance':0.25}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048,'crc_check_chance':0.25}"); } @Test @@ -245,7 +245,7 @@ public void should_generate_create_table_deflate_compression_options() { .withColumn("v", DataTypes.TEXT) .withDeflateCompression(4096, .1)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_kb':4096,'crc_check_chance':0.1}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096,'crc_check_chance':0.1}"); } @Test diff --git a/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java b/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java index 15cd12c75eb..cf99fa6f512 100644 --- a/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java +++ b/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java @@ -205,7 +205,7 @@ public void should_generate_create_table_lz4_compression_options() { .withColumn("v", DataTypes.TEXT) .withLZ4Compression(1024, .5)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_kb':1024,'crc_check_chance':0.5}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_in_kb':1024,'crc_check_chance':0.5}"); } @Test @@ -227,7 +227,7 @@ public void should_generate_create_table_snappy_compression_options() { .withColumn("v", DataTypes.TEXT) .withSnappyCompression(2048, .25)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_kb':2048,'crc_check_chance':0.25}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048,'crc_check_chance':0.25}"); } @Test @@ -249,7 +249,7 @@ public void should_generate_create_table_deflate_compression_options() { .withColumn("v", DataTypes.TEXT) .withDeflateCompression(4096, .1)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_kb':4096,'crc_check_chance':0.1}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096,'crc_check_chance':0.1}"); } @Test From be6cd82bca14d1b83e903b9c1d3e449bb082da59 Mon Sep 17 00:00:00 2001 From: Michael Karsten Date: Mon, 7 Apr 2025 16:40:56 -0700 Subject: [PATCH 2/3] refactor: leave existing methods in place for backward compatibility. Add Zstd as a built-in option. --- .../querybuilder/schema/RelationOptions.java | 114 ++++++++++++++---- .../schema/CreateDseTableTest.java | 61 +++++++++- .../querybuilder/schema/CreateTableTest.java | 61 +++++++++- 3 files changed, 208 insertions(+), 28 deletions(-) diff --git a/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java b/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java index 78c80e9d1c9..c60a890e39c 100644 --- a/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java +++ b/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java @@ -19,6 +19,7 @@ import static com.datastax.oss.driver.api.querybuilder.SchemaBuilder.RowsPerPartition; +import com.datastax.oss.driver.api.core.config.DriverConfigLoader; import com.datastax.oss.driver.api.querybuilder.SchemaBuilder; import com.datastax.oss.driver.api.querybuilder.schema.compaction.CompactionStrategy; import com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap; @@ -97,22 +98,32 @@ default SelfT withCompaction(@NonNull CompactionStrategy compactionStrategy) } /** - * Configures compression using the LZ4 algorithm with the given chunk length and crc check - * chance. - * - * @see #withCompression(String, int, double) + * @deprecated This method only exists for backward compatibility. Use {@link + * RelationOptions#withLZ4Compression(chunkLengthKB)} instead. */ + @Deprecated @NonNull @CheckReturnValue default SelfT withLZ4Compression(int chunkLengthKB, double crcCheckChance) { return withCompression("LZ4Compressor", chunkLengthKB, crcCheckChance); } + /** + * Configures compression using the LZ4 algorithm with the given chunk length. + * + * @see #withCompression(String, int) + */ + @NonNull + @CheckReturnValue + default SelfT withLZ4Compression(int chunkLengthKB) { + return withCompression("LZ4Compressor", chunkLengthKB); + } + /** * Configures compression using the LZ4 algorithm using the default configuration (64kb - * chunk_length, and 1.0 crc_check_chance). + * chunk_length). * - * @see #withCompression(String, int, double) + * @see #withCompression(String, int) */ @NonNull @CheckReturnValue @@ -121,22 +132,55 @@ default SelfT withLZ4Compression() { } /** - * Configures compression using the Snappy algorithm with the given chunk length and crc check - * chance. + * Configures compression using the Zstd algorithm with the given chunk length. + * + * @see #withCompression(String, int) + */ + @NonNull + @CheckReturnValue + default SelfT withZstdCompression(int chunkLengthKB) { + return withCompression("org.apache.cassandra.io.compress.ZstdCompressor", chunkLengthKB); + } + + /** + * Configures compression using the Zstd algorithm using the default configuration (64kb + * chunk_length). * - * @see #withCompression(String, int, double) + * @see #withCompression(String, int) + */ + @NonNull + @CheckReturnValue + default SelfT withZstdCompression() { + return withCompression("org.apache.cassandra.io.compress.ZstdCompressor"); + } + + /** + * @deprecated This method only exists for backward compatibility. Use {@link + * RelationOptions#withSnappyCompression(chunkLengthKB)} instead. */ + @Deprecated @NonNull @CheckReturnValue default SelfT withSnappyCompression(int chunkLengthKB, double crcCheckChance) { return withCompression("SnappyCompressor", chunkLengthKB, crcCheckChance); } + /** + * Configures compression using the Snappy algorithm with the given chunk length. + * + * @see #withCompression(String, int) + */ + @NonNull + @CheckReturnValue + default SelfT withSnappyCompression(int chunkLengthKB) { + return withCompression("SnappyCompressor", chunkLengthKB); + } + /** * Configures compression using the Snappy algorithm using the default configuration (64kb - * chunk_length, and 1.0 crc_check_chance). + * chunk_length). * - * @see #withCompression(String, int, double) + * @see #withCompression(String, int) */ @NonNull @CheckReturnValue @@ -145,22 +189,32 @@ default SelfT withSnappyCompression() { } /** - * Configures compression using the Deflate algorithm with the given chunk length and crc check - * chance. - * - * @see #withCompression(String, int, double) + * @deprecated This method only exists for backward compatibility. Use {@link + * RelationOptions#withDeflateCompression(chunkLengthKB)} instead. */ + @Deprecated @NonNull @CheckReturnValue default SelfT withDeflateCompression(int chunkLengthKB, double crcCheckChance) { return withCompression("DeflateCompressor", chunkLengthKB, crcCheckChance); } + /** + * Configures compression using the Deflate algorithm with the given chunk length. + * + * @see #withCompression(String, int) + */ + @NonNull + @CheckReturnValue + default SelfT withDeflateCompression(int chunkLengthKB) { + return withCompression("DeflateCompressor", chunkLengthKB); + } + /** * Configures compression using the Deflate algorithm using the default configuration (64kb * chunk_length, and 1.0 crc_check_chance). * - * @see #withCompression(String, int, double) + * @see #withCompression(String, int) */ @NonNull @CheckReturnValue @@ -170,13 +224,13 @@ default SelfT withDeflateCompression() { /** * Configures compression using the given algorithm using the default configuration (64kb - * chunk_length, and 1.0 crc_check_chance). + * chunk_length). * *

Unless specifying a custom compression algorithm implementation, it is recommended to use * {@link #withLZ4Compression()}, {@link #withSnappyCompression()}, or {@link * #withDeflateCompression()}. * - * @see #withCompression(String, int, double) + * @see #withCompression(String, int) */ @NonNull @CheckReturnValue @@ -185,7 +239,7 @@ default SelfT withCompression(@NonNull String compressionAlgorithmName) { } /** - * Configures compression using the given algorithm, chunk length and crc check chance. + * Configures compression using the given algorithm, chunk length. * *

Unless specifying a custom compression algorithm implementation, it is recommended to use * {@link #withLZ4Compression()}, {@link #withSnappyCompression()}, or {@link @@ -193,11 +247,27 @@ default SelfT withCompression(@NonNull String compressionAlgorithmName) { * * @param compressionAlgorithmName The class name of the compression algorithm. * @param chunkLengthKB The chunk length in KB of compression blocks. Defaults to 64. - * @param crcCheckChance The probability (0.0 to 1.0) that checksum will be checked on each read. - * Defaults to 1.0. */ @NonNull @CheckReturnValue + default SelfT withCompression( + @NonNull String compressionAlgorithmName, int chunkLengthKB) { + return withOption( + "compression", + ImmutableMap.of( + "class", + compressionAlgorithmName, + "chunk_length_in_kb", + chunkLengthKB)); + } + + /** + * @deprecated This method only exists for backward compatibility. Use {@link + * RelationOptions#withCompression(compressionAlgorithmName, chunkLengthKB)} instead. + */ + @NonNull + @CheckReturnValue + @Deprecated default SelfT withCompression( @NonNull String compressionAlgorithmName, int chunkLengthKB, double crcCheckChance) { return withOption( @@ -205,7 +275,7 @@ default SelfT withCompression( ImmutableMap.of( "class", compressionAlgorithmName, - "chunk_length_in_kb", + "chunk_length_kb", chunkLengthKB, "crc_check_chance", crcCheckChance)); diff --git a/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java b/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java index fb2e48d819f..04132838880 100644 --- a/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java +++ b/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java @@ -195,13 +195,46 @@ public void should_generate_create_table_lz4_compression() { @Test public void should_generate_create_table_lz4_compression_options() { + assertThat( + createDseTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withLZ4Compression(1024)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_kb':1024}"); + } + + @Test + public void should_generate_create_table_lz4_compression_options_crc() { assertThat( createDseTable("bar") .withPartitionKey("k", DataTypes.INT) .withColumn("v", DataTypes.TEXT) .withLZ4Compression(1024, .5)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_in_kb':1024,'crc_check_chance':0.5}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_kb':1024,'crc_check_chance':0.5}"); + } + + @Test + public void should_generate_create_table_zstd_compression() { + assertThat( + createDseTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withZstdCompression()) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor'}"); + } + + @Test + public void should_generate_create_table_zstd_compression_options() { + assertThat( + createDseTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withZstdCompression(1024)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor','chunk_length_in_kb':1024}"); } @Test @@ -217,13 +250,24 @@ public void should_generate_create_table_snappy_compression() { @Test public void should_generate_create_table_snappy_compression_options() { + assertThat( + createDseTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withSnappyCompression(2048)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048}"); + } + + @Test + public void should_generate_create_table_snappy_compression_options_crc() { assertThat( createDseTable("bar") .withPartitionKey("k", DataTypes.INT) .withColumn("v", DataTypes.TEXT) .withSnappyCompression(2048, .25)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048,'crc_check_chance':0.25}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_kb':2048,'crc_check_chance':0.25}"); } @Test @@ -239,13 +283,24 @@ public void should_generate_create_table_deflate_compression() { @Test public void should_generate_create_table_deflate_compression_options() { + assertThat( + createDseTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withDeflateCompression(4096)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096}"); + } + + @Test + public void should_generate_create_table_deflate_compression_options_crc() { assertThat( createDseTable("bar") .withPartitionKey("k", DataTypes.INT) .withColumn("v", DataTypes.TEXT) .withDeflateCompression(4096, .1)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096,'crc_check_chance':0.1}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_kb':4096,'crc_check_chance':0.1}"); } @Test diff --git a/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java b/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java index cf99fa6f512..a1e27806ce9 100644 --- a/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java +++ b/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java @@ -199,13 +199,46 @@ public void should_generate_create_table_lz4_compression() { @Test public void should_generate_create_table_lz4_compression_options() { + assertThat( + createTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withLZ4Compression(1024)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_in_kb':1024}"); + } + + @Test + public void should_generate_create_table_lz4_compression_options_crc() { assertThat( createTable("bar") .withPartitionKey("k", DataTypes.INT) .withColumn("v", DataTypes.TEXT) .withLZ4Compression(1024, .5)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_in_kb':1024,'crc_check_chance':0.5}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_kb':1024,'crc_check_chance':0.5}"); + } + + @Test + public void should_generate_create_table_zstd_compression() { + assertThat( + createTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withZstdCompression()) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor'}"); + } + + @Test + public void should_generate_create_table_zstd_compression_options() { + assertThat( + createTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withZstdCompression(1024)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor','chunk_length_in_kb':1024}"); } @Test @@ -221,13 +254,24 @@ public void should_generate_create_table_snappy_compression() { @Test public void should_generate_create_table_snappy_compression_options() { + assertThat( + createTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withSnappyCompression(2048)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048}"); + } + + @Test + public void should_generate_create_table_snappy_compression_options_crc() { assertThat( createTable("bar") .withPartitionKey("k", DataTypes.INT) .withColumn("v", DataTypes.TEXT) .withSnappyCompression(2048, .25)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048,'crc_check_chance':0.25}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_kb':2048,'crc_check_chance':0.25}"); } @Test @@ -243,13 +287,24 @@ public void should_generate_create_table_deflate_compression() { @Test public void should_generate_create_table_deflate_compression_options() { + assertThat( + createTable("bar") + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withDeflateCompression(4096)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096}"); + } + + @Test + public void should_generate_create_table_deflate_compression_options_crc() { assertThat( createTable("bar") .withPartitionKey("k", DataTypes.INT) .withColumn("v", DataTypes.TEXT) .withDeflateCompression(4096, .1)) .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096,'crc_check_chance':0.1}"); + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_kb':4096,'crc_check_chance':0.1}"); } @Test From 2e9c1c402287dc9654045293bae78552fccbbf6e Mon Sep 17 00:00:00 2001 From: Michael Karsten Date: Mon, 7 Apr 2025 17:09:41 -0700 Subject: [PATCH 3/3] chore: cleanup docs --- .../querybuilder/schema/RelationOptions.java | 22 +++----- .../schema/CreateDseTableTest.java | 50 +++++++++---------- .../querybuilder/schema/CreateTableTest.java | 50 +++++++++---------- 3 files changed, 58 insertions(+), 64 deletions(-) diff --git a/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java b/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java index c60a890e39c..b38ebc1dd56 100644 --- a/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java +++ b/query-builder/src/main/java/com/datastax/oss/driver/api/querybuilder/schema/RelationOptions.java @@ -19,7 +19,6 @@ import static com.datastax.oss.driver.api.querybuilder.SchemaBuilder.RowsPerPartition; -import com.datastax.oss.driver.api.core.config.DriverConfigLoader; import com.datastax.oss.driver.api.querybuilder.SchemaBuilder; import com.datastax.oss.driver.api.querybuilder.schema.compaction.CompactionStrategy; import com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap; @@ -99,7 +98,7 @@ default SelfT withCompaction(@NonNull CompactionStrategy compactionStrategy) /** * @deprecated This method only exists for backward compatibility. Use {@link - * RelationOptions#withLZ4Compression(chunkLengthKB)} instead. + * #withLZ4Compression(int)} instead. */ @Deprecated @NonNull @@ -156,7 +155,7 @@ default SelfT withZstdCompression() { /** * @deprecated This method only exists for backward compatibility. Use {@link - * RelationOptions#withSnappyCompression(chunkLengthKB)} instead. + * #withSnappyCompression(int)} instead. */ @Deprecated @NonNull @@ -190,7 +189,7 @@ default SelfT withSnappyCompression() { /** * @deprecated This method only exists for backward compatibility. Use {@link - * RelationOptions#withDeflateCompression(chunkLengthKB)} instead. + * #withDeflateCompression(int)} instead. */ @Deprecated @NonNull @@ -212,7 +211,7 @@ default SelfT withDeflateCompression(int chunkLengthKB) { /** * Configures compression using the Deflate algorithm using the default configuration (64kb - * chunk_length, and 1.0 crc_check_chance). + * chunk_length). * * @see #withCompression(String, int) */ @@ -250,20 +249,15 @@ default SelfT withCompression(@NonNull String compressionAlgorithmName) { */ @NonNull @CheckReturnValue - default SelfT withCompression( - @NonNull String compressionAlgorithmName, int chunkLengthKB) { + default SelfT withCompression(@NonNull String compressionAlgorithmName, int chunkLengthKB) { return withOption( - "compression", - ImmutableMap.of( - "class", - compressionAlgorithmName, - "chunk_length_in_kb", - chunkLengthKB)); + "compression", + ImmutableMap.of("class", compressionAlgorithmName, "chunk_length_in_kb", chunkLengthKB)); } /** * @deprecated This method only exists for backward compatibility. Use {@link - * RelationOptions#withCompression(compressionAlgorithmName, chunkLengthKB)} instead. + * #withCompression(String, int)} instead. */ @NonNull @CheckReturnValue diff --git a/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java b/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java index 04132838880..dd1475b1f8c 100644 --- a/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java +++ b/query-builder/src/test/java/com/datastax/dse/driver/api/querybuilder/schema/CreateDseTableTest.java @@ -197,11 +197,11 @@ public void should_generate_create_table_lz4_compression() { public void should_generate_create_table_lz4_compression_options() { assertThat( createDseTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withLZ4Compression(1024)) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_kb':1024}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withLZ4Compression(1024)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_kb':1024}"); } @Test @@ -219,22 +219,22 @@ public void should_generate_create_table_lz4_compression_options_crc() { public void should_generate_create_table_zstd_compression() { assertThat( createDseTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withZstdCompression()) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor'}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withZstdCompression()) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor'}"); } @Test public void should_generate_create_table_zstd_compression_options() { assertThat( createDseTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withZstdCompression(1024)) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor','chunk_length_in_kb':1024}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withZstdCompression(1024)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor','chunk_length_in_kb':1024}"); } @Test @@ -252,11 +252,11 @@ public void should_generate_create_table_snappy_compression() { public void should_generate_create_table_snappy_compression_options() { assertThat( createDseTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withSnappyCompression(2048)) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withSnappyCompression(2048)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048}"); } @Test @@ -285,11 +285,11 @@ public void should_generate_create_table_deflate_compression() { public void should_generate_create_table_deflate_compression_options() { assertThat( createDseTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withDeflateCompression(4096)) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withDeflateCompression(4096)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096}"); } @Test diff --git a/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java b/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java index a1e27806ce9..bbbe8fbba65 100644 --- a/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java +++ b/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/schema/CreateTableTest.java @@ -201,11 +201,11 @@ public void should_generate_create_table_lz4_compression() { public void should_generate_create_table_lz4_compression_options() { assertThat( createTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withLZ4Compression(1024)) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_in_kb':1024}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withLZ4Compression(1024)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'LZ4Compressor','chunk_length_in_kb':1024}"); } @Test @@ -223,22 +223,22 @@ public void should_generate_create_table_lz4_compression_options_crc() { public void should_generate_create_table_zstd_compression() { assertThat( createTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withZstdCompression()) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor'}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withZstdCompression()) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor'}"); } @Test public void should_generate_create_table_zstd_compression_options() { assertThat( createTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withZstdCompression(1024)) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor','chunk_length_in_kb':1024}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withZstdCompression(1024)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'org.apache.cassandra.io.compress.ZstdCompressor','chunk_length_in_kb':1024}"); } @Test @@ -256,11 +256,11 @@ public void should_generate_create_table_snappy_compression() { public void should_generate_create_table_snappy_compression_options() { assertThat( createTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withSnappyCompression(2048)) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withSnappyCompression(2048)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'SnappyCompressor','chunk_length_in_kb':2048}"); } @Test @@ -289,11 +289,11 @@ public void should_generate_create_table_deflate_compression() { public void should_generate_create_table_deflate_compression_options() { assertThat( createTable("bar") - .withPartitionKey("k", DataTypes.INT) - .withColumn("v", DataTypes.TEXT) - .withDeflateCompression(4096)) - .hasCql( - "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096}"); + .withPartitionKey("k", DataTypes.INT) + .withColumn("v", DataTypes.TEXT) + .withDeflateCompression(4096)) + .hasCql( + "CREATE TABLE bar (k int PRIMARY KEY,v text) WITH compression={'class':'DeflateCompressor','chunk_length_in_kb':4096}"); } @Test