Skip to content

Commit

Permalink
spanner.Statementを受け取るように修正 refs #9
Browse files Browse the repository at this point in the history
  • Loading branch information
sinmetal committed May 23, 2019
1 parent eb62bec commit 125bc81
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
6 changes: 2 additions & 4 deletions spanner/spanner_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,7 @@ type UpdateMutationer interface {
GetMutation(ctx context.Context, row *spanner.Row) (*spanner.Mutation, error)
}

func (s *SpannerEntityService) UpdateExperiment(ctx context.Context, table string, columns []string, sql string, mutationer UpdateMutationer) (int, error) {
q := spanner.NewStatement(sql)

func (s *SpannerEntityService) UpdateExperiment(ctx context.Context, table string, columns []string, statement spanner.Statement, mutationer UpdateMutationer) (int, error) {
const bufferCount = 1000
rows := make([]*spanner.Row, 0, bufferCount)

Expand All @@ -75,7 +73,7 @@ func (s *SpannerEntityService) UpdateExperiment(ctx context.Context, table strin
}
defer tx.Close()

iter := tx.Query(ctx, q)
iter := tx.Query(ctx, statement)
defer iter.Stop()
for {
row, err := iter.Next()
Expand Down
5 changes: 4 additions & 1 deletion spanner/spanner_service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,10 @@ func TestSpannerEntityService_UpdateExperiment(t *testing.T) {
ctx := context.Background()
client := shovels.NewClient(ctx, "projects/gcpug-public-spanner/instances/merpay-sponsored-instance/databases/sinmetal")
s := shovels.NewSpannerEntityService(client)
count, err := s.UpdateExperiment(ctx, TableName, []string{PrimaryKeyName}, `SELECT Id From TweetHashKey WHERE Author != "sinmetal"`, &SampleMutationer{})

q := spanner.NewStatement(`SELECT Id From TweetHashKey WHERE Author != @Author`)
q.Params["Author"] = "sinmetal"
count, err := s.UpdateExperiment(ctx, TableName, []string{PrimaryKeyName}, q, &SampleMutationer{})
if err != nil {
t.Fatal(err)
}
Expand Down

0 comments on commit 125bc81

Please sign in to comment.