Skip to content

Commit 980aa8c

Browse files
committed
merge conflicts resolved
2 parents 509b13e + b382999 commit 980aa8c

File tree

78 files changed

+17374
-8109
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+17374
-8109
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Changelog
22

3+
## [6.90.0](https://github.com/googleapis/java-spanner/compare/v6.89.0...v6.90.0) (2025-03-31)
4+
5+
6+
### Features
7+
8+
* Add default_isolation_level connection property ([#3702](https://github.com/googleapis/java-spanner/issues/3702)) ([9472d23](https://github.com/googleapis/java-spanner/commit/9472d23c2b233275e779815f89040323e073a7d1))
9+
* Adds support for Interval datatype in Java client ([#3416](https://github.com/googleapis/java-spanner/issues/3416)) ([8be8f5e](https://github.com/googleapis/java-spanner/commit/8be8f5e6b08c8cf3e5f062e4b985b3ec9c725064))
10+
* Integration test for End to End tracing ([#3691](https://github.com/googleapis/java-spanner/issues/3691)) ([bf1a07a](https://github.com/googleapis/java-spanner/commit/bf1a07a153b1eb899757260b8ac2bc12384e45af))
11+
* Specify isolation level per transaction ([#3704](https://github.com/googleapis/java-spanner/issues/3704)) ([868f30f](https://github.com/googleapis/java-spanner/commit/868f30fde95d07c3fc18feaca64b4d1c3ba6a27d))
12+
* Support PostgreSQL isolation level statements ([#3706](https://github.com/googleapis/java-spanner/issues/3706)) ([dda2e1d](https://github.com/googleapis/java-spanner/commit/dda2e1dec38febdad54b61f588590c7572017ba9))
13+
314
## [6.89.0](https://github.com/googleapis/java-spanner/compare/v6.88.0...v6.89.0) (2025-03-20)
415

516

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,28 @@ If you are using Maven without the BOM, add this to your dependencies:
4141
<dependency>
4242
<groupId>com.google.cloud</groupId>
4343
<artifactId>google-cloud-spanner</artifactId>
44-
<version>6.84.0</version>
44+
<version>6.89.0</version>
4545
</dependency>
4646

4747
```
4848

4949
If you are using Gradle 5.x or later, add this to your dependencies:
5050

5151
```Groovy
52-
implementation platform('com.google.cloud:libraries-bom:26.56.0')
52+
implementation platform('com.google.cloud:libraries-bom:26.57.0')
5353
5454
implementation 'com.google.cloud:google-cloud-spanner'
5555
```
5656
If you are using Gradle without BOM, add this to your dependencies:
5757

5858
```Groovy
59-
implementation 'com.google.cloud:google-cloud-spanner:6.89.0'
59+
implementation 'com.google.cloud:google-cloud-spanner:6.90.0'
6060
```
6161

6262
If you are using SBT, add this to your dependencies:
6363

6464
```Scala
65-
libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.89.0"
65+
libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.90.0"
6666
```
6767

6868
## Authentication
@@ -727,7 +727,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
727727
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-spanner/java11.html
728728
[stability-image]: https://img.shields.io/badge/stability-stable-green
729729
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-spanner.svg
730-
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.89.0
730+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.90.0
731731
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
732732
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
733733
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles

benchmarks/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>com.google.cloud</groupId>
2626
<artifactId>google-cloud-spanner-parent</artifactId>
27-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
27+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
2828
</parent>
2929

3030
<properties>
@@ -92,7 +92,7 @@
9292
<dependency>
9393
<groupId>com.google.cloud</groupId>
9494
<artifactId>google-cloud-spanner</artifactId>
95-
<version>6.84.0</version>
95+
<version>6.89.0</version>
9696
</dependency>
9797
<dependency>
9898
<groupId>commons-cli</groupId>

generation_config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
gapic_generator_version: 2.55.1
2-
googleapis_commitish: 803b23488149d2d00725edc52d8a6498b6ab0fec
3-
libraries_bom_version: 26.56.0
2+
googleapis_commitish: 0c142cc0ed988797104f3c934b0d5cfe0906b948
3+
libraries_bom_version: 26.57.0
44
libraries:
55
- api_shortname: spanner
66
name_pretty: Cloud Spanner

google-cloud-spanner-bom/pom.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.google.cloud</groupId>
55
<artifactId>google-cloud-spanner-bom</artifactId>
6-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
6+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
77
<packaging>pom</packaging>
88
<parent>
99
<groupId>com.google.cloud</groupId>
@@ -53,43 +53,43 @@
5353
<dependency>
5454
<groupId>com.google.cloud</groupId>
5555
<artifactId>google-cloud-spanner</artifactId>
56-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
56+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
5757
</dependency>
5858
<dependency>
5959
<groupId>com.google.cloud</groupId>
6060
<artifactId>google-cloud-spanner</artifactId>
6161
<type>test-jar</type>
62-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
62+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
6363
</dependency>
6464
<dependency>
6565
<groupId>com.google.api.grpc</groupId>
6666
<artifactId>grpc-google-cloud-spanner-v1</artifactId>
67-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-v1:current} -->
67+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-v1:current} -->
6868
</dependency>
6969
<dependency>
7070
<groupId>com.google.api.grpc</groupId>
7171
<artifactId>grpc-google-cloud-spanner-admin-instance-v1</artifactId>
72-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-instance-v1:current} -->
72+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-instance-v1:current} -->
7373
</dependency>
7474
<dependency>
7575
<groupId>com.google.api.grpc</groupId>
7676
<artifactId>grpc-google-cloud-spanner-admin-database-v1</artifactId>
77-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-database-v1:current} -->
77+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-database-v1:current} -->
7878
</dependency>
7979
<dependency>
8080
<groupId>com.google.api.grpc</groupId>
8181
<artifactId>proto-google-cloud-spanner-admin-instance-v1</artifactId>
82-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-instance-v1:current} -->
82+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-instance-v1:current} -->
8383
</dependency>
8484
<dependency>
8585
<groupId>com.google.api.grpc</groupId>
8686
<artifactId>proto-google-cloud-spanner-v1</artifactId>
87-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-v1:current} -->
87+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-v1:current} -->
8888
</dependency>
8989
<dependency>
9090
<groupId>com.google.api.grpc</groupId>
9191
<artifactId>proto-google-cloud-spanner-admin-database-v1</artifactId>
92-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-database-v1:current} -->
92+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-database-v1:current} -->
9393
</dependency>
9494
</dependencies>
9595
</dependencyManagement>

google-cloud-spanner-executor/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.google.cloud</groupId>
77
<artifactId>google-cloud-spanner-executor</artifactId>
8-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner-executor:current} -->
8+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner-executor:current} -->
99
<packaging>jar</packaging>
1010
<name>Google Cloud Spanner Executor</name>
1111

1212
<parent>
1313
<groupId>com.google.cloud</groupId>
1414
<artifactId>google-cloud-spanner-parent</artifactId>
15-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
15+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
1616
</parent>
1717

1818
<properties>

google-cloud-spanner/clirr-ignored-differences.xml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,58 @@
598598
<method>java.util.List getUuidArray()</method>
599599
</difference>
600600

601+
<!-- INTERVAL -->
602+
<difference>
603+
<differenceType>7012</differenceType>
604+
<className>com/google/cloud/spanner/StructReader</className>
605+
<method>com.google.cloud.spanner.Interval getInterval(int)</method>
606+
</difference>
607+
<difference>
608+
<differenceType>7012</differenceType>
609+
<className>com/google/cloud/spanner/StructReader</className>
610+
<method>com.google.cloud.spanner.Interval getInterval(java.lang.String)</method>
611+
</difference>
612+
<difference>
613+
<differenceType>7012</differenceType>
614+
<className>com/google/cloud/spanner/StructReader</className>
615+
<method>com.google.cloud.spanner.Interval[] getIntervalArray(int)</method>
616+
</difference>
617+
<difference>
618+
<differenceType>7012</differenceType>
619+
<className>com/google/cloud/spanner/StructReader</className>
620+
<method>com.google.cloud.spanner.Interval[] getIntervalArray(java.lang.String)</method>
621+
</difference>
622+
<difference>
623+
<differenceType>7012</differenceType>
624+
<className>com/google/cloud/spanner/StructReader</className>
625+
<method>java.util.List getIntervalList(int)</method>
626+
</difference>
627+
<difference>
628+
<differenceType>7012</differenceType>
629+
<className>com/google/cloud/spanner/StructReader</className>
630+
<method>java.util.List getIntervalList(java.lang.String)</method>
631+
</difference>
632+
<difference>
633+
<differenceType>7013</differenceType>
634+
<className>com/google/cloud/spanner/AbstractStructReader</className>
635+
<method>com.google.cloud.spanner.Interval getIntervalInternal(int)</method>
636+
</difference>
637+
<difference>
638+
<differenceType>7013</differenceType>
639+
<className>com/google/cloud/spanner/AbstractStructReader</className>
640+
<method>java.util.List getIntervalListInternal(int)</method>
641+
</difference>
642+
<difference>
643+
<differenceType>7013</differenceType>
644+
<className>com/google/cloud/spanner/Value</className>
645+
<method>com.google.cloud.spanner.Interval getInterval()</method>
646+
</difference>
647+
<difference>
648+
<differenceType>7013</differenceType>
649+
<className>com/google/cloud/spanner/Value</className>
650+
<method>java.util.List getIntervalArray()</method>
651+
</difference>
652+
601653
<!-- (Internal change, use stream timeout) -->
602654
<difference>
603655
<differenceType>7012</differenceType>
@@ -882,6 +934,30 @@
882934
<className>com/google/cloud/spanner/connection/Connection</className>
883935
<method>java.lang.String getDefaultSequenceKind()</method>
884936
</difference>
937+
938+
<!-- Default isolation level -->
939+
<difference>
940+
<differenceType>7012</differenceType>
941+
<className>com/google/cloud/spanner/connection/Connection</className>
942+
<method>void setDefaultIsolationLevel(com.google.spanner.v1.TransactionOptions$IsolationLevel)</method>
943+
</difference>
944+
<difference>
945+
<differenceType>7012</differenceType>
946+
<className>com/google/cloud/spanner/connection/Connection</className>
947+
<method>com.google.spanner.v1.TransactionOptions$IsolationLevel getDefaultIsolationLevel()</method>
948+
</difference>
949+
950+
<!-- Isolation level per transaction -->
951+
<difference>
952+
<differenceType>7012</differenceType>
953+
<className>com/google/cloud/spanner/connection/Connection</className>
954+
<method>void beginTransaction(com.google.spanner.v1.TransactionOptions$IsolationLevel)</method>
955+
</difference>
956+
<difference>
957+
<differenceType>7012</differenceType>
958+
<className>com/google/cloud/spanner/connection/Connection</className>
959+
<method>com.google.api.core.ApiFuture beginTransactionAsync(com.google.spanner.v1.TransactionOptions$IsolationLevel)</method>
960+
</difference>
885961

886962
<!-- Removed ConnectionOptions$ConnectionProperty in favor of the more generic ConnectionProperty class. -->
887963
<difference>

google-cloud-spanner/pom.xml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.google.cloud</groupId>
55
<artifactId>google-cloud-spanner</artifactId>
6-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
6+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
77
<packaging>jar</packaging>
88
<name>Google Cloud Spanner</name>
99
<url>https://github.com/googleapis/java-spanner</url>
1010
<description>Java idiomatic client for Google Cloud Spanner.</description>
1111
<parent>
1212
<groupId>com.google.cloud</groupId>
1313
<artifactId>google-cloud-spanner-parent</artifactId>
14-
<version>6.89.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
14+
<version>6.90.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
1515
</parent>
1616
<properties>
1717
<site.installationModule>google-cloud-spanner</site.installationModule>
@@ -455,6 +455,24 @@
455455
<artifactId>opentelemetry-sdk-testing</artifactId>
456456
<scope>test</scope>
457457
</dependency>
458+
<dependency>
459+
<groupId>com.google.cloud.opentelemetry</groupId>
460+
<artifactId>exporter-trace</artifactId>
461+
<version>0.33.0</version>
462+
<scope>test</scope>
463+
</dependency>
464+
<dependency>
465+
<groupId>com.google.cloud</groupId>
466+
<artifactId>google-cloud-trace</artifactId>
467+
<version>2.51.0</version>
468+
<scope>test</scope>
469+
</dependency>
470+
<dependency>
471+
<groupId>com.google.api.grpc</groupId>
472+
<artifactId>proto-google-cloud-trace-v1</artifactId>
473+
<version>2.51.0</version>
474+
<scope>test</scope>
475+
</dependency>
458476
</dependencies>
459477
<profiles>
460478
<profile>

google-cloud-spanner/src/main/java/com/google/cloud/spanner/AbstractResultSet.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,11 @@ protected UUID getUuidInternal(int columnIndex) {
440440
return currRow().getUuidInternal(columnIndex);
441441
}
442442

443+
@Override
444+
protected Interval getIntervalInternal(int columnIndex) {
445+
return currRow().getIntervalInternal(columnIndex);
446+
}
447+
443448
@Override
444449
protected Value getValueInternal(int columnIndex) {
445450
return currRow().getValueInternal(columnIndex);
@@ -537,6 +542,11 @@ protected List<UUID> getUuidListInternal(int columnIndex) {
537542
return currRow().getUuidListInternal(columnIndex);
538543
}
539544

545+
@Override
546+
protected List<Interval> getIntervalListInternal(int columnIndex) {
547+
return currRow().getIntervalListInternal(columnIndex);
548+
}
549+
540550
@Override
541551
protected List<Struct> getStructListInternal(int columnIndex) {
542552
return currRow().getStructListInternal(columnIndex);

google-cloud-spanner/src/main/java/com/google/cloud/spanner/AbstractStructReader.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ protected UUID getUuidInternal(int columnIndex) {
7272
throw new UnsupportedOperationException("Not implemented");
7373
}
7474

75+
protected abstract Interval getIntervalInternal(int columnIndex);
76+
7577
protected <T extends AbstractMessage> T getProtoMessageInternal(int columnIndex, T message) {
7678
throw new UnsupportedOperationException("Not implemented");
7779
}
@@ -137,6 +139,8 @@ protected List<UUID> getUuidListInternal(int columnIndex) {
137139
throw new UnsupportedOperationException("Not implemented");
138140
}
139141

142+
protected abstract List<Interval> getIntervalListInternal(int columnIndex);
143+
140144
protected abstract List<Struct> getStructListInternal(int columnIndex);
141145

142146
@Override
@@ -321,6 +325,19 @@ public UUID getUuid(String columnName) {
321325
return getUuidInternal(columnIndex);
322326
}
323327

328+
@Override
329+
public Interval getInterval(int columnIndex) {
330+
checkNonNullOfType(columnIndex, Type.interval(), columnIndex);
331+
return getIntervalInternal(columnIndex);
332+
}
333+
334+
@Override
335+
public Interval getInterval(String columnName) {
336+
int columnIndex = getColumnIndex(columnName);
337+
checkNonNullOfType(columnIndex, Type.interval(), columnName);
338+
return getIntervalInternal(columnIndex);
339+
}
340+
324341
@Override
325342
public <T extends ProtocolMessageEnum> T getProtoEnum(
326343
int columnIndex, Function<Integer, ProtocolMessageEnum> method) {
@@ -618,6 +635,19 @@ public List<UUID> getUuidList(String columnName) {
618635
return getUuidListInternal(columnIndex);
619636
}
620637

638+
@Override
639+
public List<Interval> getIntervalList(int columnIndex) {
640+
checkNonNullOfType(columnIndex, Type.array(Type.interval()), columnIndex);
641+
return getIntervalListInternal(columnIndex);
642+
}
643+
644+
@Override
645+
public List<Interval> getIntervalList(String columnName) {
646+
int columnIndex = getColumnIndex(columnName);
647+
checkNonNullOfType(columnIndex, Type.array(Type.interval()), columnName);
648+
return getIntervalListInternal(columnIndex);
649+
}
650+
621651
@Override
622652
public List<Struct> getStructList(int columnIndex) {
623653
checkNonNullArrayOfStruct(columnIndex, columnIndex);

0 commit comments

Comments
 (0)