Skip to content

Commit fe9232b

Browse files
fix(bigtable): include reversed in Query equals, hashCode, and toString (googleapis#14799)
Include `builder.getReversed()` in `Query.equals`, `Query.hashCode`, and `Query.toString` so forward and reversed queries do not compare equal.
1 parent cfa7949 commit fe9232b

2 files changed

Lines changed: 14 additions & 2 deletions

File tree

  • java-bigtable/google-cloud-bigtable/src
    • main/java/com/google/cloud/bigtable/data/v2/models
    • test/java/com/google/cloud/bigtable/data/v2/models

‎java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Query.java‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -491,13 +491,18 @@ public boolean equals(Object o) {
491491
return Objects.equal(targetId, query.targetId)
492492
&& Objects.equal(builder.getRows(), query.builder.getRows())
493493
&& Objects.equal(builder.getFilter(), query.builder.getFilter())
494-
&& Objects.equal(builder.getRowsLimit(), query.builder.getRowsLimit());
494+
&& Objects.equal(builder.getRowsLimit(), query.builder.getRowsLimit())
495+
&& Objects.equal(builder.getReversed(), query.builder.getReversed());
495496
}
496497

497498
@Override
498499
public int hashCode() {
499500
return Objects.hashCode(
500-
targetId, builder.getRows(), builder.getFilter(), builder.getRowsLimit());
501+
targetId,
502+
builder.getRows(),
503+
builder.getFilter(),
504+
builder.getRowsLimit(),
505+
builder.getReversed());
501506
}
502507

503508
@Override
@@ -510,6 +515,7 @@ public String toString() {
510515
.add("ranges", request.getRows().getRowRangesList())
511516
.add("filter", request.getFilter())
512517
.add("limit", request.getRowsLimit())
518+
.add("reversed", request.getReversed())
513519
.toString();
514520
}
515521
}

‎java-bigtable/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/QueryTest.java‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,10 @@ public void testEquality() {
554554
assertThat(Query.create(TABLE_ID).filter(FILTERS.family().regex("test")))
555555
.isNotEqualTo(Query.create(TABLE_ID).filter(FILTERS.family().exactMatch("test-one")));
556556
assertThat(Query.create(TABLE_ID).limit(4)).isNotEqualTo(Query.create(TABLE_ID).limit(5));
557+
assertThat(Query.create(TABLE_ID).reversed(true))
558+
.isNotEqualTo(Query.create(TABLE_ID).reversed(false));
559+
assertThat(Query.create(TABLE_ID).reversed(true).hashCode())
560+
.isNotEqualTo(Query.create(TABLE_ID).reversed(false).hashCode());
557561

558562
// AuthorizedView query test.
559563
request =
@@ -582,6 +586,8 @@ public void testEquality() {
582586
Query.create(AUTHORIZED_VIEW_ID).filter(FILTERS.family().exactMatch("test-one")));
583587
assertThat(Query.create(AUTHORIZED_VIEW_ID).limit(4))
584588
.isNotEqualTo(Query.create(AUTHORIZED_VIEW_ID).limit(5));
589+
assertThat(Query.create(AUTHORIZED_VIEW_ID).reversed(true))
590+
.isNotEqualTo(Query.create(AUTHORIZED_VIEW_ID).reversed(false));
585591

586592
assertThat(Query.create(AUTHORIZED_VIEW_ID)).isNotEqualTo(Query.create(TABLE_ID));
587593
}

0 commit comments

Comments
 (0)