Skip to content

Commit 401bad0

Browse files
authored
Merge branch 'main' into main
2 parents 6895c24 + f49cc47 commit 401bad0

File tree

28 files changed

+168
-61
lines changed

28 files changed

+168
-61
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
1919
<dependency>
2020
<groupId>com.google.cloud</groupId>
2121
<artifactId>libraries-bom</artifactId>
22-
<version>26.70.0</version>
22+
<version>26.71.0</version>
2323
<type>pom</type>
2424
<scope>import</scope>
2525
</dependency>
@@ -41,7 +41,7 @@ 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.102.0</version>
44+
<version>6.102.1</version>
4545
</dependency>
4646

4747
```

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.102.1</version><!-- {x-version-update:google-cloud-spanner:current} -->
27+
<version>6.102.2-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
2828
</parent>
2929

3030
<properties>
@@ -90,7 +90,7 @@
9090
<dependency>
9191
<groupId>com.google.cloud</groupId>
9292
<artifactId>google-cloud-spanner</artifactId>
93-
<version>6.102.0</version>
93+
<version>6.102.1</version>
9494
</dependency>
9595
<dependency>
9696
<groupId>com.google.auto.value</groupId>

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.102.1</version><!-- {x-version-update:google-cloud-spanner:current} -->
6+
<version>6.102.2-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.102.1</version><!-- {x-version-update:google-cloud-spanner:current} -->
56+
<version>6.102.2-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.102.1</version><!-- {x-version-update:google-cloud-spanner:current} -->
62+
<version>6.102.2-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.102.1</version><!-- {x-version-update:grpc-google-cloud-spanner-v1:current} -->
67+
<version>6.102.2-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.102.1</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-instance-v1:current} -->
72+
<version>6.102.2-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.102.1</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-database-v1:current} -->
77+
<version>6.102.2-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.102.1</version><!-- {x-version-update:proto-google-cloud-spanner-admin-instance-v1:current} -->
82+
<version>6.102.2-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.102.1</version><!-- {x-version-update:proto-google-cloud-spanner-v1:current} -->
87+
<version>6.102.2-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.102.1</version><!-- {x-version-update:proto-google-cloud-spanner-admin-database-v1:current} -->
92+
<version>6.102.2-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: 3 additions & 3 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.102.1</version><!-- {x-version-update:google-cloud-spanner-executor:current} -->
8+
<version>6.102.2-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.102.1</version><!-- {x-version-update:google-cloud-spanner:current} -->
15+
<version>6.102.2-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
1616
</parent>
1717

1818
<properties>
@@ -189,7 +189,7 @@
189189
<dependency>
190190
<groupId>commons-io</groupId>
191191
<artifactId>commons-io</artifactId>
192-
<version>2.20.0</version>
192+
<version>2.21.0</version>
193193
</dependency>
194194

195195
<!-- Test dependencies -->

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,4 +1057,9 @@
10571057
<differenceType>8001</differenceType>
10581058
<className>com/google/cloud/spanner/LatencyTest</className>
10591059
</difference>
1060+
<difference>
1061+
<differenceType>7012</differenceType>
1062+
<className>com/google/cloud/spanner/connection/Connection</className>
1063+
<method>java.lang.Object getConnectionPropertyValue(com.google.cloud.spanner.connection.ConnectionProperty)</method>
1064+
</difference>
10601065
</differences>

google-cloud-spanner/pom.xml

Lines changed: 2 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.102.1</version><!-- {x-version-update:google-cloud-spanner:current} -->
6+
<version>6.102.2-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.102.1</version><!-- {x-version-update:google-cloud-spanner:current} -->
14+
<version>6.102.2-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
1515
</parent>
1616
<properties>
1717
<site.installationModule>google-cloud-spanner</site.installationModule>

google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/Connection.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,10 @@ public interface Connection extends AutoCloseable {
189189
*/
190190
void reset();
191191

192+
/** Returns the current value of the given connection property. */
193+
<T> T getConnectionPropertyValue(
194+
com.google.cloud.spanner.connection.ConnectionProperty<T> property);
195+
192196
/**
193197
* Sets autocommit on/off for this {@link Connection}. Connections in autocommit mode will apply
194198
* any changes to the database directly without waiting for an explicit commit. DDL- and DML

google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,8 @@ public boolean isClosed() {
574574
return closed;
575575
}
576576

577-
private <T> T getConnectionPropertyValue(
577+
@Override
578+
public <T> T getConnectionPropertyValue(
578579
com.google.cloud.spanner.connection.ConnectionProperty<T> property) {
579580
return this.connectionState.getValue(property).getValue();
580581
}

google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ConnectionProperties.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,18 @@ public class ConnectionProperties {
766766
DEFAULT_BATCH_DML_UPDATE_COUNT,
767767
LongConverter.INSTANCE,
768768
Context.USER);
769+
public static final ConnectionProperty<Integer> UNKNOWN_LENGTH =
770+
create(
771+
"unknownLength",
772+
"Spanner does not return the length of the selected columns in query results. When"
773+
+ " returning meta-data about these columns through functions like"
774+
+ " ResultSetMetaData.getColumnDisplaySize and ResultSetMetaData.getPrecision, we"
775+
+ " must provide a value. Various client tools and applications have different ideas"
776+
+ " about what they would like to see. This property specifies the length to return"
777+
+ " for types of unknown length.",
778+
/* defaultValue= */ 50,
779+
NonNegativeIntegerConverter.INSTANCE,
780+
Context.USER);
769781

770782
static final ImmutableMap<String, ConnectionProperty<?>> CONNECTION_PROPERTIES =
771783
CONNECTION_PROPERTIES_BUILDER.build();

google-cloud-spanner/src/main/java/com/google/cloud/spanner/connection/ReadWriteTransaction.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,19 @@ public ApiFuture<ResultSet> executeQueryAsync(
689689
InterceptorsUsage.IGNORE_INTERCEPTORS,
690690
ImmutableList.of(SpannerGrpc.getExecuteStreamingSqlMethod()));
691691
} else {
692-
res = super.executeQueryAsync(callType, statement, analyzeMode, options);
692+
// Handle both SELECT queries and DML with THEN RETURN without delegating to the base class,
693+
// which rejects non-SELECT statements.
694+
res =
695+
executeStatementAsync(
696+
callType,
697+
statement,
698+
() -> {
699+
checkTimedOut();
700+
checkAborted();
701+
return DirectExecuteResultSet.ofResultSet(
702+
internalExecuteQuery(statement, analyzeMode, options));
703+
},
704+
SpannerGrpc.getExecuteStreamingSqlMethod());
693705
}
694706
ApiFutures.addCallback(res, new StatementResultCallback<>(), MoreExecutors.directExecutor());
695707
return res;

0 commit comments

Comments
 (0)