assertThat(rs.getString(0)).isEqualTo("y"); assertThat(rs.getLong(1)).isEqualTo(3L); assertThat(rs.isNull(2)).isTrue(); assertThat(rs.next()).isFalse();
static void queryMarketingBudgetWithTimestamp(DatabaseClient dbClient) { // Rows without an explicit value for MarketingBudget will have a MarketingBudget equal to // null. ResultSet resultSet = dbClient .singleUse() .executeQuery( Statement.of( "SELECT SingerId, AlbumId, MarketingBudget, LastUpdateTime FROM Albums" + " ORDER BY LastUpdateTime DESC")); while (resultSet.next()) { System.out.printf( "%d %d %s %s\n", resultSet.getLong("SingerId"), resultSet.getLong("AlbumId"), // We check that the value is non null. ResultSet getters can only be used to retrieve // non null values. resultSet.isNull("MarketingBudget") ? "NULL" : resultSet.getLong("MarketingBudget"), resultSet.isNull("LastUpdateTime") ? "NULL" : resultSet.getTimestamp("LastUpdateTime")); } } // [END spanner_query_data_with_timestamp_column]
static void readStaleData(DatabaseClient dbClient) { ResultSet resultSet = dbClient .singleUse(TimestampBound.ofExactStaleness(15, TimeUnit.SECONDS)) .read("Albums", KeySet.all(), Arrays.asList("SingerId", "AlbumId", "MarketingBudget")); while (resultSet.next()) { System.out.printf( "%d %d %s\n", resultSet.getLong(0), resultSet.getLong(1), resultSet.isNull(2) ? "NULL" : resultSet.getLong("MarketingBudget")); } } // [END spanner_read_stale_data]
static void readStoringIndex(DatabaseClient dbClient) { // We can read MarketingBudget also from the index since it stores a copy of MarketingBudget. ResultSet resultSet = dbClient .singleUse() .readUsingIndex( "Albums", "AlbumsByAlbumTitle2", KeySet.all(), Arrays.asList("AlbumId", "AlbumTitle", "MarketingBudget")); while (resultSet.next()) { System.out.printf( "%d %s %s\n", resultSet.getLong(0), resultSet.getString(1), resultSet.isNull("MarketingBudget") ? "NULL" : resultSet.getLong("MarketingBudget")); } } // [END spanner_read_data_with_storing_index]
static void queryMarketingBudget(DatabaseClient dbClient) { // Rows without an explicit value for MarketingBudget will have a MarketingBudget equal to // null. ResultSet resultSet = dbClient .singleUse() .executeQuery(Statement.of("SELECT SingerId, AlbumId, MarketingBudget FROM Albums")); while (resultSet.next()) { System.out.printf( "%d %d %s\n", resultSet.getLong("SingerId"), resultSet.getLong("AlbumId"), // We check that the value is non null. ResultSet getters can only be used to retrieve // non null values. resultSet.isNull("MarketingBudget") ? "NULL" : resultSet.getLong("MarketingBudget")); } } // [END spanner_query_data_with_new_column]
static void queryPerformancesTable(DatabaseClient dbClient) { // Rows without an explicit value for Revenue will have a Revenue equal to // null. ResultSet resultSet = dbClient .singleUse() .executeQuery( Statement.of( "SELECT SingerId, VenueId, EventDate, Revenue, LastUpdateTime " + "FROM Performances ORDER BY LastUpdateTime DESC")); while (resultSet.next()) { System.out.printf( "%d %d %s %s %s\n", resultSet.getLong("SingerId"), resultSet.getLong("VenueId"), resultSet.getDate("EventDate"), // We check that the value is non null. ResultSet getters can only be used to retrieve // non null values. resultSet.isNull("Revenue") ? "NULL" : resultSet.getLong("Revenue"), resultSet.getTimestamp("LastUpdateTime")); } }
static void queryUsingIndex(DatabaseClient dbClient) { Statement statement = Statement // We use FORCE_INDEX hint to specify which index to use. For more details see // https://cloud.google.com/spanner/docs/query-syntax#from-clause .newBuilder( "SELECT AlbumId, AlbumTitle, MarketingBudget\n" + "FROM Albums@{FORCE_INDEX=AlbumsByAlbumTitle}\n" + "WHERE AlbumTitle >= @StartTitle AND AlbumTitle < @EndTitle") // We use @BoundParameters to help speed up frequently executed queries. // For more details see https://cloud.google.com/spanner/docs/sql-best-practices .bind("StartTitle") .to("Aardvark") .bind("EndTitle") .to("Goo") .build(); ResultSet resultSet = dbClient.singleUse().executeQuery(statement); while (resultSet.next()) { System.out.printf( "%d %s %s\n", resultSet.getLong("AlbumId"), resultSet.getString("AlbumTitle"), resultSet.isNull("MarketingBudget") ? "NULL" : resultSet.getLong("MarketingBudget")); } } // [END spanner_query_data_with_index]
String tableName = resultSet.getString(0); String indexName = resultSet.getString(1); String parent = resultSet.isNull(2) ? null : resultSet.getString(2);
String tableName = resultSet.getString(0); String columnName = resultSet.getString(1); String ordering = resultSet.isNull(2) ? null : resultSet.getString(2); String indexName = resultSet.getString(3);