Skip to content

Address #233: support blob_value in protobuf - #263

Merged
tseaver merged 3 commits into
googleapis:masterfrom
tseaver:233-support_blob_value
Oct 19, 2014
Merged

Address #233: support blob_value in protobuf#263
tseaver merged 3 commits into
googleapis:masterfrom
tseaver:233-support_blob_value

Conversation

@tseaver

Copy link
Copy Markdown
Contributor

The only sane way to do this is to map "text" onto 'string_value', and "bytes" onto 'blob_value'.

Since native 'str' is really "bytes" under Python2, users will need to get things decoded before setting them onto their entities if they want them to be saved as 'string_value'.

@coveralls

Copy link
Copy Markdown

Coverage Status

Coverage remained the same when pulling 6f50604 on tseaver:233-support_blob_value into 86b308a on GoogleCloudPlatform:master.

@dhermes

Copy link
Copy Markdown
Contributor

I think this will confound people but also agree this is the most sane way to go.

In a future where we have ndb-like features, the distinction will be clear.

LGTM

@tseaver

Copy link
Copy Markdown
ContributorAuthor

Rebased to deal with merge conficts.

@coveralls

Copy link
Copy Markdown

Coverage Status

Coverage remained the same when pulling d5642c9 on tseaver:233-support_blob_value into 20ac9ef on GoogleCloudPlatform:master.

@tseaver

Copy link
Copy Markdown
ContributorAuthor

Do we need to open a new issue about documenting how people can ensure that the values they set onto entities get mapped as they expect? It is (eventually) going to have to educate folks that 'str' is "bytes" on Python2, but "text" on Python3, and mandate that they be explicit.

@dhermes

Copy link
Copy Markdown
Contributor

Yes I like that idea. Still LGTM if you want to merge.

tseaver added a commit that referenced this pull request Oct 19, 2014
@tseaver
tseaver merged commit 99e4d53 into googleapis:masterOct 19, 2014
@tseaver

Copy link
Copy Markdown
ContributorAuthor

#266 carries the water on the documentation issue.

@tseaver
tseaver deleted the 233-support_blob_value branch October 20, 2014 20:00
@dhermesdhermes added the api: datastore Issues related to the Datastore API. label Dec 31, 2015
parthea pushed a commit that referenced this pull request Jun 4, 2023
* feat: Add support for python 3.11
chore: Update gapic-generator-python to v1.8.0
PiperOrigin-RevId: 500768693
Source-Link: googleapis/googleapis@190b612
Source-Link: googleapis/googleapis-gen@7bf29a4
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiN2JmMjlhNDE0YjllY2FjMzE3MGYwYjY1YmRjMmE5NTcwNWMwZWYxYSJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Jun 4, 2023
…p/templates/python_library/.kokoro (#263)
Source-Link: https://togithub.com/googleapis/synthtool/commit/bb171351c3946d3c3c32e60f5f18cee8c464ec51
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f62c53736eccb0c4934a3ea9316e0d57696bb49c1a7c86c726e9bb8a2f87dadf
parthea pushed a commit that referenced this pull request Jun 4, 2023
* chore: update Go import paths to match open source
chore: update gapic-generator-go version to 0.35.2
PiperOrigin-RevId: 516528222
Source-Link: googleapis/googleapis@dcd99fd
Source-Link: googleapis/googleapis-gen@975f4ee
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOTc1ZjRlZWE2OWE3NWI5NjVlMmYxMDNiZTFiYzgyOTcyZDRhMzVkNyJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
* chore: regenerate API index
Source-Link: googleapis/googleapis@40a03de
Source-Link: googleapis/googleapis-gen@6c17328
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNmMxNzMyOGU5ZTFjMmI1OGU5NjAwNzIyZThmYzhjYmU4NDYwMGQ3ZiJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
---------
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Jun 4, 2023
…nction is a `GEN_1` or `GEN_2` function (#263)
* feat: ListFunctions now include metadata which indicates whether a function is a `GEN_1` or `GEN_2` function
PiperOrigin-RevId: 535193873
Source-Link: googleapis/googleapis@d6b7eb5
Source-Link: googleapis/googleapis-gen@822ccd0
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiODIyY2NkMDljYzFlOWY4YTRhYjAxMjVjYzkzZWZmZTI2YWI4ODJjMSJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
---------
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Jun 4, 2023
…p/templates/python_library/.kokoro (#263)
Source-Link: https://togithub.com/googleapis/synthtool/commit/bb171351c3946d3c3c32e60f5f18cee8c464ec51
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f62c53736eccb0c4934a3ea9316e0d57696bb49c1a7c86c726e9bb8a2f87dadf
parthea pushed a commit that referenced this pull request Jun 4, 2023
…p/templates/python_library/.kokoro (#263)
Source-Link: https://togithub.com/googleapis/synthtool/commit/bb171351c3946d3c3c32e60f5f18cee8c464ec51
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f62c53736eccb0c4934a3ea9316e0d57696bb49c1a7c86c726e9bb8a2f87dadf
parthea pushed a commit that referenced this pull request Jun 4, 2023
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
parthea added a commit that referenced this pull request Jun 4, 2023
* chore(deps): update all dependencies
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
* revert
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
parthea pushed a commit that referenced this pull request Jun 4, 2023
Source-Link: googleapis/synthtool@c5026b3
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:0e18b9475fbeb12d9ad4302283171edebb6baf2dfca1bd215ee3b34ed79d95d7
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Oct 21, 2023
Source-Link: googleapis/synthtool@52aef91
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:36a95b8f494e4674dc9eee9af98961293b51b86b3649942aac800ae6c1f796d4
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Oct 21, 2023
- [ ] Regenerate this pull request now.
docs: list oneofs in docstring
fix(deps): require google-api-core >= 1.28.0
fix(deps): drop packaging dependency
committer: busunkim96@
PiperOrigin-RevId: 406468269
Source-Link: googleapis/googleapis@83d81b0
Source-Link: googleapis/googleapis-gen@2ff001f
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMmZmMDAxZmJhY2I5ZTc3ZTcxZDczNGRlNWY5NTVjMDVmZGFlODUyNiJ9
parthea pushed a commit that referenced this pull request Oct 21, 2023
- [ ] Regenerate this pull request now.
PiperOrigin-RevId: 472561635
Source-Link: googleapis/googleapis@332ecf5
Source-Link: googleapis/googleapis-gen@4313d68
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDMxM2Q2ODI4ODBmZDlkNzI0NzI5MTE2NGQ0ZTlkM2Q1YmQ5ZjE3NyJ9
parthea added a commit that referenced this pull request Oct 21, 2023
* chore(deps): update all dependencies
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
* revert
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
parthea pushed a commit that referenced this pull request Oct 21, 2023
* chore: Use gapic-generator-python 0.65.0
PiperOrigin-RevId: 440970084
Source-Link: googleapis/googleapis@5e0a3d5
Source-Link: googleapis/googleapis-gen@b0c628a
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjBjNjI4YTNmYWRlNzY4ZjIyNWQ3Njk5Mjc5MWVhMWJhMmE4ODFiZSJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Oct 22, 2023
* docs: Fix formatting of request arg in docstring
chore: Update gapic-generator-python to v1.9.1
PiperOrigin-RevId: 518604533
Source-Link: googleapis/googleapis@8a085ae
Source-Link: googleapis/googleapis-gen@b2ab4b0
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjJhYjRiMGEwYWUyOTA3ZTgxMmMyMDkxOThhNzRlMDg5OGFmY2IwNCJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
---------
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Oct 31, 2023
Source-Link: https://togithub.com/googleapis/synthtool/commit/eaef28efd179e6eeb9f4e9bf697530d074a6f3b9
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f8ca7655fa8a449cadcabcbce4054f593dcbae7aeeab34aa3fcc8b5cf7a93c9e
parthea added a commit that referenced this pull request Jan 10, 2025
* fix: Resolve AttributeError 'Credentials' object has no attribute 'universe_domain'
fix: Add google-auth as a direct dependency
fix: Add staticmethod decorator to methods added in v1.14.0
chore: Update gapic-generator-python to v1.14.1
PiperOrigin-RevId: 603728206
Source-Link: googleapis/googleapis@9063da8
Source-Link: googleapis/googleapis-gen@891c67d
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiODkxYzY3ZDBhODU1YjA4MDg1ZWIzMDFkYWJiMTQwNjRlZjRiMmM2ZCJ9
build: Update protobuf to 25.2 in WORKSPACE
build: Update grpc to 1.60.0 in WORKSPACE
build: Remove pin for boringssl in WORKSPACE
build: Update bazel to 6.3.0 in .bazeliskrc
PiperOrigin-RevId: 603226138
Source-Link: googleapis/googleapis@2aec9e1
Source-Link: googleapis/googleapis-gen@e9a5c2e
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZTlhNWMyZWYzN2I0ZDY5YzkzZTM5MTQxZDg3YWFlMGIxOTNjMDBiMSJ9
feat: Allow users to explicitly configure universe domain
chore: Update gapic-generator-python to v1.14.0
PiperOrigin-RevId: 603108274
Source-Link: googleapis/googleapis@3d83e36
Source-Link: googleapis/googleapis-gen@baf5e9b
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYmFmNWU5YmJiMTRhNzY4YjJiNGM5ZWFlOWZlYjc4ZjE4ZjE3NTdmYSJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
* fix(diregapic): s/bazel/bazelisk/ in DIREGAPIC build GitHub action
PiperOrigin-RevId: 604714585
Source-Link: googleapis/googleapis@e4dce13
Source-Link: googleapis/googleapis-gen@4036f78
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDAzNmY3ODMwNWM1YzJhYWI4MGZmOTE5NjBiM2EzZDk4M2ZmNGIwMyJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
* fix(deps): Require `google-api-core>=1.34.1`
fix: Resolve issue with missing import for certain enums in `**/types/…`
PiperOrigin-RevId: 607041732
Source-Link: googleapis/googleapis@b453267
Source-Link: googleapis/googleapis-gen@cd79641
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiY2Q3OTY0MTZmMGY1NGNiMjJiMmM0NGZiMmQ0ODY5NjBlNjkzYTM0NiJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
* fix(deps): Exclude google-auth 2.24.0 and 2.25.0
chore: Update gapic-generator-python to v1.14.4
PiperOrigin-RevId: 611561820
Source-Link: googleapis/googleapis@87ef1fe
Source-Link: googleapis/googleapis-gen@1973161
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTk3MzE2MTM3NTk0YWFmYWQ5NGRlYTMxMjI2NTI4ZmJjYzM5MzEwYyJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
* feat: Add include_recaptcha_script for as a new action in firewall policies
PiperOrigin-RevId: 612851792
Source-Link: googleapis/googleapis@49ea2c0
Source-Link: googleapis/googleapis-gen@460fdcb
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDYwZmRjYmJiZTAwZjM1YjFjNTkxYjFmM2VmMGM3N2ViZDNjZTI3NyJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
* filter warning from generated code
---------
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
parthea pushed a commit that referenced this pull request Nov 24, 2025
…263)
Source-Link: googleapis/synthtool@280ddae
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:346ab2efb51649c5dde7756cbbdc60dd394852ba83b9bbffc292a63549f33c17
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Nov 24, 2025
Source-Link: googleapis/synthtool@7197a00
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:c43f1d918bcf817d337aa29ff833439494a158a0831508fda4ec75dc4c0d0320
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Nov 24, 2025
…#263)
Example:
import proto
class Song(proto.Message):
name = proto.Field(proto.STRING, number=1, oneof="identifier")
database_id = proto.Field(proto.STRING, number=2, oneof="identifier")
s = Song(name="Canon in D minor", database_id="b5a37aad3")
assert "database_id" in s and "name" not in s
s = Song(database_id="e6aa708c7e", name="Little Fugue")
parthea pushed a commit that referenced this pull request Nov 24, 2025
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-sqlalchemy/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
Closes#266Closes#265Closes#263Closes#262Closes#261Closes#260Closes#259Closes#258Closes#256 🦕
parthea pushed a commit that referenced this pull request Nov 24, 2025
parthea pushed a commit that referenced this pull request Nov 24, 2025
Source-Link: googleapis/synthtool@d895aec
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:98f3afd11308259de6e828e37376d18867fd321aba07826e29e4f8d9cab56bad
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Nov 24, 2025
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Nov 24, 2025
* chore: use gapic-generator-python 0.65.1
PiperOrigin-RevId: 441524537
Source-Link: googleapis/googleapis@2a27391
Source-Link: googleapis/googleapis-gen@ab6756a
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWI2NzU2YTQ4Yzg5YjViY2I5ZmI3MzQ0M2NiOGU1NWQ1NzRmNDY0MyJ9
* 🦉 Updates from OwlBot post-processor
See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
parthea pushed a commit that referenced this pull request Nov 24, 2025
* docs: add documentation for documentsnapshot class
* chore: drop superseded docs fix
See PR #278.
Co-authored-by: Tres Seaver <tseaver@palladion.com>
Co-authored-by: Christopher Wilcox <crwilcox@google.com>
parthea pushed a commit that referenced this pull request Nov 26, 2025
parthea pushed a commit that referenced this pull request Mar 2, 2026
* chore: turn off type hints
* fix: try get instead of delete
parthea pushed a commit that referenced this pull request Mar 6, 2026
* django: fix 'week' lookup.
Translates lookup type `week` into `isoweek`,
when used in either of:
* DatabaseOperations.date_extract_sql
* DatabaseOperations.datetime_extract_sql
in order to conform to Django's ISO 8601 week expectations.
The generated SQL will thus be:
SELECT EXTRACT(isoweek from DATE(dt.start_time) from db_functions
intead of
SELECT EXTRACT(week from DATE(dt.start_time) from db_functions
Fixes#263
parthea pushed a commit that referenced this pull request Mar 9, 2026
🤖 I have created a release \*beep\* \*boop\*
---
## [3.3.0](https://www.github.com/googleapis/python-spanner/compare/v3.2.0...v3.3.0) (2021-03-25)
### Features
* add encryption_info to Database ([#284](https://www.github.com/googleapis/python-spanner/issues/284)) ([2fd0352](https://www.github.com/googleapis/python-spanner/commit/2fd0352f695d7ab85e57d8c4388f42f91cf39435))
* add support for CMEK ([#105](https://www.github.com/googleapis/python-spanner/issues/105)) ([e990ff7](https://www.github.com/googleapis/python-spanner/commit/e990ff70342e7c2e27059e82c8d74cce39eb85d0))
* add support for custom timeout and retry parameters in execute_update method in transactions ([#251](https://www.github.com/googleapis/python-spanner/issues/251)) ([8abaebd](https://www.github.com/googleapis/python-spanner/commit/8abaebd9edac198596e7bd51d068d50147d0391d))
* added retry and timeout params to partition read in database and snapshot class ([#278](https://www.github.com/googleapis/python-spanner/issues/278)) ([1a7c9d2](https://www.github.com/googleapis/python-spanner/commit/1a7c9d296c23dfa7be7b07ea511a4a8fc2c0693f))
* **db_api:** support executing several DDLs separated by semicolon ([#277](https://www.github.com/googleapis/python-spanner/issues/277)) ([801ddc8](https://www.github.com/googleapis/python-spanner/commit/801ddc87434ff9e3c86b1281ebfeac26195c06e8))
### Bug Fixes
* avoid consuming pending null values when merging ([#286](https://www.github.com/googleapis/python-spanner/issues/286)) ([c6cba9f](https://www.github.com/googleapis/python-spanner/commit/c6cba9fbe4c717f1f8e2a97e3f76bfe6b956e55b))
* **db_api:** allow file path for credentials ([#221](https://www.github.com/googleapis/python-spanner/issues/221)) ([1de0284](https://www.github.com/googleapis/python-spanner/commit/1de028430b779a50d38242fe70567e92b560df5a))
* **db_api:** ensure DDL statements are being executed ([#290](https://www.github.com/googleapis/python-spanner/issues/290)) ([baa02ee](https://www.github.com/googleapis/python-spanner/commit/baa02ee1a352f7c509a3e169927cf220913e521f))
* **db_api:** revert Mutations API usage ([#285](https://www.github.com/googleapis/python-spanner/issues/285)) ([e5d4901](https://www.github.com/googleapis/python-spanner/commit/e5d4901e9b7111b39dfec4c56032875dc7c6e74c))
### Documentation
* fix docstring types and typos ([#259](https://www.github.com/googleapis/python-spanner/issues/259)) ([1b0ce1d](https://www.github.com/googleapis/python-spanner/commit/1b0ce1d2986085ce4033cf773eb6c5d3b904473c))
* fix snapshot usage ([#291](https://www.github.com/googleapis/python-spanner/issues/291)) ([eee2181](https://www.github.com/googleapis/python-spanner/commit/eee218164c3177586b73278aa21495280984af89))
---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
parthea pushed a commit that referenced this pull request Mar 9, 2026
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: datastoreIssues related to the Datastore API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@tseaver@coveralls@dhermes