Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bigtable: refactor mutation model #1367

Merged
merged 5 commits into from
Oct 25, 2018

Conversation

ajaaym
Copy link
Contributor

@ajaaym ajaaym commented Oct 23, 2018

refactor mutation model

@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Oct 23, 2018
@ajaaym
Copy link
Contributor Author

ajaaym commented Oct 23, 2018

@dwsupplee can you please review?

@jdpedrie jdpedrie added the api: bigtable Issues related to the Bigtable API. label Oct 23, 2018
* @param array $options [optional] Configuration options.
* @return void
* @throws ApiException|BigtableDataOperationException if the remote call fails or operation fails
* @throws InvalidArgumentException if rowMutations is a list instead of associative array index by rowkey.

This comment was marked as spam.

This comment was marked as spam.

Copy link
Contributor

@dwsupplee dwsupplee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking very nice, just a few minor comments.

* $rowMutation = new RowMutation('r1');
* $rowMutation->upsert('cf1','cq1','value1',1534183334215000);
* $mutations = (new Mutations)
* ->upsert('cf1','cq1','value1',1534183334215000);

This comment was marked as spam.

* @param array $options [optional] Configuration options.
* @return void
* @throws ApiException|BigtableDataOperationException if the remote call fails or operation fails
* @throws InvalidArgumentException if rowMutations is a list instead of associative array indexed by rowkey.

This comment was marked as spam.

$this->mutateRowsWithEntries($entries, $options);
}

private function toEntry($rowKey, Mutations $mutations)

This comment was marked as spam.

@@ -68,14 +68,19 @@ public function filterProvider()
foreach ($data as $row) {
$row = json_decode($row, true);
foreach ($row as $rowKey => $family) {
$rowMutation = new RowMutation($rowKey);
$mutations = null;

This comment was marked as spam.

* if $predicateFilter is not instance of {@see Google\Cloud\Bigtable\Filter\FilterInterface}.
* if $trueMutations is set and is not instance of {@see Google\Cloud\Bigtable\Mutations}.
* if $falseMutations is set and is not instance of {@see Google\Cloud\Bigtable\Mutations}.
* @return bool Returns true If predicate filter yielded any output, false otherwise.

This comment was marked as spam.

This comment was marked as spam.

@dwsupplee dwsupplee merged commit 9cff275 into googleapis:bigtable-data Oct 25, 2018
dwsupplee added a commit that referenced this pull request Nov 5, 2018
* Bigtable data operation mutate rows (#1230)

* mutate rows

* Fixed type in comment

* Bigtable Mutate rows optional parameter (#1233)

* add mutate rows optional configuration parameter

* update order of append operation

* Bigtable data read rows (#1234)

* read rows

* read rows acceptance test

* fix type in parameter

* fix param type in comment

* Fix the state value

* fix error in php5.5

* fix for protobuf extension

* fix doc issue

* review updates

* fix rows->readAll

* fix cs

* Bigtable: Read rows filter (#1253)

* read rows filter

* fix test case

* Filter

* add comments

* add espace for literal regex

* Fix failing test

* add snippet test

* Fix doc

* code review updates

* moved builder in to its own namespace

* add snippet test

* arrange use statement

* fix failing test case

* Fix documentation

* Readrows Filter and system test (#1322)

* System test for filter

* update doc

* throw exception if rowKeys is not array in readRows

* Simplified some fitler test

* use dataprovider for filter system test

* formatting

* address feedback

* Provide test name in message for conformance test (#1332)

* provide message for failed test

* update message

* Bigtable: Read modify write row model (#1334)

* readModifyWriteRowRule model

* read modify write row

* read modify write row api

* update comments

* fix static initializer

* fix exception check for php < 7

* fix test case

* update pack and unpack for php5.5

* address feedback

* fix php 5.5 snippet test case

* update doc and check

* address feedback

* Bigtable: Sample row keys api (#1338)

* sample row keys

* sample row keys

* fix system test case

* address feedback

* fix snippet test

* Bigtable: checkAndMutateRow api implementation (#1333)

* checkAndMutateRow api

* fix doc

* fix snippet test

* change snippet test

* address feedback

* update note

* update comment

* apply note to truemutations

* fix comment

* fix snippet test

* Bigtable: refactor mutation model (#1367)

* refactor mutation model

* fix doc comment

* address feedback

* use ternary operator

* fix comment

* mutateRow api (#1382)

* Rename DataClient -> Table and add BigtableClient (#1387)

* rename DataClient to Table and add generic constructor options

* update documentation

* update snippets

* update and rename system tests

* update unit tests

* add projectId/credentials to client

* update mutateRow

* update mutateRow system test

* add imports for documentation

* fix tests

* potential fix for hhvm

* fix projectId

* Prep Bigtable handwritten client for release (#1388)

* prepare bigtable handwritten layer for release

* fix trailing comma

* Update readme/projectID detection (#1391)

* add note about differences in handwritten client

* update projectID detection (we cannot reliably use the ClientTrait with the new client configuration options)

* remove ClientTrait

* add note on providing a keyfile

* add note about authentication

* Add 64 or 32 bit test (#1393)

* Add 64 or 32 bit test

* remove test annotation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigtable Issues related to the Bigtable API. cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants