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: Separate row types to remove confusion around return types of row.commit #8662

Merged
merged 4 commits into from
Jul 26, 2019

Conversation

IlyaFaer
Copy link

@IlyaFaer IlyaFaer commented Jul 12, 2019

Looks like some consensus have been achieved on #8451, so here is new PR

@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Jul 12, 2019
@IlyaFaer IlyaFaer closed this Jul 12, 2019
@IlyaFaer IlyaFaer reopened this Jul 15, 2019
@tseaver tseaver added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jul 15, 2019
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jul 15, 2019
@tseaver tseaver added api: bigtable Issues related to the Bigtable API. kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Jul 15, 2019
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jul 15, 2019
bigtable/docs/snippets_table.py Outdated Show resolved Hide resolved
bigtable/docs/snippets_table.py Outdated Show resolved Hide resolved
bigtable/google/cloud/bigtable/table.py Show resolved Hide resolved
@@ -199,6 +207,60 @@ def row(self, row_key, filter_=None, append=False):
else:
return DirectRow(row_key, self)

def append_row(self, row_key):
"""Create a :class:`~google.cloud.bigtable.row.AppendRow` associated with this table.
Copy link
Contributor

Choose a reason for hiding this comment

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

We should make sure these comments reflect why you would choose one of the rows over another.

Copy link
Author

Choose a reason for hiding this comment

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

Not sure, I'm getting. You want something like: you read method's docs, and you don't need to read row class'es docs, 'cause method's docs will tell you everything you need? So classes should be described a little in method's docs?

@crwilcox
Copy link
Contributor

@billyjacobson can you take a look and see if you think this improves the usability of the python client?

bigtable/docs/snippets_table.py Outdated Show resolved Hide resolved
bigtable/docs/snippets_table.py Show resolved Hide resolved
bigtable/docs/snippets_table.py Outdated Show resolved Hide resolved
row2_obj = table.conditional_row(row_keys[1], filter_=filter_)
# [END bigtable_table_conditional_row]

row1_obj.set_cell(COLUMN_FAMILY_ID, COL_NAME1, CELL_VAL1, state=False)

Choose a reason for hiding this comment

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

@crwilcox I feel like instead of state, we could do something like onMatch=False or onMatch=True

Copy link
Contributor

Choose a reason for hiding this comment

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

@billyjacobson that seems reasonable to me. Does that resemble something we do in other languages? I agree state isn't a great name, but it would be good if we didn't diverge from a cross-language pattern if there is one.

Choose a reason for hiding this comment

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

Node calls it onMatch and onNoMatch.
The RPCs call it true_mutations and false_mutations
Go uses mtrue, mfalse
PHP trueMutations, falseMutations
Ruby true_mutations, false_mutations

So probably true and false mutations would be most consistent

Copy link
Contributor

Choose a reason for hiding this comment

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

We can't just rename the state parameter: it would be a breaking change.

Choose a reason for hiding this comment

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

Ok

bigtable/docs/snippets_table.py Outdated Show resolved Hide resolved
@AVaksman AVaksman added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jul 19, 2019
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jul 19, 2019
@IlyaFaer IlyaFaer changed the title Bigtable: Converging return types of row.commit Bigtable: Separate row types to remove confusion around return types of row.commit Jul 26, 2019
@tseaver tseaver merged commit 82c2575 into googleapis:master Jul 26, 2019
@IlyaFaer IlyaFaer deleted the converging_row_commit_types branch July 30, 2019 07:40
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.

7 participants