This PR adds some new methods to BatchWrite and BatchGet that let them target multiple tables.
The API is a little bit ugly to keep backwards compatibility.
New stuff:
(*BatchWrite).PutIn for putting items in other tables
(*BatchWrite).DeleteIn and (*BatchWrite).DeleteInRange for deleting items in other tables
(*BatchGet).From and (*BatchGet).FromRange for getting items from other tables
(*BatchGet).ProjectTable for specifying table-specific projections
(*BatchGet).IterWithTable for creating an iterator that keeps track of which table each item comes from
TODO
[x] Implementation
[x] Tests
[x] Add CI via GH actions
Mentioned in #113 as one of the features I want to change in v2 (or maybe v3 at this rate, I'll port this to the v2 branch soon).
This PR adds some new methods to BatchWrite and BatchGet that let them target multiple tables. The API is a little bit ugly to keep backwards compatibility.
New stuff:
(*BatchWrite).PutIn
for putting items in other tables(*BatchWrite).DeleteIn
and(*BatchWrite).DeleteInRange
for deleting items in other tables(*BatchGet).From
and(*BatchGet).FromRange
for getting items from other tables(*BatchGet).ProjectTable
for specifying table-specific projections(*BatchGet).IterWithTable
for creating an iterator that keeps track of which table each item comes fromTODO
Mentioned in #113 as one of the features I want to change in v2 (or maybe v3 at this rate, I'll port this to the v2 branch soon).