Skip to content

Commit 42766d3

Browse files
authored
Updated SpannerSample to highlight bound parameters. (GoogleCloudPlatform#910)
1 parent 30b58e8 commit 42766d3

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

spanner/cloud-client/src/main/java/com/example/spanner/SpannerSample.java

+13-10
Original file line numberDiff line numberDiff line change
@@ -306,16 +306,19 @@ static void addIndex(DatabaseAdminClient adminClient, DatabaseId dbId) {
306306
// "CREATE INDEX AlbumsByAlbumTitle ON Albums(AlbumTitle)".
307307
// [START query_index]
308308
static void queryUsingIndex(DatabaseClient dbClient) {
309-
ResultSet resultSet =
310-
dbClient
311-
.singleUse()
312-
.executeQuery(
313-
// We use FORCE_INDEX hint to specify which index to use. For more details see
314-
// https://cloud.google.com/spanner/docs/query-syntax#from-clause
315-
Statement.of(
316-
"SELECT AlbumId, AlbumTitle, MarketingBudget\n"
317-
+ "FROM Albums@{FORCE_INDEX=AlbumsByAlbumTitle}\n"
318-
+ "WHERE AlbumTitle >= 'Aardvark' AND AlbumTitle < 'Goo'"));
309+
Statement statement = Statement
310+
// We use FORCE_INDEX hint to specify which index to use. For more details see
311+
// https://cloud.google.com/spanner/docs/query-syntax#from-clause
312+
.newBuilder("SELECT AlbumId, AlbumTitle, MarketingBudget\n"
313+
+ "FROM Albums@{FORCE_INDEX=AlbumsByAlbumTitle}\n"
314+
+ "WHERE AlbumTitle >= @StartTitle AND AlbumTitle < @EndTitle")
315+
// We use @BoundParameters to help speed up frequently executed queries.
316+
// For more details see https://cloud.google.com/spanner/docs/sql-best-practices
317+
.bind("StartTitle").to("Aardvark")
318+
.bind("EndTitle").to("Goo")
319+
.build();
320+
321+
ResultSet resultSet = dbClient.singleUse().executeQuery(statement);
319322
while (resultSet.next()) {
320323
System.out.printf(
321324
"%d %s %s\n",

0 commit comments

Comments
 (0)