File tree 2 files changed +24
-0
lines changed
google-cloud-bigtable/src
main/java/com/google/cloud/bigtable/data/v2/models
test/java/com/google/cloud/bigtable/data/v2/models
2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -516,6 +516,15 @@ private TimestampFilter() {}
516
516
public TimestampRangeFilter range () {
517
517
return new TimestampRangeFilter ();
518
518
}
519
+
520
+ /**
521
+ * Matches cells with exact given timestamp.
522
+ *
523
+ * @return a {@link TimestampRangeFilter} with start/end closed timestamp.
524
+ */
525
+ public TimestampRangeFilter exact (Long exactTimestamp ) {
526
+ return new TimestampRangeFilter ().startClosed (exactTimestamp ).endClosed (exactTimestamp );
527
+ }
519
528
}
520
529
521
530
/** Matches only cells with microsecond timestamps within the given range. */
Original file line number Diff line number Diff line change @@ -350,6 +350,21 @@ public void timestampRange() {
350
350
assertThat (actualFilter ).isEqualTo (expectedFilter );
351
351
}
352
352
353
+ @ Test
354
+ public void timestampAtExactTime () {
355
+ RowFilter actualFilter = FILTERS .timestamp ().exact (20_000L ).toProto ();
356
+
357
+ RowFilter expectedFilter =
358
+ RowFilter .newBuilder ()
359
+ .setTimestampRangeFilter (
360
+ TimestampRange .newBuilder ()
361
+ .setStartTimestampMicros (20_000L )
362
+ .setEndTimestampMicros (20_000L + 1 ))
363
+ .build ();
364
+
365
+ assertThat (actualFilter ).isEqualTo (expectedFilter );
366
+ }
367
+
353
368
@ Test
354
369
public void timestampOpenClosedFakeRange () {
355
370
RowFilter actualFilter =
You can’t perform that action at this time.
0 commit comments