reset ---- populate keylen=1 timestamps=(1, 10, 100) ---- wrote 78 keys # With a filter [20,30) all keys should be hidden, in both forward and reverse # iteration directions. combined-iter point-key-filter=(20,30) first last seek-ge d seek-lt m ---- . . . . # With a filter [1,2) only the keys @1 should be visible. # Test forward direction. combined-iter point-key-filter=(1,2) first next next next next next next next next next ---- a@1: (a@1, .) b@1: (b@1, .) c@1: (c@1, .) d@1: (d@1, .) e@1: (e@1, .) f@1: (f@1, .) g@1: (g@1, .) h@1: (h@1, .) i@1: (i@1, .) j@1: (j@1, .) # With a filter [1,2) only the keys @1 should be visible. # And reverse direction. combined-iter point-key-filter=(1,2) last prev prev prev prev prev prev prev prev prev ---- z@1: (z@1, .) y@1: (y@1, .) x@1: (x@1, .) w@1: (w@1, .) v@1: (v@1, .) u@1: (u@1, .) t@1: (t@1, .) s@1: (s@1, .) r@1: (r@1, .) q@1: (q@1, .) # With an expansive filter, all keys should be visible. combined-iter point-key-filter=(0,1000) first next seek-ge m prev seek-lt m next last ---- a@100: (a@100, .) a@10: (a@10, .) m@100: (m@100, .) l@1: (l@1, .) l@1: (l@1, .) m@100: (m@100, .) z@1: (z@1, .) # Test the case where a range key [a,z) is truncated to a seek key # at which there exists a point key, but the point key should be skipped. # The seek should stop at the seek key, but show no visible point key. batch commit range-key-set a z @5 boop ---- committed 1 keys combined-iter point-key-filter=(9,12) seek-ge c@1 ---- c@1: (., [a-z) @5=boop UPDATED) # Try the same scenario, but this time with a filter that should NOT skip the # point key. combined-iter point-key-filter=(1,12) seek-ge c@1 ---- c@1: (c@1, [a-z) @5=boop UPDATED)