googleapis / googleapis/google-cloud-python

Use shim for legacy client read_modify_write_row

Open
#15,289 1 comment 0 reactions 1 assignee Claimed by @gkevinzheng View on GitHub
api: bigtable priority: p3 type: feature request
Dominant language
Python
Stars
5.4k
Forks
1.8k
Avg merge
3d 4h
Merged PRs (30d)
122

Description

The legacy client implements read_modify_write_row in a custom [AppendRow class](https://github.com/googleapis/python-bigtable/blob/3648d7000df4a108524e29a9c55639dc92c1c2cc/google/cloud/bigtable/row.py#L777). Conditions are built up, and then the request is executed as part of the [commit()](https://github.com/googleapis/python-bigtable/blob/3648d7000df4a108524e29a9c55639dc92c1c2cc/google/cloud/bigtable/row.py#L897) call

The new data client tried to avoid the complexity of these custom Row types, and its API closely resembles the gapic call. We can likely simple swap out the legacy client's [gapic call](https://github.com/googleapis/python-bigtable/blob/3648d7000df4a108524e29a9c55639dc92c1c2cc/google/cloud/bigtable/row.py#L938) for the [veneer one](https://github.com/googleapis/python-bigtable/blob/3648d7000df4a108524e29a9c55639dc92c1c2cc/google/cloud/bigtable/data/_async/client.py#L1541), and remove the [redundant validation](https://github.com/googleapis/python-bigtable/blob/3648d7000df4a108524e29a9c55639dc92c1c2cc/google/cloud/bigtable/row.py#L928)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.