-
Notifications
You must be signed in to change notification settings - Fork 61
Closed
Labels
api: bigtableIssues related to the googleapis/python-bigtable API.Issues related to the googleapis/python-bigtable API.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.‘Nice-to-have’ improvement, new feature or different behavior or design.
Description
/cc @billyjacobson
Currently, the Python bigtable library support for filtering on numeric values expects raw bytes, e.g.:
from google.cloud.bigtable import row_filters
filter = row_filters.ValueRangeFilter(
start_value=b'\x00\x00\x00\x00\x00\x00\x00\x01', # 1
end_value=b'\x00\x00\x00\x00\x00\x00\x00\x0a', # 10
)We already have support for writing "normal" integers, e.g.:
from google.cloud.bigtable import row_data
row = row_data.DirectRow(b'row-key')
row.set_cell('col-family', b'column', value=1)where the integer 1 gets converted to b'\x00\x00\x00\x00\x00\x00\x00\x01' under the covers.
This feature request is to add similar support for filtering on values, e.g.:
from google.cloud.bigtable import row_filters
filter = row_filters.ValueRangeFilter(start_value=1, end_value=10)While we are at it, add an ExactValueFilter wrapper around `` (for parity with other languages), e.g..
from google.cloud.bigtable import row_filters
filter = row_filters.ExactValueFilter(value=1)which would map to (for integer values):
filter = row_filters.ValueRegexFilter(b'\x00\x00\x00\x00\x00\x00\x00\x01')Metadata
Metadata
Assignees
Labels
api: bigtableIssues related to the googleapis/python-bigtable API.Issues related to the googleapis/python-bigtable API.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.‘Nice-to-have’ improvement, new feature or different behavior or design.