Skip to content

chore: Nodejs spanner migration#7310

Open
sofisl wants to merge 1291 commits intomainfrom
nodejs-spanner-migration
Open

chore: Nodejs spanner migration#7310
sofisl wants to merge 1291 commits intomainfrom
nodejs-spanner-migration

Conversation

@sofisl
Copy link
Contributor

@sofisl sofisl commented Feb 26, 2026

No description provided.

release-please bot and others added 30 commits April 22, 2024 14:43
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
…2032)

* feat: add `RESOURCE_EXHAUSTED` to the list of retryable error codes

PiperOrigin-RevId: 628281023

Source-Link: googleapis/googleapis@60536a2

Source-Link: googleapis/googleapis-gen@c5cfd5b
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzVjZmQ1Yjk1NmY5ZWFkZmY1NDA5NmM5ZjFjOGE1N2FiMDFkYjI5NCJ9

* 🦉 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>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-gax](https://togithub.com/googleapis/gax-nodejs) ([source](https://togithub.com/googleapis/gax-nodejs/tree/HEAD/gax)) | [`4.3.2` -> `4.3.3`](https://renovatebot.com/diffs/npm/google-gax/4.3.2/4.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/google-gax/4.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/google-gax/4.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/google-gax/4.3.2/4.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/google-gax/4.3.2/4.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/gax-nodejs (google-gax)</summary>

### [`v4.3.3`](https://togithub.com/googleapis/gax-nodejs/blob/HEAD/gax/CHANGELOG.md#433-2024-04-19)

[Compare Source](https://togithub.com/googleapis/gax-nodejs/compare/google-gax-v4.3.2...google-gax-v4.3.3)

##### Bug Fixes

-   don't retry server streaming calls if retryCodes is the empty array ([#&#8203;1578](https://togithub.com/googleapis/gax-nodejs/issues/1578)) ([150a683](https://togithub.com/googleapis/gax-nodejs/commit/150a683514fe8c310d03d5f1a82a80160438effb))
-   update minimum grpc-js to 1.10.3 to skip potentially problematic 1.10.2 ([#&#8203;1576](https://togithub.com/googleapis/gax-nodejs/issues/1576)) ([43e6fc0](https://togithub.com/googleapis/gax-nodejs/commit/43e6fc09c05ece5279ff8f28fc646285260673ce))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/nodejs-spanner).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMzEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
…ice `VehicleService` (#2037)

* feat: Add support for multi region encryption config

docs: fix linting for several doc comments
PiperOrigin-RevId: 630422337

Source-Link: googleapis/googleapis@65db386

Source-Link: googleapis/googleapis-gen@b798ca9
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjc5OGNhOWY1NmUyYWQzZTBkMTQ5ODJiNjhiNjcyNGQxYzNkNjJiNSJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* fix!: An existing method `UpdateVehicleLocation` is removed from service `VehicleService`
fix!: An existing method `SearchFuzzedVehicles` is removed from service `VehicleService`
fix!: An existing message `UpdateVehicleLocationRequest` is removed

PiperOrigin-RevId: 631557549

Source-Link: googleapis/googleapis@3d50414

Source-Link: googleapis/googleapis-gen@5ce63d4
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNWNlNjNkNGU2MzZhOTc1MTc1YmRlMmQxNmMxNWU3MGRkNWE4MWZmNCJ9

* 🦉 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>
Co-authored-by: surbhigarg92 <surbhigarg.92@gmail.com>
* feat: Support For Proto Column in Spanner (#1829)

* feat: Generated Proto Changes

Changes need to be reverted.

* feat: Implementation for Proto Message & Enum

-Adding Logic for Serialization & Deserialization
-New Type Codes and utilities

* feat: Proto static files and typings and generated descriptors

* sample: Adding DML, DQL, DML, table insert & read samples.

* style: Lint

* test: Adding unit tests

* refactor: minor refactoring

* refactor: minor refactoring

* test: Adding integration tests

* docs: Adding docs

* test: Adding sample Integration Tests

* refactor: Minor refactoring and updating comments/docs.

* test: Making test fixes

* refactor: Minor refactoring and lint fixes

* refactor: Minor refactoring and lint fixes

* Updating docs and minor changes.

* test: fixing test

* refactor: minor changes

* refactor: minor refactoring

* docs: Updating docs & comments

* feat(spanner): fix lint

* fix(spanner: lint

* fix(spanner): lint

* fix(spanner): lint

* fix(spanner): lint

* feat(spanner): fix db name

* feat(spanner): remove it.only

* feat(spanner): fix tests lint

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat(spanner): remove samples and sample tests

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat(spanner): update schema to avoid reserved keyword

* feat(spanner): add samples and sample tests

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat(spanner): code refactoring

---------

Co-authored-by: Gaurav Purohit <purohitgaurav0612@gmail.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore: integration test fix

* fix: drop table

* fix(deps): update dependency google-gax to v4.3.2 (#2026)

* fix(deps): update dependency google-gax to v4.3.2

* 🦉 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>

* feat(spanner): adding `EXPECTED_FULFILLMENT_PERIOD` to the indicate instance creation times (with `FULFILLMENT_PERIOD_NORMAL` or `FULFILLMENT_PERIOD_EXTENDED` ENUM) with the extended instance creation time triggered by On-Demand Capacity Feature (#2024)

* feat: add several fields to manage state of database encryption update

PiperOrigin-RevId: 619289281

Source-Link: googleapis/googleapis@3a7c334

Source-Link: googleapis/googleapis-gen@6a8c733
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNmE4YzczMzA2MmQ4MzNkMTFjNTI0NWVkYTUwZjUxMDhlMGU1NTMyNCJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat: Add SessionPoolOptions, SpannerOptions protos in executor protos

PiperOrigin-RevId: 621265883

Source-Link: googleapis/googleapis@fed9845

Source-Link: googleapis/googleapis-gen@c66a769
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzY2YTc2OTU3ZTJlMTYzNDdiYzFkZDNmNGM2MzgyMjNmMDY1ZWU4MCJ9

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* feat(spanner): adding `EXPECTED_FULFILLMENT_PERIOD` to the indicate instance creation times (with `FULFILLMENT_PERIOD_NORMAL` or `FULFILLMENT_PERIOD_EXTENDED` ENUM) with the extended instance creation time triggered by On-Demand Capacity Feature

PiperOrigin-RevId: 621488048

Source-Link: googleapis/googleapis@0aa0992

Source-Link: googleapis/googleapis-gen@b8ad4c7
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjhhZDRjNzNhNWMwNWZlZDhiY2ZkZGI5MzEzMjY5OTZjMzQ0MTc5MSJ9

* 🦉 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>
Co-authored-by: danieljbruce <danieljbruce@users.noreply.github.com>

* feat: optimisticLock option for getTransaction method (#2028)

* feat: add option for optimistic lock in getTransaction method

* feat: add option for optimistic lock in getTransaction method

* add sample for read and write transaction

* add sample for read and write transaction

* chore: add integration test for the read/write query samples

* fix: presubmit error

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* fix: presubmit error

* refactor: sample doc

* refactor: sample doc

* refator: getTransaction method

* fix: lint errors

* fix: lint errors

* refactor: remove logs

* fix: presubmit error

* fix: lint errors

* test: add a unit test for getTransaction

* tests: add integration and unit test for getTransaction options properties

* fix: lint errors

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* refactor: naming convention for varaible in getTransaction method

* refactor: naming convention for varaible in getTransaction method

* fix: lint errors

* fix: lint error

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>

* chore(main): release 7.7.0 (#2027)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* fix: drop table statement

* refactor: delete method for drop statement

* Modified delete method to use async await

* fix: lint errors

* test: unit test for delete method

* fix: lint errors

* refactor: unit test for drop table

* refactor: remove unwanted commented lines

* fix: lint errors

* refactor: remove unwanted logs and refactor docs of the method

* refactor

* remove sample file

* refactor: unit test for delete method

* fix: lint error

* refactor: remove unused lines

* refactor: remove unused lines

* refactor: remove unused lines

* fix: lint errors

* refactor: remove sample file

* refactor

* fix: lint errors

* fix: lint errors

* refactor

* fix: lint errors

* refactor

* refactor

* refactor

---------

Co-authored-by: surbhigarg92 <surbhigarg.92@gmail.com>
Co-authored-by: Mend Renovate <renovate@whitesourcesoftware.com>
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: gcf-owl-bot[bot] <78513119+gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: danieljbruce <danieljbruce@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
* chore(spanner): regenerate proto files

* chore(spanner): regenerate proto files

* feat(spanner): ignore lint on generated proto files

* chore(spanner): add README files

* chore(spanner): fix lint

* 🦉 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>
…ption (#2049)

Add support for excluding transactions from being recorded in the change streams by passing a new boolean option ExcludeTxnFromChangeStreams in the various write APIs:

`runTransaction`
`getTransaction`
`runPartitionedUpdate`
`_mutate`

Note: Samples will be added later in separate prs.
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-gax](https://togithub.com/googleapis/gax-nodejs) ([source](https://togithub.com/googleapis/gax-nodejs/tree/HEAD/gax)) | [`4.3.3` -> `4.3.4`](https://renovatebot.com/diffs/npm/google-gax/4.3.3/4.3.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/google-gax/4.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/google-gax/4.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/google-gax/4.3.3/4.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/google-gax/4.3.3/4.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/gax-nodejs (google-gax)</summary>

### [`v4.3.4`](https://togithub.com/googleapis/gax-nodejs/blob/HEAD/gax/CHANGELOG.md#434-2024-05-22)

[Compare Source](https://togithub.com/googleapis/gax-nodejs/compare/google-gax-v4.3.3...google-gax-v4.3.4)

##### Bug Fixes

-   Counter does increment first retry ([#&#8203;1601](https://togithub.com/googleapis/gax-nodejs/issues/1601)) ([4b77bf3](https://togithub.com/googleapis/gax-nodejs/commit/4b77bf349e5fec46f9ad7934e4cce334b79e8013))
-   don't emit error event during stream handoff ([#&#8203;1592](https://togithub.com/googleapis/gax-nodejs/issues/1592)) ([2e7d30a](https://togithub.com/googleapis/gax-nodejs/commit/2e7d30a1671aa667f7c000c737dfa40824f7b9f1))
-   Only call getResumptionRequestFn once ([#&#8203;1593](https://togithub.com/googleapis/gax-nodejs/issues/1593)) ([e1755a9](https://togithub.com/googleapis/gax-nodejs/commit/e1755a920e789270dcb41b87290bab16c273d25f))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/nodejs-spanner).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-gax](https://togithub.com/googleapis/gax-nodejs) ([source](https://togithub.com/googleapis/gax-nodejs/tree/HEAD/gax)) | [`4.3.4` -> `4.3.5`](https://renovatebot.com/diffs/npm/google-gax/4.3.4/4.3.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/google-gax/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/google-gax/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/google-gax/4.3.4/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/google-gax/4.3.4/4.3.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/gax-nodejs (google-gax)</summary>

### [`v4.3.5`](https://togithub.com/googleapis/gax-nodejs/blob/HEAD/gax/CHANGELOG.md#435-2024-05-28)

[Compare Source](https://togithub.com/googleapis/gax-nodejs/compare/google-gax-v4.3.4...google-gax-v4.3.5)

##### Bug Fixes

-   fix lint warning ([#&#8203;1608](https://togithub.com/googleapis/gax-nodejs/issues/1608)) ([863d563](https://togithub.com/googleapis/gax-nodejs/commit/863d563beb21325eeb080906b48fe3c3f48bcc98))
-   raise error on retryable error when max retries is 0 ([#&#8203;1605](https://togithub.com/googleapis/gax-nodejs/issues/1605)) ([b4f2f30](https://togithub.com/googleapis/gax-nodejs/commit/b4f2f3085d20120f4c449218a6fb1843bcdd6a8c))
-   Reset the retry counter to 0 when receiving data ([#&#8203;1604](https://togithub.com/googleapis/gax-nodejs/issues/1604)) ([13b5d23](https://togithub.com/googleapis/gax-nodejs/commit/13b5d23c6faca88386f66ad5c75a37ecf9ae31e7))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/nodejs-spanner).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-gax](https://togithub.com/googleapis/gax-nodejs) ([source](https://togithub.com/googleapis/gax-nodejs/tree/HEAD/gax)) | [`4.3.5` -> `4.3.6`](https://renovatebot.com/diffs/npm/google-gax/4.3.5/4.3.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/google-gax/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/google-gax/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/google-gax/4.3.5/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/google-gax/4.3.5/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/gax-nodejs (google-gax)</summary>

### [`v4.3.6`](https://togithub.com/googleapis/gax-nodejs/blob/HEAD/gax/CHANGELOG.md#436-2024-06-06)

[Compare Source](https://togithub.com/googleapis/gax-nodejs/compare/google-gax-v4.3.5...google-gax-v4.3.6)

##### Bug Fixes

-   reduce duplicate code ([#&#8203;1612](https://togithub.com/googleapis/gax-nodejs/issues/1612)) ([c540ef6](https://togithub.com/googleapis/gax-nodejs/commit/c540ef610abae9717b6346a0354c05168bedc649))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/nodejs-spanner).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
This PR is a fix of lint failures in presubmits.
This PR contains Batch Write API implementation in Spanner.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-gax](https://togithub.com/googleapis/gax-nodejs) ([source](https://togithub.com/googleapis/gax-nodejs/tree/HEAD/gax)) | [`4.3.6` -> `4.3.7`](https://renovatebot.com/diffs/npm/google-gax/4.3.6/4.3.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/google-gax/4.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/google-gax/4.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/google-gax/4.3.6/4.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/google-gax/4.3.6/4.3.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/gax-nodejs (google-gax)</summary>

### [`v4.3.7`](https://togithub.com/googleapis/gax-nodejs/blob/HEAD/gax/CHANGELOG.md#437-2024-06-19)

[Compare Source](https://togithub.com/googleapis/gax-nodejs/compare/google-gax-v4.3.6...google-gax-v4.3.7)

##### Bug Fixes

-   update various dependencies and linting ([#&#8203;1622](https://togithub.com/googleapis/gax-nodejs/issues/1622)) ([227b296](https://togithub.com/googleapis/gax-nodejs/commit/227b296dfe7820de1777afe4699ecdc09487b1df))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/nodejs-spanner).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Use `gaxOptions.timeout` during retry in streaming calls. Earlier the timeout value was only used for a single RPC not for the whole operation including retries. Now if RPC returns `Unavailable` error and the timeout value has been reached, library will throw an Deadline exceeded error.

```
const query = {
        sql: 'Select 1',
        gaxOptions: {timeout: 500}
    }
const [rows] = await database.run(query);
```
… Batch Write (#2070)

* feat: change stream transaction exclusion option for Batch Write

* refactor
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-gax](https://togithub.com/googleapis/gax-nodejs) ([source](https://togithub.com/googleapis/gax-nodejs/tree/HEAD/gax)) | [`4.3.7` -> `4.3.8`](https://renovatebot.com/diffs/npm/google-gax/4.3.7/4.3.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/google-gax/4.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/google-gax/4.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/google-gax/4.3.7/4.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/google-gax/4.3.7/4.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/gax-nodejs (google-gax)</summary>

### [`v4.3.8`](https://togithub.com/googleapis/gax-nodejs/blob/HEAD/gax/CHANGELOG.md#438-2024-07-08)

[Compare Source](https://togithub.com/googleapis/gax-nodejs/compare/google-gax-v4.3.7...google-gax-v4.3.8)

##### Bug Fixes

-   **deps:** remove rimraf in favor of native node rm function ([#&#8203;1626](https://togithub.com/googleapis/gax-nodejs/issues/1626)) ([dd87646](https://togithub.com/googleapis/gax-nodejs/commit/dd87646618d5026549920e224df7f85cbb5ff6a8))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/nodejs-spanner).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
- [ ] Regenerate this pull request now.

PiperOrigin-RevId: 649277844

Source-Link: https://togithub.com/googleapis/googleapis/commit/fd7efa2da3860e813485e63661d3bdd21fc9ba82

Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/50be251329d8db5b555626ebd4886721f547d3cc
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTBiZTI1MTMyOWQ4ZGI1YjU1NTYyNmViZDQ4ODY3MjFmNTQ3ZDNjYyJ9

BEGIN_NESTED_COMMIT
build: update gapic generator to allow individual location mixin generation
PiperOrigin-RevId: 638462084

Source-Link: https://togithub.com/googleapis/googleapis/commit/e5d56361fda138e2432f73504c7fd6e1cf4cce14

Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/d02b2f9239c3e1de647ef37fb10a5e424aa0b7a5
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZDAyYjJmOTIzOWMzZTFkZTY0N2VmMzdmYjEwYTVlNDI0YWEwYjdhNSJ9
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
feat: add field order_by in spanner.proto
feat: add field lock_hint in spanner.proto

PiperOrigin-RevId: 636759139

Source-Link: https://togithub.com/googleapis/googleapis/commit/eeed69d446a90eb4a4a2d1762c49d637075390c1

Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/8b4c5dae2157cd683a9229d40de8c71665c21a0a
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOGI0YzVkYWUyMTU3Y2Q2ODNhOTIyOWQ0MGRlOGM3MTY2NWMyMWEwYSJ9
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
feat: update Nodejs generator to send API versions in headers for GAPICs
PiperOrigin-RevId: 634109303

Source-Link: https://togithub.com/googleapis/googleapis/commit/998ade8d5e34d18df5ce36ce2baefdd57f4da375

Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/000ca6f00801f65b847e6029cb05111404df21ec
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMDAwY2E2ZjAwODAxZjY1Yjg0N2U2MDI5Y2IwNTExMTQwNGRmMjFlYyJ9
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
feat: Add QueryCancellationAction message in executor protos
PiperOrigin-RevId: 633451546

Source-Link: https://togithub.com/googleapis/googleapis/commit/e3a34df5b36e38a1ee0b1544ed4ae3b99cdf0f91

Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/d4cd0f48a5773151fc6eeebc87aa7e9e95905755
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZDRjZDBmNDhhNTc3MzE1MWZjNmVlZWJjODdhYTdlOWU5NTkwNTc1NSJ9
END_NESTED_COMMIT
🤖 I have created a release *beep* *boop*
---


## [7.10.0](https://togithub.com/googleapis/nodejs-spanner/compare/v7.9.1...v7.10.0) (2024-07-19)


### Features

* Add field lock_hint in spanner.proto ([47520e9](https://togithub.com/googleapis/nodejs-spanner/commit/47520e927b0fdcc60cb67378b8b49f44329f210b))
* Add field order_by in spanner.proto ([47520e9](https://togithub.com/googleapis/nodejs-spanner/commit/47520e927b0fdcc60cb67378b8b49f44329f210b))
* Add QueryCancellationAction message in executor protos ([47520e9](https://togithub.com/googleapis/nodejs-spanner/commit/47520e927b0fdcc60cb67378b8b49f44329f210b))
* Add support for change streams transaction exclusion option for Batch Write ([#2070](https://togithub.com/googleapis/nodejs-spanner/issues/2070)) ([2a9e443](https://togithub.com/googleapis/nodejs-spanner/commit/2a9e44328acda310db2d0d65d32ad82d77a9fcb0))
* **spanner:** Add support for Cloud Spanner Scheduled Backups ([#2045](https://togithub.com/googleapis/nodejs-spanner/issues/2045)) ([47520e9](https://togithub.com/googleapis/nodejs-spanner/commit/47520e927b0fdcc60cb67378b8b49f44329f210b))
* Update Nodejs generator to send API versions in headers for GAPICs ([47520e9](https://togithub.com/googleapis/nodejs-spanner/commit/47520e927b0fdcc60cb67378b8b49f44329f210b))


### Bug Fixes

* Callback in getDatabaseDialect ([#2078](https://togithub.com/googleapis/nodejs-spanner/issues/2078)) ([7e4a8e9](https://togithub.com/googleapis/nodejs-spanner/commit/7e4a8e9ad4f785b15b68aaa06b6480098d7995ba))
* **deps:** Update dependency google-gax to v4.3.8 ([#2077](https://togithub.com/googleapis/nodejs-spanner/issues/2077)) ([e927880](https://togithub.com/googleapis/nodejs-spanner/commit/e927880ff786a2528a2bbb063a244af3c42ff69c))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
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:
- [ ] Make sure to open an issue as a [bug/issue](https://togithub.com/googleapis/nodejs-spanner/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
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
* sample: blind write

* sample: blind write

* refactor

* add class mutation

* add class mutation

* feat: blind-writes

* refactor

* fix: lint errors

* refactor

* fix: lint errors

* fix: header checks

* refactor the blind write

* feat: add support for blind writes

chore(main): release 7.9.0 (#2053)

:robot: I have created a release *beep* *boop*
---

* **spanner:** Add support for batchWrite ([#2054](https://togithub.com/googleapis/nodejs-spanner/issues/2054)) ([06aab6e](https://togithub.com/googleapis/nodejs-spanner/commit/06aab6e39bbce9e3786f1ac631c80e8909197e92))

* **deps:** Update dependency google-gax to v4.3.4 ([#2051](https://togithub.com/googleapis/nodejs-spanner/issues/2051)) ([80abf06](https://togithub.com/googleapis/nodejs-spanner/commit/80abf06ba8ef9497318ffc597b83fb63e4408f9c))
* **deps:** Update dependency google-gax to v4.3.5 ([#2055](https://togithub.com/googleapis/nodejs-spanner/issues/2055)) ([702c9b0](https://togithub.com/googleapis/nodejs-spanner/commit/702c9b0f34e6cc34233c5aa52b97601b19f70980))
* **deps:** Update dependency google-gax to v4.3.6 ([#2057](https://togithub.com/googleapis/nodejs-spanner/issues/2057)) ([74ebf1e](https://togithub.com/googleapis/nodejs-spanner/commit/74ebf1e45cddf614c180295f3a761a8f84c5cb32))
* **deps:** Update dependency google-gax to v4.3.7 ([#2068](https://togithub.com/googleapis/nodejs-spanner/issues/2068)) ([28fec6c](https://togithub.com/googleapis/nodejs-spanner/commit/28fec6ca505d78d725efc123950be978e0c84ab7))

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

refactor: blind write method

fix: lint errors

fix: Retry with timeout (#2071)

Use `gaxOptions.timeout` during retry in streaming calls. Earlier the timeout value was only used for a single RPC not for the whole operation including retries. Now if RPC returns `Unavailable` error and the timeout value has been reached, library will throw an Deadline exceeded error.

```
const query = {
        sql: 'Select 1',
        gaxOptions: {timeout: 500}
    }
const [rows] = await database.run(query);
```

chore(main): release 7.9.1 (#2072)

:robot: I have created a release *beep* *boop*
---

* Retry with timeout ([#2071](https://togithub.com/googleapis/nodejs-spanner/issues/2071)) ([a943257](https://togithub.com/googleapis/nodejs-spanner/commit/a943257a0402b26fd80196057a9724fd28fc5c1b))

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

refactor: blind write method

test: unit test for blind write

test: unit test for blind write

refactor

fix: lint errors

feat: add support for change streams transaction exclusion option for Batch Write (#2070)

* feat: change stream transaction exclusion option for Batch Write

* refactor

docs: add doc to blindWrite method

docs: add doc to the setQueuedMutations

refactor: doc setQueuedMutations

fix: presubmit error

fix(deps): update dependency google-gax to v4.3.8 (#2077)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [google-gax](https://togithub.com/googleapis/gax-nodejs) ([source](https://togithub.com/googleapis/gax-nodejs/tree/HEAD/gax)) | [`4.3.7` -> `4.3.8`](https://renovatebot.com/diffs/npm/google-gax/4.3.7/4.3.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/google-gax/4.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/google-gax/4.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/google-gax/4.3.7/4.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/google-gax/4.3.7/4.3.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

<details>
<summary>googleapis/gax-nodejs (google-gax)</summary>

[Compare Source](https://togithub.com/googleapis/gax-nodejs/compare/google-gax-v4.3.7...google-gax-v4.3.8)

-   **deps:** remove rimraf in favor of native node rm function ([#&#8203;1626](https://togithub.com/googleapis/gax-nodejs/issues/1626)) ([dd87646](https://togithub.com/googleapis/gax-nodejs/commit/dd87646618d5026549920e224df7f85cbb5ff6a8))

</details>

---

📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/nodejs-spanner).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

updated

updated

lint

refactor

* fix: presubmit error

* refactor: docs of the method writeAtLeastOnce

* test: unit test using mockspanner

* fix: lint errors

* docs refactor

* refactor

* refactor

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: surbhigarg92 <surbhigarg.92@gmail.com>
gcf-owl-bot bot and others added 6 commits February 13, 2026 10:45
* chore: bump pip in nodejs Dockerfile

* feat: wip

* typo

* revert

Source-Link: googleapis/synthtool@3c359d1
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:5ef945dd0b346b78caabeaf973467273a31394c074f5ec3f85cb66769036bab5

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* feat: add SI, adapt, split point related proto
docs: A comment for field `execution_options` in message `.google.spanner.executor.v1.StartTransactionAction` is changed
docs: A comment for message `TransactionExecutionOptions` is changed
docs: A comment for message `ListCloudInstancesAction` is changed

PiperOrigin-RevId: 871366927

Source-Link: googleapis/googleapis@c032a51

Source-Link: googleapis/googleapis-gen@d2b2c4d
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZDJiMmM0ZGY1NGM4MjExYmY4NjY5YzVkMGNiNDBkNDQ5ZThhZDczYSJ9

* 🦉 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>
Source-Link: googleapis/synthtool@1de1899
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:1bf17970ae27b8ff1cad706a4d68a3592723575d3a5a9de6afe3d2726eed7f2d

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: alkatrivedi <58396306+alkatrivedi@users.noreply.github.com>
@sofisl sofisl requested a review from a team as a code owner February 26, 2026 21:43
Comment on lines +9 to +28
runs-on: ubuntu-latest

services:
emulator:
image: gcr.io/cloud-spanner-emulator/emulator:latest
ports:
- 9010:9010
- 9020:9020

steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- uses: actions/setup-node@v5
with:
node-version: 22
- run: node --version
- run: npm install
- run: npm run system-test
env:
SPANNER_EMULATOR_HOST: localhost:9010
GCLOUD_PROJECT: emulator-test-project

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
@sofisl sofisl added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Feb 27, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Feb 27, 2026
@sofisl sofisl added kokoro:force-run Add this label to force Kokoro to re-run the tests. labels Feb 28, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Feb 28, 2026
@sofisl sofisl added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Feb 28, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Feb 28, 2026
sofisl added 2 commits March 3, 2026 13:47
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.