diff --git a/.idea/misc.xml b/.idea/misc.xml
index 014943bf2b..b5850a4e20 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,47 +8,55 @@
+
-
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index d4dc5c72ea..86823573f1 100644
--- a/build.gradle
+++ b/build.gradle
@@ -191,8 +191,8 @@ subprojects {
apply from: rootProject.file('gradle/testing.gradle')
java {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
}
def publishBuild = Boolean.parseBoolean(findProperty('publishBuild') ?: 'false')
@@ -233,7 +233,7 @@ subprojects {
// It would be good to have more coverage, but this allows us to move forward with incomplete docs
options.addBooleanOption('Xdoclint:none', true)
- options.addStringOption('source', '11')
+ options.addStringOption('source', '17')
options.with {
overview "src/main/javadoc/overview.html"
@@ -257,8 +257,8 @@ subprojects {
//enable incremental compilation
options.incremental = true
- //target byte-code compatibility with Java 11 (regardless of build JDK)
- options.release = 11
+ //target byte-code compatibility with Java 17 (regardless of build JDK)
+ options.release = 17
}
}
}
diff --git a/fdb-extensions/src/test/java/com/apple/foundationdb/async/RangeSetTest.java b/fdb-extensions/src/test/java/com/apple/foundationdb/async/RangeSetTest.java
index b830405c33..2b9a500f22 100644
--- a/fdb-extensions/src/test/java/com/apple/foundationdb/async/RangeSetTest.java
+++ b/fdb-extensions/src/test/java/com/apple/foundationdb/async/RangeSetTest.java
@@ -357,7 +357,7 @@ void insertNonOverlappingRanges() {
Range fullRange = new Range(new byte[]{1}, new byte[]{(byte) (transactionCount + 1)});
List gaps = IntStream.range(0, transactionCount)
.mapToObj(i -> new Range(new byte[]{(byte)(i + 1), 0x00}, new byte[]{(byte)(i + 2)}))
- .collect(Collectors.toList());
+ .toList();
assertGaps(fullRange, gaps, new byte[]{(byte)(transactionCount), 0x00});
}
@@ -386,7 +386,7 @@ void insertOverlappingRanges() {
List gaps = IntStream.range(0, transactionCount)
.filter(i -> i % 2 != 0)
.mapToObj(i -> new Range(new byte[]{(byte)(i + 1), 0x00}, new byte[]{(byte)(i + 2)}))
- .collect(Collectors.toList());
+ .toList();
assertGaps(fullRange, gaps, new byte[]{(byte)(transactionCount), 0x00});
}
@@ -432,7 +432,7 @@ private void assertGaps(Range fullRange, List gaps, byte[] lastInRange) {
void concurrentlyReadAndFillInGaps() {
List ranges = IntStream.range(0, 10)
.mapToObj(i -> new Range(new byte[]{(byte) (2 * i + 1)}, new byte[]{(byte) (2 * i + 2)}))
- .collect(Collectors.toList());
+ .toList();
try (Transaction tr = db.createTransaction()) {
for (Range r : ranges) {
rs.insertRange(tr, r, true).join();
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/SqlInsertTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/SqlInsertTest.java
index ad549732b5..64bf2a3a16 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/SqlInsertTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/SqlInsertTest.java
@@ -52,10 +52,13 @@ public class SqlInsertTest {
@RegisterExtension
@Order(1)
- public final SimpleDatabaseRule database = new SimpleDatabaseRule(
- BasicMetadataTest.class, "CREATE TABLE simple (rest_no bigint, name string, primary key(rest_no)) " +
- "CREATE TYPE AS STRUCT location (address string, latitude string, longitude string) " +
- "CREATE TABLE with_loc (rest_no bigint, name string, loc location, primary key(rest_no))");
+ public final SimpleDatabaseRule database = new SimpleDatabaseRule(BasicMetadataTest.class,
+ """
+ CREATE TABLE simple (rest_no bigint, name string, primary key(rest_no))
+ CREATE TYPE AS STRUCT location (address string, latitude string, longitude string)
+ CREATE TABLE with_loc (rest_no bigint, name string, loc location, primary key(rest_no))
+ """
+ );
@ParameterizedTest
@ValueSource(booleans = {true, false})
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/CaseSensitiveDbObjectsTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/CaseSensitiveDbObjectsTest.java
index 8c95663bb8..5e0ea17305 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/CaseSensitiveDbObjectsTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/CaseSensitiveDbObjectsTest.java
@@ -45,8 +45,10 @@
*/
public class CaseSensitiveDbObjectsTest {
@Nonnull
- private static final String SCHEMA_TEMPLATE = "CREATE TABLE \"t1\" (\"group\" bigint, \"id\" string, \"val\" " +
- "bigint, PRIMARY KEY(\"group\", \"id\")) ";
+ private static final String SCHEMA_TEMPLATE =
+ """
+ CREATE TABLE "t1" ("group" bigint, "id" string, "val" bigint, PRIMARY KEY("group", "id"))
+ """;
@RegisterExtension
@Order(0)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/DeleteRangeNoMetadataKeyTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/DeleteRangeNoMetadataKeyTest.java
index cd30e2e11a..f05c2d255c 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/DeleteRangeNoMetadataKeyTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/DeleteRangeNoMetadataKeyTest.java
@@ -47,8 +47,11 @@
* has records that share a single primary key extent.
*/
public class DeleteRangeNoMetadataKeyTest {
- private static final String SCHEMA_TEMPLATE = " CREATE TABLE t1 (id bigint, a string, b string, c string, d string, PRIMARY KEY(id, a, b)) " +
- "CREATE TABLE t2 (id bigint, a string, b string, e bigint, f boolean, PRIMARY KEY(id, a, b))";
+ private static final String SCHEMA_TEMPLATE =
+ """
+ CREATE TABLE t1 (id bigint, a string, b string, c string, d string, PRIMARY KEY(id, a, b))
+ CREATE TABLE t2 (id bigint, a string, b string, e bigint, f boolean, PRIMARY KEY(id, a, b))
+ """;
@RegisterExtension
@Order(0)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/IntermingledTablesTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/IntermingledTablesTest.java
index 0172e8db31..15f01e5922 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/IntermingledTablesTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/IntermingledTablesTest.java
@@ -43,9 +43,11 @@
* and thus different types share the same extent.
*/
public class IntermingledTablesTest {
- private static final String SCHEMA_TEMPLATE = " " +
- "CREATE TABLE t1 (group bigint, id string, val bigint, PRIMARY KEY(group, id)) " +
- "CREATE TABLE t2 (group bigint, id string, val2 string, PRIMARY KEY(group, id))";
+ private static final String SCHEMA_TEMPLATE =
+ """
+ CREATE TABLE t1 (group bigint, id string, val bigint, PRIMARY KEY(group, id))
+ CREATE TABLE t2 (group bigint, id string, val2 string, PRIMARY KEY(group, id))
+ """;
@RegisterExtension
@Order(0)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/JoinWithLimitTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/JoinWithLimitTest.java
index 88048d0684..c3b0811d12 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/JoinWithLimitTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/JoinWithLimitTest.java
@@ -40,10 +40,12 @@ public class JoinWithLimitTest {
public final EmbeddedRelationalExtension relationalExtension = new EmbeddedRelationalExtension();
private static final String getTemplate_definition =
- "CREATE TABLE R(rpk bigint, ra bigint, primary key(rpk))" +
- "CREATE TABLE S(spk bigint, sa bigint, primary key(spk))" +
- "CREATE TYPE AS STRUCT D ( e bigint )" +
- "CREATE TABLE Q(qpk bigint, d D array, PRIMARY KEY(qpk))";
+ """
+ CREATE TABLE R(rpk bigint, ra bigint, primary key(rpk))
+ CREATE TABLE S(spk bigint, sa bigint, primary key(spk))
+ CREATE TYPE AS STRUCT D ( e bigint )
+ CREATE TABLE Q(qpk bigint, d D array, PRIMARY KEY(qpk))
+ """;
@RegisterExtension
@Order(1)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/RecordTypeKeyTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/RecordTypeKeyTest.java
index 7106708675..21cd11b2cb 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/RecordTypeKeyTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/RecordTypeKeyTest.java
@@ -45,9 +45,12 @@ public class RecordTypeKeyTest {
@Order(1)
public final SimpleDatabaseRule database = new SimpleDatabaseRule(
RecordTypeKeyTest.class,
- "CREATE TABLE restaurant_review (reviewer bigint, rating bigint, SINGLE ROW ONLY)" +
- " CREATE TABLE restaurant_tag (tag string, weight bigint, PRIMARY KEY(tag))" +
- " CREATE INDEX record_rt_covering_idx as select reviewer from restaurant_review");
+ """
+ CREATE TABLE restaurant_review (reviewer bigint, rating bigint, SINGLE ROW ONLY)
+ CREATE TABLE restaurant_tag (tag string, weight bigint, PRIMARY KEY(tag))
+ CREATE INDEX record_rt_covering_idx as select reviewer from restaurant_review
+ """
+ );
@RegisterExtension
@Order(2)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/RelationalArrayTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/RelationalArrayTest.java
index bcae7dc15f..7b7d08030c 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/RelationalArrayTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/RelationalArrayTest.java
@@ -55,30 +55,34 @@
import static org.junit.jupiter.api.Assertions.assertTrue;
public class RelationalArrayTest {
+
+ // "enumeration_null enumeration array, enumeration_not_null enumeration array not null, " +
+ private static final String SCHEMA_TEMPLATE =
+ """
+ CREATE TYPE AS STRUCT STRUCTURE(a integer, b string)
+ CREATE TYPE as enum enumeration('a', 'b')
+ CREATE TABLE T(
+ pk integer,
+ boolean_null boolean array, boolean_not_null boolean array not null,
+ integer_null integer array, integer_not_null integer array not null,
+ bigint_null bigint array, bigint_not_null bigint array not null,
+ float_null float array, float_not_null float array not null,
+ double_null double array, double_not_null double array not null,
+ string_null string array, string_not_null string array not null,
+ bytes_null bytes array, bytes_not_null bytes array not null,
+ struct_null structure array, struct_not_null structure array not null,
+ uuid_null uuid array, uuid_not_null uuid array not null,
+ primary key(pk))
+ CREATE TABLE B(pk integer, uuid_null uuid array, primary key(pk))
+ """;
+
@RegisterExtension
@Order(0)
public final EmbeddedRelationalExtension relationalExtension = new EmbeddedRelationalExtension();
@RegisterExtension
@Order(1)
- public final SimpleDatabaseRule database = new SimpleDatabaseRule(RelationalArrayTest.class, SCHEMA);
-
- private static final String SCHEMA = "CREATE TYPE AS STRUCT STRUCTURE(a integer, b string) " +
- "CREATE TYPE as enum enumeration('a', 'b') " +
- "CREATE TABLE T(" +
- "pk integer, " +
- "boolean_null boolean array, boolean_not_null boolean array not null, " +
- "integer_null integer array, integer_not_null integer array not null, " +
- "bigint_null bigint array, bigint_not_null bigint array not null, " +
- "float_null float array, float_not_null float array not null, " +
- "double_null double array, double_not_null double array not null, " +
- "string_null string array, string_not_null string array not null, " +
- "bytes_null bytes array, bytes_not_null bytes array not null, " +
- "struct_null structure array, struct_not_null structure array not null, " +
- "uuid_null uuid array, uuid_not_null uuid array not null, " +
- // "enumeration_null enumeration array, enumeration_not_null enumeration array not null, " +
- "primary key(pk)) " +
- "CREATE TABLE B(pk integer, uuid_null uuid array, primary key(pk))";
+ public final SimpleDatabaseRule database = new SimpleDatabaseRule(RelationalArrayTest.class, SCHEMA_TEMPLATE);
public void insertQuery(@Nonnull String q) throws SQLException {
try (final var conn = DriverManager.getConnection(database.getConnectionUri().toString())) {
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/SqlFunctionsTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/SqlFunctionsTest.java
index 3247b9de6b..2334fed6c4 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/SqlFunctionsTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/SqlFunctionsTest.java
@@ -34,16 +34,18 @@
public class SqlFunctionsTest {
@Nonnull
- private static final String SCHEMA_TEMPLATE = " " +
- "create table t1(col1 bigint, col2 string, col3 integer, primary key(col1))\n" +
- "create function f1 ( in a bigint, in b string )\n" +
- "as select col1, col2 from t1 where col1 < a and col2 = b\n" +
- "create function f2 ( in k bigint )\n" +
- "as select col1, col2 from f1(102, 'b')\n" +
- "create function f3 (in x bigint, in y string)\n" +
- "as select a.col1 as col1a, a.col2 as col2a, b.col1 as col1b, b.col2 as col2b from f2(x) as a, f1(x, y) as b\n" +
- "create function f4 (in x bigint, in y string)\n" +
- "as select col1a + col1b as s, col2a, col2b from f3(x, y)\n";
+ private static final String SCHEMA_TEMPLATE =
+ """
+ create table t1(col1 bigint, col2 string, col3 integer, primary key(col1))
+ create function f1 ( in a bigint, in b string )
+ as select col1, col2 from t1 where col1 < a and col2 = b
+ create function f2 ( in k bigint )
+ as select col1, col2 from f1 (102, 'b')
+ create function f3 (in x bigint, in y string)
+ as select a.col1 as col1a, a.col2 as col2a, b.col1 as col1b, b.col2 as col2b from f2(x) as a, f1(x, y) as b
+ create function f4 (in x bigint, in y string)
+ as select col1a + col1b as s, col2a, col2b from f3(x, y)
+ """;
@RegisterExtension
@Order(0)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/StructDataMetadataTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/StructDataMetadataTest.java
index cd55ce6993..898e0313d0 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/StructDataMetadataTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/StructDataMetadataTest.java
@@ -54,18 +54,19 @@ public class StructDataMetadataTest {
public static final EmbeddedRelationalExtension relationalExtension = new EmbeddedRelationalExtension();
private static final String TABLE_STRUCTURE =
- "CREATE TYPE AS STRUCT struct_1 (a string) " +
- " CREATE TABLE t (name string, st1 struct_1, PRIMARY KEY(name))" +
- " CREATE TYPE AS STRUCT struct_2 (c bigint, d struct_1) " +
- " CREATE TABLE nt (t_name string, st1 struct_2, PRIMARY KEY(t_name))" +
- " CREATE TYPE AS STRUCT struct_3 (c bytes, d boolean) " +
- " CREATE TABLE at (a_name string, st2 struct_3 ARRAY, PRIMARY KEY(a_name))" +
- " CREATE TYPE AS STRUCT n1(a bigint, b string) " +
- " CREATE TYPE AS STRUCT n2(a bigint, b string) " +
- " CREATE TYPE AS STRUCT m(x n1, y n2) " +
- " CREATE TABLE t3(id bigint, m m, PRIMARY KEY(id)) " +
- " CREATE TABLE t4(id bigint, n1 n1, n2 n2, PRIMARY KEY(id)) ";
-
+ """
+ CREATE TYPE AS STRUCT struct_1 (a string)
+ CREATE TABLE t (name string, st1 struct_1, PRIMARY KEY(name))
+ CREATE TYPE AS STRUCT struct_2 (c bigint, d struct_1)
+ CREATE TABLE nt (t_name string, st1 struct_2, PRIMARY KEY(t_name))
+ CREATE TYPE AS STRUCT struct_3 (c bytes, d boolean)
+ CREATE TABLE at (a_name string, st2 struct_3 ARRAY, PRIMARY KEY(a_name))
+ CREATE TYPE AS STRUCT n1(a bigint, b string)
+ CREATE TYPE AS STRUCT n2(a bigint, b string)
+ CREATE TYPE AS STRUCT m(x n1, y n2)
+ CREATE TABLE t3(id bigint, m m, PRIMARY KEY(id))
+ CREATE TABLE t4(id bigint, n1 n1, n2 n2, PRIMARY KEY(id))
+ """;
/*
message at {
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/UniqueIndexTests.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/UniqueIndexTests.java
index c3474e944c..3fca332608 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/UniqueIndexTests.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/UniqueIndexTests.java
@@ -45,18 +45,20 @@ public class UniqueIndexTests {
public final EmbeddedRelationalExtension relationalExtension = new EmbeddedRelationalExtension();
private static final String getTemplate_definition =
- "CREATE TABLE T1(t1_p bigint, t1_a bigint, primary key(t1_p))\n" +
- "CREATE UNIQUE INDEX mv1 AS SELECT t1_a FROM t1\n" +
- "CREATE TABLE T2(t2_p bigint, t2_a bigint, t2_b bigint, primary key(t2_p))\n" +
- "CREATE UNIQUE INDEX mv2 AS SELECT t2_a, t2_b FROM t2 order by t2_a, t2_b\n" +
- "CREATE TABLE T3(t3_p bigint, t3_a bigint, t3_b bigint, primary key(t3_p))\n" +
- "CREATE UNIQUE INDEX mv3 AS SELECT t3_a FROM t3\n" +
- "CREATE UNIQUE INDEX mv4 AS SELECT t3_b FROM t3\n" +
- "CREATE TYPE AS STRUCT ST1(st1_a bigint)\n" +
- "CREATE TABLE T4(t4_p bigint, t4_st1 st1 array, primary key(t4_p))\n" +
- "CREATE UNIQUE INDEX mv5 AS SELECT v.st1_a from t4 t, (SELECT u.st1_a from t.t4_st1 u) v\n" +
- "CREATE TABLE T5(t5_p bigint, t5_a bigint, t5_b bigint, t5_c bigint, t5_d bigint, primary key(t5_p))\n" +
- "CREATE UNIQUE INDEX mv6 AS SELECT t5_a, t5_b, t5_c, t5_d from t5 order by t5_d, t5_c\n";
+ """
+ CREATE TABLE T1(t1_p bigint, t1_a bigint, primary key(t1_p))
+ CREATE UNIQUE INDEX mv1 AS SELECT t1_a FROM t1
+ CREATE TABLE T2(t2_p bigint, t2_a bigint, t2_b bigint, primary key(t2_p))
+ CREATE UNIQUE INDEX mv2 AS SELECT t2_a, t2_b FROM t2 order by t2_a, t2_b
+ CREATE TABLE T3(t3_p bigint, t3_a bigint, t3_b bigint, primary key(t3_p))
+ CREATE UNIQUE INDEX mv3 AS SELECT t3_a FROM t3
+ CREATE UNIQUE INDEX mv4 AS SELECT t3_b FROM t3
+ CREATE TYPE AS STRUCT ST1(st1_a bigint)
+ CREATE TABLE T4(t4_p bigint, t4_st1 st1 array, primary key(t4_p))
+ CREATE UNIQUE INDEX mv5 AS SELECT v.st1_a from t4 t, (SELECT u.st1_a from t.t4_st1 u) v
+ CREATE TABLE T5(t5_p bigint, t5_a bigint, t5_b bigint, t5_c bigint, t5_d bigint, primary key(t5_p))
+ CREATE UNIQUE INDEX mv6 AS SELECT t5_a, t5_b, t5_c, t5_d from t5 order by t5_d, t5_c
+ """;
@RegisterExtension
@Order(1)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/CountQueryTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/CountQueryTest.java
index 5fdf6bd20c..06960d591e 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/CountQueryTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/CountQueryTest.java
@@ -43,10 +43,12 @@
*/
public class CountQueryTest {
private static final String SCHEMA_TEMPLATE =
- "CREATE TABLE t1 (id bigint, a string, b bigint, primary key (id)) " +
- "CREATE INDEX i1 ON t1(a) " +
- "CREATE INDEX i2 AS SELECT count(*) FROM t1 GROUP BY a " +
- "CREATE INDEX i3 AS SELECT count(a) FROM t1 GROUP BY b";
+ """
+ CREATE TABLE t1 (id bigint, a string, b bigint, primary key (id))
+ CREATE INDEX i1 ON t1(a)
+ CREATE INDEX i2 AS SELECT count(*) FROM t1 GROUP BY a
+ CREATE INDEX i3 AS SELECT count(a) FROM t1 GROUP BY b
+ """;
@RegisterExtension
@Order(0)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/ForceContinuationQueryTests.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/ForceContinuationQueryTests.java
index 02b4a07e24..849c1cd32b 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/ForceContinuationQueryTests.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/ForceContinuationQueryTests.java
@@ -45,23 +45,25 @@ public class ForceContinuationQueryTests {
public final EmbeddedRelationalExtension relationalExtension = new EmbeddedRelationalExtension();
private static final String getTemplate_definition =
- "create table t1(id bigint, col1 bigint, col2 bigint, primary key(id))\n" +
- "create index mv1 as select count(*) from t1\n" +
- "create index mv2 as select count(*) from t1 group by col2\n" +
- "create index mv3 as select count(col1) from t1\n" +
- "create index mv4 as select count(col1) from t1 group by col2\n" +
-
- "create table t2(id bigint, col1 bigint, col2 bigint, col3 bigint, primary key(id))\n" +
- "create index mv5 as select col2 from t2\n" +
- "create index mv7 as select min_ever(col3) from t2\n" +
-
- "create table t3(id bigint, col1 bigint, col2 bigint, primary key(id))\n" +
- "create index t3_i1 as select count(*) from t3\n" +
- "create index t3_i2 as select count(*) from t3 group by col1\n" +
- "create index t3_i3 as select count(col2) from t3\n" +
- "create index t3_i4 as select count(col2) from t3 group by col1\n" +
- "create index t3_i5 as select sum(col1) from t3\n" +
- "create index t3_i6 as select sum(col1) from t3 group by col2";
+ """
+ create table t1(id bigint, col1 bigint, col2 bigint, primary key(id))
+ create index mv1 as select count(*) from t1
+ create index mv2 as select count(*) from t1 group by col2
+ create index mv3 as select count(col1) from t1
+ create index mv4 as select count(col1) from t1 group by col2
+
+ create table t2(id bigint, col1 bigint, col2 bigint, col3 bigint, primary key(id))
+ create index mv5 as select col2 from t2
+ create index mv7 as select min_ever(col3) from t2
+
+ create table t3(id bigint, col1 bigint, col2 bigint, primary key(id))
+ create index t3_i1 as select count(*) from t3
+ create index t3_i2 as select count(*) from t3 group by col1
+ create index t3_i3 as select count(col2) from t3
+ create index t3_i4 as select count(col2) from t3 group by col1
+ create index t3_i5 as select sum(col1) from t3
+ create index t3_i6 as select sum(col1) from t3 group by col2
+ """;
@RegisterExtension
@Order(1)
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/TransactionBoundQueryTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/TransactionBoundQueryTest.java
index d3f9844ff7..15ae12cfba 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/TransactionBoundQueryTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/TransactionBoundQueryTest.java
@@ -72,10 +72,13 @@
public class TransactionBoundQueryTest {
@Nonnull
- private static final String SCHEMA_TEMPLATE = " CREATE TABLE t1(id bigint, a bigint, b string, PRIMARY KEY(id)) " +
- "CREATE TYPE as STRUCT entry(key string, value bigint) " +
- "CREATE TABLE t2(id bigint, a bigint, c string, d entry ARRAY, PRIMARY KEY (id)) " +
- "CREATE TABLE t3(id bigint, a bigint, e bigint, f bigint, PRIMARY KEY(id))";
+ private static final String SCHEMA_TEMPLATE =
+ """
+ CREATE TABLE t1(id bigint, a bigint, b string, PRIMARY KEY(id))
+ CREATE TYPE as STRUCT entry(key string, value bigint)
+ CREATE TABLE t2(id bigint, a bigint, c string, d entry ARRAY, PRIMARY KEY (id))
+ CREATE TABLE t3(id bigint, a bigint, e bigint, f bigint, PRIMARY KEY(id))
+ """;
@RegisterExtension
@Order(0)
@Nonnull
diff --git a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/UpdateTest.java b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/UpdateTest.java
index a5c11bbd3a..cb37157b60 100644
--- a/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/UpdateTest.java
+++ b/fdb-relational-core/src/test/java/com/apple/foundationdb/relational/recordlayer/query/UpdateTest.java
@@ -54,9 +54,11 @@
public class UpdateTest {
private static final String schemaTemplate =
- "CREATE TYPE AS STRUCT LatLong (latitude double, longitude double)" +
- " CREATE TYPE AS STRUCT ReviewerStats (start_date bigint, school_name string, hometown string)" +
- " CREATE TABLE RestaurantReviewer (id bigint, name string, email string, stats ReviewerStats, secrets bytes array, PRIMARY KEY(id))";
+ """
+ CREATE TYPE AS STRUCT LatLong (latitude double, longitude double)
+ CREATE TYPE AS STRUCT ReviewerStats (start_date bigint, school_name string, hometown string)
+ CREATE TABLE RestaurantReviewer (id bigint, name string, email string, stats ReviewerStats, secrets bytes array, PRIMARY KEY(id))
+ """;
@RegisterExtension
@Order(0)
diff --git a/fdb-relational-core/src/testFixtures/java/com/apple/foundationdb/relational/utils/TestSchemas.java b/fdb-relational-core/src/testFixtures/java/com/apple/foundationdb/relational/utils/TestSchemas.java
index 60b5bd9e94..006b9075c8 100644
--- a/fdb-relational-core/src/testFixtures/java/com/apple/foundationdb/relational/utils/TestSchemas.java
+++ b/fdb-relational-core/src/testFixtures/java/com/apple/foundationdb/relational/utils/TestSchemas.java
@@ -35,17 +35,19 @@ private TestSchemas() {
}
private static final String RESTAURANT_SCHEMA =
- "CREATE TYPE AS STRUCT Location (address string, latitude string, longitude string)" +
- "CREATE TYPE AS ENUM cuisine ('indian', 'british', 'mexican', 'japanese', 'korean')" +
- "CREATE TYPE AS STRUCT restaurant_review (reviewer bigint, rating bigint)" +
- "CREATE TYPE AS STRUCT restaurant_tag (tag string, weight bigint)" +
- "CREATE TYPE AS STRUCT reviewer_stats (start_date bigint, school_name string, hometown string)" +
- "CREATE TYPE AS STRUCT item (name string, price float)" +
- "CREATE TABLE restaurant (rest_no bigint, name string, location Location, reviews restaurant_review ARRAY, tags restaurant_tag array, customer string array, encoded_bytes bytes, PRIMARY KEY(rest_no))" +
- "CREATE TABLE restaurant_reviewer (id bigint, name string, email string, stats reviewer_stats, PRIMARY KEY(id))" +
- "CREATE TABLE restaurant_menu(id bigint, rest_no bigint, cuisine cuisine, items item array not null, reviews restaurant_review ARRAY, primary key(id, rest_no))" +
- "CREATE INDEX record_name_idx as select name from restaurant " +
- "CREATE INDEX reviewer_name_idx as select name from restaurant_reviewer ";
+ """
+ CREATE TYPE AS STRUCT Location (address string, latitude string, longitude string)
+ CREATE TYPE AS ENUM cuisine ('indian', 'british', 'mexican', 'japanese', 'korean')
+ CREATE TYPE AS STRUCT restaurant_review (reviewer bigint, rating bigint)
+ CREATE TYPE AS STRUCT restaurant_tag (tag string, weight bigint)
+ CREATE TYPE AS STRUCT reviewer_stats (start_date bigint, school_name string, hometown string)
+ CREATE TYPE AS STRUCT item (name string, price float)
+ CREATE TABLE restaurant (rest_no bigint, name string, location Location, reviews restaurant_review ARRAY, tags restaurant_tag array, customer string array, encoded_bytes bytes, PRIMARY KEY(rest_no))
+ CREATE TABLE restaurant_reviewer (id bigint, name string, email string, stats reviewer_stats, PRIMARY KEY(id))
+ CREATE TABLE restaurant_menu(id bigint, rest_no bigint, cuisine cuisine, items item array not null, reviews restaurant_review ARRAY, primary key(id, rest_no))
+ CREATE INDEX record_name_idx as select name from restaurant
+ CREATE INDEX reviewer_name_idx as select name from restaurant_reviewer
+ """;
@Nonnull
public static String restaurant() {
@@ -60,12 +62,14 @@ public static String restaurantWithCoveringIndex() {
@Nonnull
private static final String PLAYING_CARD =
- "CREATE TYPE AS ENUM suit ('SPADES', 'HEARTS', 'DIAMONDS', 'CLUBS') " +
- "CREATE TYPE AS STRUCT SuitAndRank (suit suit, rank bigint)" +
- "CREATE TABLE Card (id bigint, suit suit, rank bigint, PRIMARY KEY(id))" +
- "CREATE TABLE Card_Nested (id bigint, info SuitAndRank, PRIMARY KEY(id))" +
- "CREATE TABLE Card_Array (id bigint, collection SuitAndRank array, PRIMARY KEY(id))" +
- "CREATE INDEX suit_idx ON Card(suit)";
+ """
+ CREATE TYPE AS ENUM suit ('SPADES', 'HEARTS', 'DIAMONDS', 'CLUBS')
+ CREATE TYPE AS STRUCT SuitAndRank (suit suit, rank bigint)
+ CREATE TABLE Card (id bigint, suit suit, rank bigint, PRIMARY KEY(id))
+ CREATE TABLE Card_Nested (id bigint, info SuitAndRank, PRIMARY KEY(id))
+ CREATE TABLE Card_Array (id bigint, collection SuitAndRank array, PRIMARY KEY(id))
+ CREATE INDEX suit_idx ON Card(suit)
+ """;
@Nonnull
public static String playingCard() {
@@ -74,11 +78,13 @@ public static String playingCard() {
@Nonnull
private static final String BOOKS_SCHEMAS =
- "CREATE TABLE BOOKS(id integer, TITLE string, YEAR integer, primary key (id))" +
- "CREATE INDEX IDX_1970 AS SELECT YEAR FROM BOOKS WHERE YEAR > 1970 AND YEAR <= 1979" +
- "CREATE INDEX IDX_1980 AS SELECT YEAR FROM BOOKS WHERE YEAR > 1980 AND YEAR <= 1989" +
- "CREATE INDEX IDX_1990 AS SELECT YEAR FROM BOOKS WHERE YEAR > 1990 AND YEAR <= 1999" +
- "CREATE INDEX IDX_2000 AS SELECT YEAR FROM BOOKS WHERE YEAR > 2000";
+ """
+ CREATE TABLE BOOKS(id integer, TITLE string, YEAR integer, primary key (id))
+ CREATE INDEX IDX_1970 AS SELECT YEAR FROM BOOKS WHERE YEAR > 1970 AND YEAR <= 1979
+ CREATE INDEX IDX_1980 AS SELECT YEAR FROM BOOKS WHERE YEAR > 1980 AND YEAR <= 1989
+ CREATE INDEX IDX_1990 AS SELECT YEAR FROM BOOKS WHERE YEAR > 1990 AND YEAR <= 1999
+ CREATE INDEX IDX_2000 AS SELECT YEAR FROM BOOKS WHERE YEAR > 2000
+ """;
@Nonnull
public static String books() {
@@ -87,13 +93,15 @@ public static String books() {
@Nonnull
private static final String SCORE_SCHEMA =
- "CREATE TABLE score(id bigint, player string, game bigint, score bigint, playDuration bigint, primary key(id))" +
- "CREATE TABLE game(id bigint, score_id bigint, name string, primary key(id))" +
- "CREATE INDEX maxScoreByGame10 AS SELECT MAX(score), game + 10 FROM score GROUP BY game + 10" +
- "CREATE INDEX maxScoreByGame20 AS SELECT MAX(score), game + 20 FROM score GROUP BY game + 20" +
- "CREATE INDEX bitAndScore2 AS SELECT game & 2, MAX(score) FROM score GROUP BY game & 2" +
- "CREATE INDEX bitAndScore4 AS SELECT game & 4, MAX(score) FROM score GROUP BY game & 4" +
- "CREATE INDEX gameIdx AS SELECT score_id, id, name FROM game WHERE score_id IS NOT NULL ORDER BY score_id, id, name";
+ """
+ CREATE TABLE score(id bigint, player string, game bigint, score bigint, playDuration bigint, primary key(id))
+ CREATE TABLE game(id bigint, score_id bigint, name string, primary key(id))
+ CREATE INDEX maxScoreByGame10 AS SELECT MAX(score), game + 10 FROM score GROUP BY game + 10
+ CREATE INDEX maxScoreByGame20 AS SELECT MAX(score), game + 20 FROM score GROUP BY game + 20
+ CREATE INDEX bitAndScore2 AS SELECT game & 2, MAX(score) FROM score GROUP BY game & 2
+ CREATE INDEX bitAndScore4 AS SELECT game & 4, MAX(score) FROM score GROUP BY game & 4
+ CREATE INDEX gameIdx AS SELECT score_id, id, name FROM game WHERE score_id IS NOT NULL ORDER BY score_id, id, name
+ """;
@Nonnull
public static String score() {
diff --git a/gradle.properties b/gradle.properties
index f7fd6bcaed..2f85665dc4 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -19,7 +19,7 @@
#
rootProject.name=fdb-record-layer
-version=4.10.7.0
+version=4.11.0.0
releaseBuild=false
# this should be false for release branches (i.e. if there is no -SNAPSHOT on the above version)
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 7c262cc9d7..3690345df6 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -70,7 +70,7 @@ snakeyaml = "2.2"
# Static analysis dependency versions
-jacoco = "0.8.5"
+jacoco = "0.8.14"
spotbugs = "4.9.0"
[libraries]