Documentation
¶
Overview ¶
Example (AdminClient) ¶
package main
import (
"context"
"log"
admindatabasev1 "cloud.google.com/go/spanner/admin/database/apiv1"
databasepb "cloud.google.com/go/spanner/admin/database/apiv1/databasepb"
"github.com/gcpug/handy-spanner/fake"
"google.golang.org/api/option"
)
func main() {
ctx := context.Background()
dbName := "projects/fake/instances/fake/databases/fake"
stmts := []string{
`CREATE TABLE Table1 ( Id STRING(MAX) NOT NULL ) PRIMARY KEY (Id)`,
`CREATE TABLE Table2 ( Id TIMESTAMP NOT NULL ) PRIMARY KEY (Id)`,
}
// Run fake server
srv, conn, err := fake.Run()
if err != nil {
log.Fatal(err)
}
defer srv.Stop()
// Prepare spanner client
adminclient, err := admindatabasev1.NewDatabaseAdminClient(ctx, option.WithGRPCConn(conn))
if err != nil {
log.Fatalf("failed to connect fake spanner server: %v", err)
}
// Use the client
_, err = adminclient.UpdateDatabaseDdl(ctx, &databasepb.UpdateDatabaseDdlRequest{
Database: dbName,
Statements: stmts,
})
if err != nil {
log.Fatal(err)
}
}
Output:
Example (ApplyDDL) ¶
package main
import (
"context"
"log"
"strings"
"github.com/gcpug/handy-spanner/fake"
)
func main() {
ctx := context.Background()
dbName := "projects/fake/instances/fake/databases/fake"
schema := `
CREATE TABLE Table1 ( Id STRING(MAX) NOT NULL ) PRIMARY KEY (Id);
CREATE TABLE Table2 ( Id TIMESTAMP NOT NULL ) PRIMARY KEY (Id);
`
// Run fake server
srv, _, err := fake.Run()
if err != nil {
log.Fatal(err)
}
defer srv.Stop()
err = srv.ParseAndApplyDDL(ctx, dbName, strings.NewReader(schema))
if err != nil {
log.Fatal(err)
}
}
Output:
Example (SpannerClient) ¶
package main
import (
"context"
"log"
"cloud.google.com/go/spanner"
"github.com/gcpug/handy-spanner/fake"
"google.golang.org/api/option"
)
func main() {
ctx := context.Background()
dbName := "projects/fake/instances/fake/databases/fake"
// Run fake server
srv, conn, err := fake.Run()
if err != nil {
log.Fatal(err)
}
defer srv.Stop()
defer conn.Close()
// Prepare spanner client
client, err := spanner.NewClient(ctx, dbName, option.WithGRPCConn(conn))
if err != nil {
log.Fatalf("failed to connect fake spanner server: %v", err)
}
// Use the client
_, _ = client.Apply(ctx, []*spanner.Mutation{
spanner.Insert("Test",
[]string{"ColA", "ColB"},
[]interface{}{"foo", 100},
),
})
}
Output:
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
Click to show internal directories.
Click to hide internal directories.