Skip to content

fix(bigtable): populate Value type in _format_execute_query_view_params#17547

Merged
mutianf merged 7 commits into
googleapis:mainfrom
ad548:fix-view-params-value-type
Jun 24, 2026
Merged

fix(bigtable): populate Value type in _format_execute_query_view_params#17547
mutianf merged 7 commits into
googleapis:mainfrom
ad548:fix-view-params-value-type

Conversation

@ad548

@ad548 ad548 commented Jun 23, 2026

Copy link
Copy Markdown
Member

Ensures that string view parameters construct Value objects with both string_value and explicit string_type populated.

Fixes issue where view parameters created Value objects missing the explicit type_ field.

@ad548 ad548 requested a review from a team as a code owner June 23, 2026 20:18

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the view parameter formatting for Bigtable queries to explicitly include the string type when constructing Value objects. It also adds unit tests to verify this behavior. The reviewer noted that comparing proto-plus message objects directly to dictionaries in the new test assertions will fail, and suggested converting the messages to dictionaries first using to_dict.

request = execute_query_mock.call_args[0][0]
assert "user_id" in request.view_parameters
assert request.view_parameters["user_id"].string_value == "alice"
assert request.view_parameters["user_id"].type_ == {"string_type": {}}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

In proto-plus, comparing a message object directly to a dictionary using == will evaluate to False because proto-plus does not support direct equality comparison with dicts. To perform this assertion correctly, convert the message to a dictionary first using type(message).to_dict(message).

Suggested change
assert request.view_parameters["user_id"].type_ == {"string_type": {}}
assert type(request.view_parameters["user_id"].type_).to_dict(request.view_parameters["user_id"].type_) == {"string_type": {}}

request = execute_query_mock.call_args[0][0]
assert "user_id" in request.view_parameters
assert request.view_parameters["user_id"].string_value == "alice"
assert request.view_parameters["user_id"].type_ == {"string_type": {}}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

In proto-plus, comparing a message object directly to a dictionary using == will evaluate to False because proto-plus does not support direct equality comparison with dicts. To perform this assertion correctly, convert the message to a dictionary first using type(message).to_dict(message).

Suggested change
assert request.view_parameters["user_id"].type_ == {"string_type": {}}
assert type(request.view_parameters["user_id"].type_).to_dict(request.view_parameters["user_id"].type_) == {"string_type": {}}

@mutianf mutianf merged commit 8cb77d9 into googleapis:main Jun 24, 2026
33 checks passed
parthea pushed a commit that referenced this pull request Jun 25, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>gapic-generator: 1.36.0</summary>

##
[1.36.0](gapic-generator-v1.35.0...gapic-generator-v1.36.0)
(2026-06-25)


### Features

* **mypy:** centralize mypy.ini and update templates
([#17523](#17523))
([3a67b7f](3a67b7f))
</details>

<details><summary>google-ads-datamanager: 0.9.1</summary>

##
[0.9.1](google-ads-datamanager-v0.9.0...google-ads-datamanager-v0.9.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-analytics-admin: 0.30.1</summary>

##
[0.30.1](google-analytics-admin-v0.30.0...google-analytics-admin-v0.30.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-apps-chat: 0.10.1</summary>

##
[0.10.1](google-apps-chat-v0.10.0...google-apps-chat-v0.10.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-auth: 2.55.1</summary>

##
[2.55.1](google-auth-v2.55.0...google-auth-v2.55.1)
(2026-06-25)


### Bug Fixes

* **auth:** lower regional access boundary logs from warning to debug.
([#17571](#17571))
([1ef4183](1ef4183)),
closes
[#17515](#17515)
</details>

<details><summary>google-cloud-bigtable: 2.40.0</summary>

##
[2.40.0](google-cloud-bigtable-v2.39.0...google-cloud-bigtable-v2.40.0)
(2026-06-25)


### Features

* regenerate google-cloud-bigtable
([#17575](#17575))
([bd782cf](bd782cf))


### Bug Fixes

* **bigtable:** populate Value type in _format_execute_query_view_params
([#17547](#17547))
([8cb77d9](8cb77d9))
</details>

<details><summary>google-cloud-build: 3.38.0</summary>

##
[3.38.0](google-cloud-build-v3.37.0...google-cloud-build-v3.38.0)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-ces: 0.7.1</summary>

##
[0.7.1](google-cloud-ces-v0.7.0...google-cloud-ces-v0.7.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-chronicle: 0.6.1</summary>

##
[0.6.1](google-cloud-chronicle-v0.6.0...google-cloud-chronicle-v0.6.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-compute: 1.49.0</summary>

##
[1.49.0](google-cloud-compute-v1.48.0...google-cloud-compute-v1.49.0)
(2026-06-25)


### Features

* regenerate google-cloud-compute
([#17576](#17576))
([140d86f](140d86f))
</details>

<details><summary>google-cloud-dataform: 0.11.1</summary>

##
[0.11.1](google-cloud-dataform-v0.11.0...google-cloud-dataform-v0.11.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-dataproc: 5.29.0</summary>

##
[5.29.0](google-cloud-dataproc-v5.28.0...google-cloud-dataproc-v5.29.0)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-dialogflow: 2.49.0</summary>

##
[2.49.0](google-cloud-dialogflow-v2.48.0...google-cloud-dialogflow-v2.49.0)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-dialogflow-cx: 2.7.0</summary>

##
[2.7.0](google-cloud-dialogflow-cx-v2.6.0...google-cloud-dialogflow-cx-v2.7.0)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-discoveryengine: 0.20.1</summary>

##
[0.20.1](google-cloud-discoveryengine-v0.20.0...google-cloud-discoveryengine-v0.20.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-firestore: 2.28.0</summary>

##
[2.28.0](google-cloud-firestore-v2.27.0...google-cloud-firestore-v2.28.0)
(2026-06-25)


### Features

* **firestore:** drop Python 3.7-3.9 support and regenerate
([#17247](#17247))
([b11224f](b11224f))
* regenerate google-cloud-[e-i] packages
([#17079](#17079))
([5239b18](5239b18))
* regenerate google-cloud-firestore
([#17577](#17577))
([57ebaa3](57ebaa3))


### Bug Fixes

* **firestore:** Imropve improper pipeline aliases
([#16651](#16651))
([f728bd6](f728bd6))
* **firestore:** remove usage of typing_extensions
([#17357](#17357))
([cdaf213](cdaf213))
* make test_utils unique_resource_id parallel-safe
([#17440](#17440))
([ac1f5d5](ac1f5d5))
</details>

<details><summary>google-cloud-network-management: 1.37.0</summary>

##
[1.37.0](google-cloud-network-management-v1.36.0...google-cloud-network-management-v1.37.0)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-network-security: 0.13.2</summary>

##
[0.13.2](google-cloud-network-security-v0.13.1...google-cloud-network-security-v0.13.2)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-network-services: 0.10.1</summary>

##
[0.10.1](google-cloud-network-services-v0.10.0...google-cloud-network-services-v0.10.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-oracledatabase: 0.6.1</summary>

##
[0.6.1](google-cloud-oracledatabase-v0.6.0...google-cloud-oracledatabase-v0.6.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

<details><summary>google-cloud-spanner: 3.69.0</summary>

##
[3.69.0](google-cloud-spanner-v3.68.0...google-cloud-spanner-v3.69.0)
(2026-06-25)


### Features

* regenerate google-cloud-spanner
([#17578](#17578))
([39b252f](39b252f))
</details>

<details><summary>google-cloud-vectorsearch: 0.11.1</summary>

##
[0.11.1](google-cloud-vectorsearch-v0.11.0...google-cloud-vectorsearch-v0.11.1)
(2026-06-25)


### Features

* update googleapis and regenerate
([#17554](#17554))
([03d0574](03d0574))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants