Commit 1fc04fe
chore: add grpc-server API for SpannerLib (#534)
* chore: add grpc-server API for SpannerLib
Adds a gRPC server that exposes the API of SpannerLib. This allows clients
to connect to run SpannerLib as a child process and connect to it using
gRPC.
* refactor(ruby): Introduce MessageHandler and Rows classes (#553)
* refactor: add new message handler in ruby wrapper
* chore: delay transaction activation until actual use (#552)
* chore: store temp TransactionOptions in connection state
Store temporary TransactionOptions in the connection state as local options. Local options
only apply to the current transaction. This simplifies the internal state handling of the
driver, as all transaction state should only be read from the connection state, and not
also from a temporary variable.
This also enables the use of a combination of temporary transaction options and using
SQL statements to set further options. The shared library always includes temporary
transaction options, as the BeginTransaction function accepts TransactionOptions as an
input argument. This meant that using SQL statements to set further transaction options
was not supported through the shared library.
* chore: delay transaction activation until actual use
Delay the actual transaction activation until the first actual usage of the transaction.
That is; the first time that a statement is being sent to Spanner. This allows the
application to amend the transaction options after calling BeginTx or executing
`BEGIN TRANSACTION`. The transaction options can be amended by executing a statement
like `SET TRANSACTION READ ONLY`.
* chore: update actions/checkout action to v5 (#555)
* fix: update all dependencies (#551)
* fix: update all dependencies
* chore: go mod tidy
---------
Co-authored-by: Knut Olav Løite <[email protected]>
* chore: add signal handler to remove temp file
* chore: add .NET gRPC wrapper (#539)
* fix: update dependency net.java.dev.jna:jna to v5.18.0 (#538)
* chore: update all dependencies (#537)
* fix: update all dependencies (#536)
* fix: update all dependencies
* chore: go mod tidy
---------
Co-authored-by: Knut Olav Løite <[email protected]>
* chore(main): release 1.18.1 (#525)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
* fix: update module github.com/googleapis/go-sql-spanner to v1.18.1 (#540)
* chore: add .NET gRPC wrapper
Adds a gRPC wrapper for .NET. This wrapper uses the gRPC API to connect to SpannerLib.
The gRPC channel uses a Unix domain socket.
* fix: update dependency net.java.dev.jna:jna to v5.18.1 (#544)
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [net.java.dev.jna:jna](https://redirect.github.com/java-native-access/jna) | `5.18.0` -> `5.18.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>java-native-access/jna (net.java.dev.jna:jna)</summary>
### [`v5.18.1`](https://redirect.github.com/java-native-access/jna/blob/HEAD/CHANGES.md#Release-5181)
[Compare Source](https://redirect.github.com/java-native-access/jna/compare/5.18.0...5.18.1)
\==============
## Bug Fixes
- [#​1686](https://redirect.github.com/java-native-access/jna/issues/1686): Fix `sortFields` race condition while getting fields - [@​bendk](https://redirect.github.com/bendk).
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/go-sql-spanner).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQxLjEzMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
* feat: add authority param support to DSN (#546)
Signed-off-by: Marco Pracucci <[email protected]>
* fix: update all dependencies (#542)
* fix: update all dependencies
* chore: go mod tidy
* build: add ByteBuddy for Java wrapper
---------
Co-authored-by: Knut Olav Løite <[email protected]>
* feat(ruby): Add Ruby FFI wrapper for spannerlib (#545)
* feat(ruby): add Ruby FFI wrapper for spannerlib
* chore(main): release 1.19.0 (#541)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
* chore: store temp TransactionOptions in connection state (#548)
Store temporary TransactionOptions in the connection state as local options. Local options
only apply to the current transaction. This simplifies the internal state handling of the
driver, as all transaction state should only be read from the connection state, and not
also from a temporary variable.
This also enables the use of a combination of temporary transaction options and using
SQL statements to set further options. The shared library always includes temporary
transaction options, as the BeginTransaction function accepts TransactionOptions as an
input argument. This meant that using SQL statements to set further transaction options
was not supported through the shared library.
* feat: parse SET TRANSACTION statements (#549)
* feat: parse SET TRANSACTION statements
Parse SET TRANSACTION statements and translate these to SET LOCAL statements.
SET TRANSACTION may only be executed in a transaction block, and can only be
used for a specific, limited set of connection properties. The syntax is
specified by the SQL standard and PostgreSQL.
See also https://www.postgresql.org/docs/current/sql-set-transaction.html
This change only adds partial support. The following features will be added
in future changes:
1. SET TRANSACTION READ {WRITE | ONLY} is not picked up by the driver, as
the type of transaction is set directly when BeginTx is called. A
refactor of this transaction handling is needed to be able to pick up
SET TRANSACTION READ ONLY / SET TRANSACTION READ WRITE statements that
are executed after BeginTx has been called.
2. PostgreSQL allows multiple transaction modes to be set in a single
SET TRANSACTION statement. E.g. the following is allowed:
SET TRANSACTION READ WRITE, ISOLATION LEVEL SERIALIZABLE
The current implementation only supports one transaction mode per
SET statement.
* feat: support multiple transaction options in one statement
* feat: support transaction options in BEGIN statements (#550)
* feat: parse SET TRANSACTION statements
Parse SET TRANSACTION statements and translate these to SET LOCAL statements.
SET TRANSACTION may only be executed in a transaction block, and can only be
used for a specific, limited set of connection properties. The syntax is
specified by the SQL standard and PostgreSQL.
See also https://www.postgresql.org/docs/current/sql-set-transaction.html
This change only adds partial support. The following features will be added
in future changes:
1. SET TRANSACTION READ {WRITE | ONLY} is not picked up by the driver, as
the type of transaction is set directly when BeginTx is called. A
refactor of this transaction handling is needed to be able to pick up
SET TRANSACTION READ ONLY / SET TRANSACTION READ WRITE statements that
are executed after BeginTx has been called.
2. PostgreSQL allows multiple transaction modes to be set in a single
SET TRANSACTION statement. E.g. the following is allowed:
SET TRANSACTION READ WRITE, ISOLATION LEVEL SERIALIZABLE
The current implementation only supports one transaction mode per
SET statement.
* feat: support multiple transaction options in one statement
* feat: support transaction options in BEGIN statements
Adds support for including transaction options in BEGIN statements, like:
```sql
BEGIN READ ONLY;
BEGIN READ WRITE;
BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
BEGIN READ WRITE, ISOLATION LEVEL SERIALIZABLE;
```
* chore: re-trigger checks
* chore: add timeout for server startup
---------
Signed-off-by: Marco Pracucci <[email protected]>
Co-authored-by: Mend Renovate <[email protected]>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Marco Pracucci <[email protected]>
Co-authored-by: aakashanandg <[email protected]>
* chore: return long instead of int
* chore: remove TODO
---------
Signed-off-by: Marco Pracucci <[email protected]>
Co-authored-by: aakashanandg <[email protected]>
Co-authored-by: Mend Renovate <[email protected]>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Marco Pracucci <[email protected]>1 parent 3eba323 commit 1fc04fe
File tree
127 files changed
+25733
-723
lines changed- .github/workflows
- benchmarks
- examples
- snippets
- spannerlib
- api
- grpc-server
- google/spannerlib
- v1
- lib
- wrappers
- spannerlib-dotnet
- spannerlib-dotnet-grpc-impl
- spannerlib-dotnet-grpc-server
- spannerlib-dotnet-grpc-tests
- spannerlib-dotnet-grpc-v1
- spannerlib-dotnet-mockserver
- spannerlib-dotnet-native-impl
- spannerlib-dotnet-tests
- spannerlib-dotnet
- spannerlib-java
- src
- main/java/com
- google/cloud/spannerlib
- v1
- sun/jna
- test/java/com/google/cloud/spannerlib
- spannerlib-ruby
- lib/spannerlib
- spec
- integration
- spannerlib
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
127 files changed
+25733
-723
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
51 | 56 | | |
52 | 57 | | |
53 | 58 | | |
54 | 59 | | |
55 | 60 | | |
56 | 61 | | |
57 | 62 | | |
| 63 | + | |
58 | 64 | | |
59 | 65 | | |
60 | 66 | | |
| 67 | + | |
61 | 68 | | |
62 | 69 | | |
63 | 70 | | |
| 71 | + | |
64 | 72 | | |
65 | 73 | | |
66 | 74 | | |
| |||
89 | 97 | | |
90 | 98 | | |
91 | 99 | | |
| 100 | + | |
| 101 | + | |
92 | 102 | | |
93 | 103 | | |
94 | 104 | | |
| |||
116 | 126 | | |
117 | 127 | | |
118 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
119 | 157 | | |
120 | 158 | | |
121 | 159 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
44 | 47 | | |
45 | 48 | | |
46 | 49 | | |
| |||
51 | 54 | | |
52 | 55 | | |
53 | 56 | | |
54 | | - | |
| 57 | + | |
55 | 58 | | |
56 | 59 | | |
57 | 60 | | |
| |||
117 | 120 | | |
118 | 121 | | |
119 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
120 | 126 | | |
121 | 127 | | |
122 | 128 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | | - | |
105 | | - | |
| 104 | + | |
| 105 | + | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| |||
1371 | 1371 | | |
1372 | 1372 | | |
1373 | 1373 | | |
1374 | | - | |
1375 | | - | |
| 1374 | + | |
| 1375 | + | |
1376 | 1376 | | |
1377 | 1377 | | |
1378 | 1378 | | |
| |||
1516 | 1516 | | |
1517 | 1517 | | |
1518 | 1518 | | |
1519 | | - | |
1520 | | - | |
| 1519 | + | |
| 1520 | + | |
1521 | 1521 | | |
1522 | 1522 | | |
1523 | 1523 | | |
| |||
1559 | 1559 | | |
1560 | 1560 | | |
1561 | 1561 | | |
1562 | | - | |
1563 | | - | |
| 1562 | + | |
| 1563 | + | |
1564 | 1564 | | |
1565 | 1565 | | |
1566 | 1566 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
| 105 | + | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
| 111 | + | |
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| |||
0 commit comments