Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1584,19 +1584,11 @@ static void queryWithQueryOptions(DatabaseClient dbClient) {
// [END spanner_query_with_query_options]

// [START spanner_create_backup]
static void createBackup(
DatabaseClient databaseClient, DatabaseAdminClient dbAdminClient, DatabaseId databaseId,
BackupId backupId) {
static void createBackup(DatabaseAdminClient dbAdminClient, DatabaseId databaseId,
BackupId backupId, Timestamp versionTime) {
// Set expire time to 14 days from now.
Timestamp expireTime = Timestamp.ofTimeMicroseconds(TimeUnit.MICROSECONDS.convert(
System.currentTimeMillis() + TimeUnit.DAYS.toMillis(14), TimeUnit.MILLISECONDS));
// Sets the version time to the current time.
Timestamp versionTime;
try (ResultSet resultSet = databaseClient.singleUse()
.executeQuery(Statement.of("SELECT CURRENT_TIMESTAMP()"))) {
resultSet.next();
versionTime = resultSet.getTimestamp(0);
}
Backup backup =
dbAdminClient
.newBackupBuilder(backupId)
Expand Down Expand Up @@ -1900,7 +1892,8 @@ static void run(
InstanceAdminClient instanceAdminClient,
String command,
DatabaseId database,
BackupId backup) {
BackupId backup,
Timestamp versionTime) {
switch (command) {
case "createdatabase":
createDatabase(dbAdminClient, database);
Expand Down Expand Up @@ -2062,7 +2055,7 @@ static void run(
queryWithQueryOptions(dbClient);
break;
case "createbackup":
createBackup(dbClient, dbAdminClient, database, backup);
createBackup(dbAdminClient, database, backup, versionTime);
break;
case "cancelcreatebackup":
cancelCreateBackup(
Expand Down Expand Up @@ -2195,7 +2188,16 @@ public static void main(String[] args) throws Exception {
InstanceAdminClient instanceAdminClient = spanner.getInstanceAdminClient();
// Use client here...
// [END init_client]
run(dbClient, dbAdminClient, instanceAdminClient, command, db, backup);

// Generates a version time for the backup
Timestamp versionTime;
try (ResultSet resultSet = dbClient.singleUse()
.executeQuery(Statement.of("SELECT CURRENT_TIMESTAMP()"))) {
resultSet.next();
versionTime = resultSet.getTimestamp(0);
}

run(dbClient, dbAdminClient, instanceAdminClient, command, db, backup, versionTime);
// [START init_client]
} finally {
spanner.close();
Expand Down