From acf4f9b4195c63c36655d1dfe697638d279f4006 Mon Sep 17 00:00:00 2001 From: David Symonds Date: Wed, 31 Jul 2019 08:52:09 +1000 Subject: [PATCH] spanner: check database name and add a trace span even when using the emulator These are sensible to use even for use with an emulator. Updates #1181. Change-Id: I5664f98ca2a700abe976cbbd587e8f2ee291d01b Reviewed-on: https://code-review.googlesource.com/c/gocloud/+/43232 Reviewed-by: kokoro Reviewed-by: Jean de Klerk --- spanner/client.go | 14 +++++++------- spanner/client_test.go | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/spanner/client.go b/spanner/client.go index 21e504561d2d..c3e7acb705c4 100644 --- a/spanner/client.go +++ b/spanner/client.go @@ -149,15 +149,15 @@ func NewClientWithConfig(ctx context.Context, database string, config ClientConf config.MaxBurst = 10 } - if emulatorAddr := os.Getenv("SPANNER_EMULATOR_HOST"); emulatorAddr == "" { - // Validate database path. - if err := validDatabaseName(database); err != nil { - return nil, err - } + // Validate database path. + if err := validDatabaseName(database); err != nil { + return nil, err + } - ctx = trace.StartSpan(ctx, "cloud.google.com/go/spanner.NewClient") - defer func() { trace.EndSpan(ctx, err) }() + ctx = trace.StartSpan(ctx, "cloud.google.com/go/spanner.NewClient") + defer func() { trace.EndSpan(ctx, err) }() + if emulatorAddr := os.Getenv("SPANNER_EMULATOR_HOST"); emulatorAddr == "" { // gRPC options. allOpts := []option.ClientOption{ option.WithEndpoint(endpoint), diff --git a/spanner/client_test.go b/spanner/client_test.go index 49b54852add5..57a77b740a12 100644 --- a/spanner/client_test.go +++ b/spanner/client_test.go @@ -424,7 +424,7 @@ func TestNewClient_ConnectToEmulator(t *testing.T) { os.Setenv("SPANNER_EMULATOR_HOST", s.Addr()) defer os.Setenv("SPANNER_EMULATOR_HOST", oldEnv) - c, err := NewClient(ctx, "some-db") + c, err := NewClient(ctx, "projects/some-proj/instances/some-inst/databases/some-db") if err != nil { t.Fatal(err) }