in spanner_prober/prober/proberlib.go [517:539]
func createCloudSpannerDatabase(ctx context.Context, databaseClient *database.DatabaseAdminClient, opt ProberOptions) error {
op, err := databaseClient.CreateDatabase(ctx, &dbadminpb.CreateDatabaseRequest{
Parent: opt.instanceURI(),
CreateStatement: fmt.Sprintf("CREATE DATABASE `%v`", opt.databaseName()),
ExtraStatements: []string{
`CREATE TABLE ProbeTarget (
Id INT64 NOT NULL,
Payload BYTES(MAX),
PayloadHash BYTES(MAX),
) PRIMARY KEY (Id)`,
},
})
if err != nil {
if code := status.Code(err); code == codes.AlreadyExists {
return nil
}
return err
}
_, err = op.Wait(ctx)
return err
}