This is an automated email from the ASF dual-hosted git repository.
absurdfarce pushed a commit to branch 4.x
in repository https://gitbox.apache.org/repos/asf/cassandra-java-driver.git
The following commit(s) were added to refs/heads/4.x by this push:
new bbd199876 CASSJAVA-3: Fix ordering of LIMIT and PER PARTITION LIMIT
clauses
bbd199876 is described below
commit bbd1998765befc7b673af147b40f31978affe5de
Author: David Stringer <[email protected]>
AuthorDate: Tue Feb 25 21:27:46 2025 -0800
CASSJAVA-3: Fix ordering of LIMIT and PER PARTITION LIMIT clauses
patch by David Stringer; reviewed by Lukasz Antoniak and Bret McGuire
reference: https://github.com/apache/cassandra-java-driver/pull/2022
---
.../internal/querybuilder/select/DefaultSelect.java | 18 +++++++++---------
.../api/querybuilder/select/SelectLimitTest.java | 6 ++++++
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git
a/query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/select/DefaultSelect.java
b/query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/select/DefaultSelect.java
index e4b98ef6f..3bacf72b0 100644
---
a/query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/select/DefaultSelect.java
+++
b/query-builder/src/main/java/com/datastax/oss/driver/internal/querybuilder/select/DefaultSelect.java
@@ -425,15 +425,6 @@ public class DefaultSelect implements SelectFrom, Select {
orderingClause.ifPresent(c -> c.appendTo(builder));
- if (limit != null) {
- builder.append(" LIMIT ");
- if (limit instanceof BindMarker) {
- ((BindMarker) limit).appendTo(builder);
- } else {
- builder.append(limit);
- }
- }
-
if (perPartitionLimit != null) {
builder.append(" PER PARTITION LIMIT ");
if (perPartitionLimit instanceof BindMarker) {
@@ -443,6 +434,15 @@ public class DefaultSelect implements SelectFrom, Select {
}
}
+ if (limit != null) {
+ builder.append(" LIMIT ");
+ if (limit instanceof BindMarker) {
+ ((BindMarker) limit).appendTo(builder);
+ } else {
+ builder.append(limit);
+ }
+ }
+
if (allowsFiltering) {
builder.append(" ALLOW FILTERING");
}
diff --git
a/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/select/SelectLimitTest.java
b/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/select/SelectLimitTest.java
index d617aa567..baef745b4 100644
---
a/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/select/SelectLimitTest.java
+++
b/query-builder/src/test/java/com/datastax/oss/driver/api/querybuilder/select/SelectLimitTest.java
@@ -49,4 +49,10 @@ public class SelectLimitTest {
assertThat(selectFrom("foo").all().perPartitionLimit(1).perPartitionLimit(2))
.hasCql("SELECT * FROM foo PER PARTITION LIMIT 2");
}
+
+ @Test
+ public void should_put_limit_after_partition_limit() {
+ assertThat(selectFrom("foo").all().perPartitionLimit(1).limit(1))
+ .hasCql("SELECT * FROM foo PER PARTITION LIMIT 1 LIMIT 1");
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]