google-cloud-spanner 1.6.3 → 1.6.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/LOGGING.md +1 -1
  4. data/OVERVIEW.md +1 -1
  5. data/lib/google/cloud/spanner/admin/database/v1/database_admin_client.rb +29 -29
  6. data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/iam_policy.rb +13 -13
  7. data/lib/google/cloud/spanner/admin/database/v1/doc/google/iam/v1/policy.rb +28 -28
  8. data/lib/google/cloud/spanner/admin/database/v1/doc/google/longrunning/operations.rb +9 -9
  9. data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/any.rb +8 -8
  10. data/lib/google/cloud/spanner/admin/database/v1/doc/google/protobuf/empty.rb +1 -1
  11. data/lib/google/cloud/spanner/admin/database/v1/doc/google/rpc/status.rb +11 -11
  12. data/lib/google/cloud/spanner/admin/database/v1/doc/google/spanner/admin/database/v1/spanner_database_admin.rb +21 -21
  13. data/lib/google/cloud/spanner/admin/database/v1.rb +4 -4
  14. data/lib/google/cloud/spanner/admin/database.rb +4 -4
  15. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/iam_policy.rb +13 -13
  16. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/iam/v1/policy.rb +28 -28
  17. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/longrunning/operations.rb +9 -9
  18. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/any.rb +8 -8
  19. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/empty.rb +1 -1
  20. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/protobuf/field_mask.rb +7 -7
  21. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/rpc/status.rb +11 -11
  22. data/lib/google/cloud/spanner/admin/instance/v1/doc/google/spanner/admin/instance/v1/spanner_instance_admin.rb +30 -30
  23. data/lib/google/cloud/spanner/admin/instance/v1/instance_admin_client.rb +44 -44
  24. data/lib/google/cloud/spanner/admin/instance/v1.rb +4 -4
  25. data/lib/google/cloud/spanner/admin/instance.rb +4 -4
  26. data/lib/google/cloud/spanner/v1/doc/google/protobuf/duration.rb +3 -3
  27. data/lib/google/cloud/spanner/v1/doc/google/protobuf/empty.rb +1 -1
  28. data/lib/google/cloud/spanner/v1/doc/google/protobuf/struct.rb +11 -11
  29. data/lib/google/cloud/spanner/v1/doc/google/protobuf/timestamp.rb +7 -7
  30. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/keys.rb +19 -19
  31. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/mutation.rb +6 -6
  32. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/query_plan.rb +11 -11
  33. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/result_set.rb +33 -19
  34. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb +65 -39
  35. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/transaction.rb +91 -21
  36. data/lib/google/cloud/spanner/v1/doc/google/spanner/v1/type.rb +25 -25
  37. data/lib/google/cloud/spanner/v1/spanner_client.rb +139 -79
  38. data/lib/google/cloud/spanner/version.rb +1 -1
  39. data/lib/google/spanner/admin/database/v1/spanner_database_admin_services_pb.rb +1 -1
  40. data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb +1 -1
  41. data/lib/google/spanner/v1/result_set_pb.rb +4 -0
  42. data/lib/google/spanner/v1/spanner_pb.rb +1 -0
  43. data/lib/google/spanner/v1/spanner_services_pb.rb +14 -6
  44. data/lib/google/spanner/v1/transaction_pb.rb +4 -0
  45. data/lib/google-cloud-spanner.rb +1 -1
  46. metadata +3 -3
@@ -298,10 +298,10 @@ module Google
298
298
  # time; thus, it is a good idea to delete idle and/or unneeded sessions.
299
299
  # Aside from explicit deletes, Cloud Spanner can delete sessions for which no
300
300
  # operations are sent for more than an hour. If a session is deleted,
301
- # requests to it return +NOT_FOUND+.
301
+ # requests to it return `NOT_FOUND`.
302
302
  #
303
303
  # Idle sessions can be kept alive by sending a trivial SQL query
304
- # periodically, e.g., +"SELECT 1"+.
304
+ # periodically, e.g., `"SELECT 1"`.
305
305
  #
306
306
  # @param database [String]
307
307
  # Required. The database in which the new session is created.
@@ -337,7 +337,7 @@ module Google
337
337
  @create_session.call(req, options, &block)
338
338
  end
339
339
 
340
- # Gets a session. Returns +NOT_FOUND+ if the session does not exist.
340
+ # Gets a session. Returns `NOT_FOUND` if the session does not exist.
341
341
  # This is mainly useful for determining whether a session is still
342
342
  # alive.
343
343
  #
@@ -383,12 +383,12 @@ module Google
383
383
  # An expression for filtering the results of the request. Filter rules are
384
384
  # case insensitive. The fields eligible for filtering are:
385
385
  #
386
- # * +labels.key+ where key is the name of a label
386
+ # * `labels.key` where key is the name of a label
387
387
  #
388
388
  # Some examples of using filters are:
389
389
  #
390
- # * +labels.env:*+ --> The session has the label "env".
391
- # * +labels.env:dev+ --> The session has the label "env" and the value of
390
+ # * `labels.env:*` --> The session has the label "env".
391
+ # * `labels.env:dev` --> The session has the label "env" and the value of
392
392
  # the label contains the string "dev".
393
393
  # @param options [Google::Gax::CallOptions]
394
394
  # Overrides the default settings for this call, e.g, timeout,
@@ -466,12 +466,12 @@ module Google
466
466
  nil
467
467
  end
468
468
 
469
- # Executes an SQL query, returning all rows in a single reply. This
469
+ # Executes an SQL statement, returning all results in a single reply. This
470
470
  # method cannot be used to return a result set larger than 10 MiB;
471
471
  # if the query yields more data than that, the query fails with
472
- # a +FAILED_PRECONDITION+ error.
472
+ # a `FAILED_PRECONDITION` error.
473
473
  #
474
- # Queries inside read-write transactions might return +ABORTED+. If
474
+ # Operations inside read-write transactions might return `ABORTED`. If
475
475
  # this occurs, the application should restart the transaction from
476
476
  # the beginning. See {Google::Spanner::V1::Transaction Transaction} for more details.
477
477
  #
@@ -481,45 +481,56 @@ module Google
481
481
  # @param session [String]
482
482
  # Required. The session in which the SQL query should be performed.
483
483
  # @param sql [String]
484
- # Required. The SQL query string.
484
+ # Required. The SQL string.
485
485
  # @param transaction [Google::Spanner::V1::TransactionSelector | Hash]
486
486
  # The transaction to use. If none is provided, the default is a
487
487
  # temporary read-only transaction with strong concurrency.
488
+ #
489
+ # The transaction to use.
490
+ #
491
+ # For queries, if none is provided, the default is a temporary read-only
492
+ # transaction with strong concurrency.
493
+ #
494
+ # Standard DML statements require a ReadWrite transaction. Single-use
495
+ # transactions are not supported (to avoid replay). The caller must
496
+ # either supply an existing transaction ID or begin a new transaction.
497
+ #
498
+ # Partitioned DML requires an existing PartitionedDml transaction ID.
488
499
  # A hash of the same form as `Google::Spanner::V1::TransactionSelector`
489
500
  # can also be provided.
490
501
  # @param params [Google::Protobuf::Struct | Hash]
491
- # The SQL query string can contain parameter placeholders. A parameter
492
- # placeholder consists of +'@'+ followed by the parameter
502
+ # The SQL string can contain parameter placeholders. A parameter
503
+ # placeholder consists of `'@'` followed by the parameter
493
504
  # name. Parameter names consist of any combination of letters,
494
505
  # numbers, and underscores.
495
506
  #
496
507
  # Parameters can appear anywhere that a literal value is expected. The same
497
508
  # parameter name can be used more than once, for example:
498
- # +"WHERE id > @msg_id AND id < @msg_id + 100"+
509
+ # `"WHERE id > @msg_id AND id < @msg_id + 100"`
499
510
  #
500
- # It is an error to execute an SQL query with unbound parameters.
511
+ # It is an error to execute an SQL statement with unbound parameters.
501
512
  #
502
- # Parameter values are specified using +params+, which is a JSON
513
+ # Parameter values are specified using `params`, which is a JSON
503
514
  # object whose keys are parameter names, and whose values are the
504
515
  # corresponding parameter values.
505
516
  # A hash of the same form as `Google::Protobuf::Struct`
506
517
  # can also be provided.
507
518
  # @param param_types [Hash{String => Google::Spanner::V1::Type | Hash}]
508
519
  # It is not always possible for Cloud Spanner to infer the right SQL type
509
- # from a JSON value. For example, values of type +BYTES+ and values
510
- # of type +STRING+ both appear in {Google::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
520
+ # from a JSON value. For example, values of type `BYTES` and values
521
+ # of type `STRING` both appear in {Google::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
511
522
  #
512
- # In these cases, +param_types+ can be used to specify the exact
513
- # SQL type for some or all of the SQL query parameters. See the
523
+ # In these cases, `param_types` can be used to specify the exact
524
+ # SQL type for some or all of the SQL statement parameters. See the
514
525
  # definition of {Google::Spanner::V1::Type Type} for more information
515
526
  # about SQL types.
516
527
  # A hash of the same form as `Google::Spanner::V1::Type`
517
528
  # can also be provided.
518
529
  # @param resume_token [String]
519
- # If this request is resuming a previously interrupted SQL query
520
- # execution, +resume_token+ should be copied from the last
530
+ # If this request is resuming a previously interrupted SQL statement
531
+ # execution, `resume_token` should be copied from the last
521
532
  # {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the interruption. Doing this
522
- # enables the new SQL query execution to resume where the last one left
533
+ # enables the new SQL statement execution to resume where the last one left
523
534
  # off. The rest of the request parameters must exactly match the
524
535
  # request that yielded this token.
525
536
  # @param query_mode [Google::Spanner::V1::ExecuteSqlRequest::QueryMode]
@@ -531,6 +542,17 @@ module Google
531
542
  # previously created using PartitionQuery(). There must be an exact
532
543
  # match for the values of fields common to this message and the
533
544
  # PartitionQueryRequest message used to create this partition_token.
545
+ # @param seqno [Integer]
546
+ # A per-transaction sequence number used to identify this request. This
547
+ # makes each request idempotent such that if the request is received multiple
548
+ # times, at most one will succeed.
549
+ #
550
+ # The sequence number must be monotonically increasing within the
551
+ # transaction. If a request arrives for the first time with an out-of-order
552
+ # sequence number, the transaction may be aborted. Replays of previously
553
+ # handled requests will yield the same response as the first execution.
554
+ #
555
+ # Required for DML statements. Ignored for queries.
534
556
  # @param options [Google::Gax::CallOptions]
535
557
  # Overrides the default settings for this call, e.g, timeout,
536
558
  # retries, etc.
@@ -545,7 +567,7 @@ module Google
545
567
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
546
568
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
547
569
  #
548
- # # TODO: Initialize +sql+:
570
+ # # TODO: Initialize `sql`:
549
571
  # sql = ''
550
572
  # response = spanner_client.execute_sql(formatted_session, sql)
551
573
 
@@ -558,6 +580,7 @@ module Google
558
580
  resume_token: nil,
559
581
  query_mode: nil,
560
582
  partition_token: nil,
583
+ seqno: nil,
561
584
  options: nil,
562
585
  &block
563
586
  req = {
@@ -568,7 +591,8 @@ module Google
568
591
  param_types: param_types,
569
592
  resume_token: resume_token,
570
593
  query_mode: query_mode,
571
- partition_token: partition_token
594
+ partition_token: partition_token,
595
+ seqno: seqno
572
596
  }.delete_if { |_, v| v.nil? }
573
597
  req = Google::Gax::to_proto(req, Google::Spanner::V1::ExecuteSqlRequest)
574
598
  @execute_sql.call(req, options, &block)
@@ -583,45 +607,56 @@ module Google
583
607
  # @param session [String]
584
608
  # Required. The session in which the SQL query should be performed.
585
609
  # @param sql [String]
586
- # Required. The SQL query string.
610
+ # Required. The SQL string.
587
611
  # @param transaction [Google::Spanner::V1::TransactionSelector | Hash]
588
612
  # The transaction to use. If none is provided, the default is a
589
613
  # temporary read-only transaction with strong concurrency.
614
+ #
615
+ # The transaction to use.
616
+ #
617
+ # For queries, if none is provided, the default is a temporary read-only
618
+ # transaction with strong concurrency.
619
+ #
620
+ # Standard DML statements require a ReadWrite transaction. Single-use
621
+ # transactions are not supported (to avoid replay). The caller must
622
+ # either supply an existing transaction ID or begin a new transaction.
623
+ #
624
+ # Partitioned DML requires an existing PartitionedDml transaction ID.
590
625
  # A hash of the same form as `Google::Spanner::V1::TransactionSelector`
591
626
  # can also be provided.
592
627
  # @param params [Google::Protobuf::Struct | Hash]
593
- # The SQL query string can contain parameter placeholders. A parameter
594
- # placeholder consists of +'@'+ followed by the parameter
628
+ # The SQL string can contain parameter placeholders. A parameter
629
+ # placeholder consists of `'@'` followed by the parameter
595
630
  # name. Parameter names consist of any combination of letters,
596
631
  # numbers, and underscores.
597
632
  #
598
633
  # Parameters can appear anywhere that a literal value is expected. The same
599
634
  # parameter name can be used more than once, for example:
600
- # +"WHERE id > @msg_id AND id < @msg_id + 100"+
635
+ # `"WHERE id > @msg_id AND id < @msg_id + 100"`
601
636
  #
602
- # It is an error to execute an SQL query with unbound parameters.
637
+ # It is an error to execute an SQL statement with unbound parameters.
603
638
  #
604
- # Parameter values are specified using +params+, which is a JSON
639
+ # Parameter values are specified using `params`, which is a JSON
605
640
  # object whose keys are parameter names, and whose values are the
606
641
  # corresponding parameter values.
607
642
  # A hash of the same form as `Google::Protobuf::Struct`
608
643
  # can also be provided.
609
644
  # @param param_types [Hash{String => Google::Spanner::V1::Type | Hash}]
610
645
  # It is not always possible for Cloud Spanner to infer the right SQL type
611
- # from a JSON value. For example, values of type +BYTES+ and values
612
- # of type +STRING+ both appear in {Google::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
646
+ # from a JSON value. For example, values of type `BYTES` and values
647
+ # of type `STRING` both appear in {Google::Spanner::V1::ExecuteSqlRequest#params params} as JSON strings.
613
648
  #
614
- # In these cases, +param_types+ can be used to specify the exact
615
- # SQL type for some or all of the SQL query parameters. See the
649
+ # In these cases, `param_types` can be used to specify the exact
650
+ # SQL type for some or all of the SQL statement parameters. See the
616
651
  # definition of {Google::Spanner::V1::Type Type} for more information
617
652
  # about SQL types.
618
653
  # A hash of the same form as `Google::Spanner::V1::Type`
619
654
  # can also be provided.
620
655
  # @param resume_token [String]
621
- # If this request is resuming a previously interrupted SQL query
622
- # execution, +resume_token+ should be copied from the last
656
+ # If this request is resuming a previously interrupted SQL statement
657
+ # execution, `resume_token` should be copied from the last
623
658
  # {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the interruption. Doing this
624
- # enables the new SQL query execution to resume where the last one left
659
+ # enables the new SQL statement execution to resume where the last one left
625
660
  # off. The rest of the request parameters must exactly match the
626
661
  # request that yielded this token.
627
662
  # @param query_mode [Google::Spanner::V1::ExecuteSqlRequest::QueryMode]
@@ -633,6 +668,17 @@ module Google
633
668
  # previously created using PartitionQuery(). There must be an exact
634
669
  # match for the values of fields common to this message and the
635
670
  # PartitionQueryRequest message used to create this partition_token.
671
+ # @param seqno [Integer]
672
+ # A per-transaction sequence number used to identify this request. This
673
+ # makes each request idempotent such that if the request is received multiple
674
+ # times, at most one will succeed.
675
+ #
676
+ # The sequence number must be monotonically increasing within the
677
+ # transaction. If a request arrives for the first time with an out-of-order
678
+ # sequence number, the transaction may be aborted. Replays of previously
679
+ # handled requests will yield the same response as the first execution.
680
+ #
681
+ # Required for DML statements. Ignored for queries.
636
682
  # @param options [Google::Gax::CallOptions]
637
683
  # Overrides the default settings for this call, e.g, timeout,
638
684
  # retries, etc.
@@ -646,7 +692,7 @@ module Google
646
692
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
647
693
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
648
694
  #
649
- # # TODO: Initialize +sql+:
695
+ # # TODO: Initialize `sql`:
650
696
  # sql = ''
651
697
  # spanner_client.execute_streaming_sql(formatted_session, sql).each do |element|
652
698
  # # Process element.
@@ -661,6 +707,7 @@ module Google
661
707
  resume_token: nil,
662
708
  query_mode: nil,
663
709
  partition_token: nil,
710
+ seqno: nil,
664
711
  options: nil
665
712
  req = {
666
713
  session: session,
@@ -670,7 +717,8 @@ module Google
670
717
  param_types: param_types,
671
718
  resume_token: resume_token,
672
719
  query_mode: query_mode,
673
- partition_token: partition_token
720
+ partition_token: partition_token,
721
+ seqno: seqno
674
722
  }.delete_if { |_, v| v.nil? }
675
723
  req = Google::Gax::to_proto(req, Google::Spanner::V1::ExecuteSqlRequest)
676
724
  @execute_streaming_sql.call(req, options)
@@ -680,10 +728,10 @@ module Google
680
728
  # simple key/value style alternative to
681
729
  # {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql}. This method cannot be used to
682
730
  # return a result set larger than 10 MiB; if the read matches more
683
- # data than that, the read fails with a +FAILED_PRECONDITION+
731
+ # data than that, the read fails with a `FAILED_PRECONDITION`
684
732
  # error.
685
733
  #
686
- # Reads inside read-write transactions might return +ABORTED+. If
734
+ # Reads inside read-write transactions might return `ABORTED`. If
687
735
  # this occurs, the application should restart the transaction from
688
736
  # the beginning. See {Google::Spanner::V1::Transaction Transaction} for more details.
689
737
  #
@@ -698,7 +746,7 @@ module Google
698
746
  # The columns of {Google::Spanner::V1::ReadRequest#table table} to be returned for each row matching
699
747
  # this request.
700
748
  # @param key_set [Google::Spanner::V1::KeySet | Hash]
701
- # Required. +key_set+ identifies the rows to be yielded. +key_set+ names the
749
+ # Required. `key_set` identifies the rows to be yielded. `key_set` names the
702
750
  # primary keys of the rows in {Google::Spanner::V1::ReadRequest#table table} to be yielded, unless {Google::Spanner::V1::ReadRequest#index index}
703
751
  # is present. If {Google::Spanner::V1::ReadRequest#index index} is present, then {Google::Spanner::V1::ReadRequest#key_set key_set} instead names
704
752
  # index keys in {Google::Spanner::V1::ReadRequest#index index}.
@@ -708,7 +756,7 @@ module Google
708
756
  # (if {Google::Spanner::V1::ReadRequest#index index} is non-empty). If the {Google::Spanner::V1::ReadRequest#partition_token partition_token} field is not
709
757
  # empty, rows will be yielded in an unspecified order.
710
758
  #
711
- # It is not an error for the +key_set+ to name rows that do not
759
+ # It is not an error for the `key_set` to name rows that do not
712
760
  # exist in the database. Read yields nothing for nonexistent rows.
713
761
  # A hash of the same form as `Google::Spanner::V1::KeySet`
714
762
  # can also be provided.
@@ -722,12 +770,12 @@ module Google
722
770
  # used instead of the table primary key when interpreting {Google::Spanner::V1::ReadRequest#key_set key_set}
723
771
  # and sorting result rows. See {Google::Spanner::V1::ReadRequest#key_set key_set} for further information.
724
772
  # @param limit [Integer]
725
- # If greater than zero, only the first +limit+ rows are yielded. If +limit+
773
+ # If greater than zero, only the first `limit` rows are yielded. If `limit`
726
774
  # is zero, the default is no limit. A limit cannot be specified if
727
- # +partition_token+ is set.
775
+ # `partition_token` is set.
728
776
  # @param resume_token [String]
729
777
  # If this request is resuming a previously interrupted read,
730
- # +resume_token+ should be copied from the last
778
+ # `resume_token` should be copied from the last
731
779
  # {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the interruption. Doing this
732
780
  # enables the new read to resume where the last read left off. The
733
781
  # rest of the request parameters must exactly match the request
@@ -751,13 +799,13 @@ module Google
751
799
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
752
800
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
753
801
  #
754
- # # TODO: Initialize +table+:
802
+ # # TODO: Initialize `table`:
755
803
  # table = ''
756
804
  #
757
- # # TODO: Initialize +columns+:
805
+ # # TODO: Initialize `columns`:
758
806
  # columns = []
759
807
  #
760
- # # TODO: Initialize +key_set+:
808
+ # # TODO: Initialize `key_set`:
761
809
  # key_set = {}
762
810
  # response = spanner_client.read(formatted_session, table, columns, key_set)
763
811
 
@@ -802,7 +850,7 @@ module Google
802
850
  # The columns of {Google::Spanner::V1::ReadRequest#table table} to be returned for each row matching
803
851
  # this request.
804
852
  # @param key_set [Google::Spanner::V1::KeySet | Hash]
805
- # Required. +key_set+ identifies the rows to be yielded. +key_set+ names the
853
+ # Required. `key_set` identifies the rows to be yielded. `key_set` names the
806
854
  # primary keys of the rows in {Google::Spanner::V1::ReadRequest#table table} to be yielded, unless {Google::Spanner::V1::ReadRequest#index index}
807
855
  # is present. If {Google::Spanner::V1::ReadRequest#index index} is present, then {Google::Spanner::V1::ReadRequest#key_set key_set} instead names
808
856
  # index keys in {Google::Spanner::V1::ReadRequest#index index}.
@@ -812,7 +860,7 @@ module Google
812
860
  # (if {Google::Spanner::V1::ReadRequest#index index} is non-empty). If the {Google::Spanner::V1::ReadRequest#partition_token partition_token} field is not
813
861
  # empty, rows will be yielded in an unspecified order.
814
862
  #
815
- # It is not an error for the +key_set+ to name rows that do not
863
+ # It is not an error for the `key_set` to name rows that do not
816
864
  # exist in the database. Read yields nothing for nonexistent rows.
817
865
  # A hash of the same form as `Google::Spanner::V1::KeySet`
818
866
  # can also be provided.
@@ -826,12 +874,12 @@ module Google
826
874
  # used instead of the table primary key when interpreting {Google::Spanner::V1::ReadRequest#key_set key_set}
827
875
  # and sorting result rows. See {Google::Spanner::V1::ReadRequest#key_set key_set} for further information.
828
876
  # @param limit [Integer]
829
- # If greater than zero, only the first +limit+ rows are yielded. If +limit+
877
+ # If greater than zero, only the first `limit` rows are yielded. If `limit`
830
878
  # is zero, the default is no limit. A limit cannot be specified if
831
- # +partition_token+ is set.
879
+ # `partition_token` is set.
832
880
  # @param resume_token [String]
833
881
  # If this request is resuming a previously interrupted read,
834
- # +resume_token+ should be copied from the last
882
+ # `resume_token` should be copied from the last
835
883
  # {Google::Spanner::V1::PartialResultSet PartialResultSet} yielded before the interruption. Doing this
836
884
  # enables the new read to resume where the last read left off. The
837
885
  # rest of the request parameters must exactly match the request
@@ -854,13 +902,13 @@ module Google
854
902
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
855
903
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
856
904
  #
857
- # # TODO: Initialize +table+:
905
+ # # TODO: Initialize `table`:
858
906
  # table = ''
859
907
  #
860
- # # TODO: Initialize +columns+:
908
+ # # TODO: Initialize `columns`:
861
909
  # columns = []
862
910
  #
863
- # # TODO: Initialize +key_set+:
911
+ # # TODO: Initialize `key_set`:
864
912
  # key_set = {}
865
913
  # spanner_client.streaming_read(formatted_session, table, columns, key_set).each do |element|
866
914
  # # Process element.
@@ -917,7 +965,7 @@ module Google
917
965
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
918
966
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
919
967
  #
920
- # # TODO: Initialize +options_+:
968
+ # # TODO: Initialize `options_`:
921
969
  # options_ = {}
922
970
  # response = spanner_client.begin_transaction(formatted_session, options_)
923
971
 
@@ -937,10 +985,10 @@ module Google
937
985
  # Commits a transaction. The request includes the mutations to be
938
986
  # applied to rows in the database.
939
987
  #
940
- # +Commit+ might return an +ABORTED+ error. This can occur at any time;
988
+ # `Commit` might return an `ABORTED` error. This can occur at any time;
941
989
  # commonly, the cause is conflicts with concurrent
942
990
  # transactions. However, it can also happen for a variety of other
943
- # reasons. If +Commit+ returns +ABORTED+, the caller should re-attempt
991
+ # reasons. If `Commit` returns `ABORTED`, the caller should re-attempt
944
992
  # the transaction from the beginning, re-using the same session.
945
993
  #
946
994
  # @param session [String]
@@ -957,7 +1005,7 @@ module Google
957
1005
  # Execute mutations in a temporary transaction. Note that unlike
958
1006
  # commit of a previously-started transaction, commit with a
959
1007
  # temporary transaction is non-idempotent. That is, if the
960
- # +CommitRequest+ is sent to Cloud Spanner more than once (for
1008
+ # `CommitRequest` is sent to Cloud Spanner more than once (for
961
1009
  # instance, due to retries in the application, or in the
962
1010
  # transport library), it is possible that the mutations are
963
1011
  # executed more than once. If this is undesirable, use
@@ -979,7 +1027,7 @@ module Google
979
1027
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
980
1028
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
981
1029
  #
982
- # # TODO: Initialize +mutations+:
1030
+ # # TODO: Initialize `mutations`:
983
1031
  # mutations = []
984
1032
  # response = spanner_client.commit(formatted_session, mutations)
985
1033
 
@@ -1005,9 +1053,9 @@ module Google
1005
1053
  # {Google::Spanner::V1::Spanner::Read Read} or {Google::Spanner::V1::Spanner::ExecuteSql ExecuteSql} requests and
1006
1054
  # ultimately decides not to commit.
1007
1055
  #
1008
- # +Rollback+ returns +OK+ if it successfully aborts the transaction, the
1056
+ # `Rollback` returns `OK` if it successfully aborts the transaction, the
1009
1057
  # transaction was already aborted, or the transaction is not
1010
- # found. +Rollback+ never returns +ABORTED+.
1058
+ # found. `Rollback` never returns `ABORTED`.
1011
1059
  #
1012
1060
  # @param session [String]
1013
1061
  # Required. The session in which the transaction to roll back is running.
@@ -1026,7 +1074,7 @@ module Google
1026
1074
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
1027
1075
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
1028
1076
  #
1029
- # # TODO: Initialize +transaction_id+:
1077
+ # # TODO: Initialize `transaction_id`:
1030
1078
  # transaction_id = ''
1031
1079
  # spanner_client.rollback(formatted_session, transaction_id)
1032
1080
 
@@ -1050,8 +1098,11 @@ module Google
1050
1098
  # of the query result to read. The same session and read-only transaction
1051
1099
  # must be used by the PartitionQueryRequest used to create the
1052
1100
  # partition tokens and the ExecuteSqlRequests that use the partition tokens.
1101
+ #
1053
1102
  # Partition tokens become invalid when the session used to create them
1054
- # is deleted or begins a new transaction.
1103
+ # is deleted, is idle for too long, begins a new transaction, or becomes too
1104
+ # old. When any of these happen, it is not possible to resume the query, and
1105
+ # the whole operation must be restarted from the beginning.
1055
1106
  #
1056
1107
  # @param session [String]
1057
1108
  # Required. The session used to create the partitions.
@@ -1062,6 +1113,10 @@ module Google
1062
1113
  # union operator conceptually divides one or more tables into multiple
1063
1114
  # splits, remotely evaluates a subquery independently on each split, and
1064
1115
  # then unions all results.
1116
+ #
1117
+ # This must not contain DML commands, such as INSERT, UPDATE, or
1118
+ # DELETE. Use {Google::Spanner::V1::Spanner::ExecuteStreamingSql ExecuteStreamingSql} with a
1119
+ # PartitionedDml transaction for large, partition-friendly DML operations.
1065
1120
  # @param transaction [Google::Spanner::V1::TransactionSelector | Hash]
1066
1121
  # Read only snapshot transactions are supported, read/write and single use
1067
1122
  # transactions are not.
@@ -1069,27 +1124,27 @@ module Google
1069
1124
  # can also be provided.
1070
1125
  # @param params [Google::Protobuf::Struct | Hash]
1071
1126
  # The SQL query string can contain parameter placeholders. A parameter
1072
- # placeholder consists of +'@'+ followed by the parameter
1127
+ # placeholder consists of `'@'` followed by the parameter
1073
1128
  # name. Parameter names consist of any combination of letters,
1074
1129
  # numbers, and underscores.
1075
1130
  #
1076
1131
  # Parameters can appear anywhere that a literal value is expected. The same
1077
1132
  # parameter name can be used more than once, for example:
1078
- # +"WHERE id > @msg_id AND id < @msg_id + 100"+
1133
+ # `"WHERE id > @msg_id AND id < @msg_id + 100"`
1079
1134
  #
1080
1135
  # It is an error to execute an SQL query with unbound parameters.
1081
1136
  #
1082
- # Parameter values are specified using +params+, which is a JSON
1137
+ # Parameter values are specified using `params`, which is a JSON
1083
1138
  # object whose keys are parameter names, and whose values are the
1084
1139
  # corresponding parameter values.
1085
1140
  # A hash of the same form as `Google::Protobuf::Struct`
1086
1141
  # can also be provided.
1087
1142
  # @param param_types [Hash{String => Google::Spanner::V1::Type | Hash}]
1088
1143
  # It is not always possible for Cloud Spanner to infer the right SQL type
1089
- # from a JSON value. For example, values of type +BYTES+ and values
1090
- # of type +STRING+ both appear in {Google::Spanner::V1::PartitionQueryRequest#params params} as JSON strings.
1144
+ # from a JSON value. For example, values of type `BYTES` and values
1145
+ # of type `STRING` both appear in {Google::Spanner::V1::PartitionQueryRequest#params params} as JSON strings.
1091
1146
  #
1092
- # In these cases, +param_types+ can be used to specify the exact
1147
+ # In these cases, `param_types` can be used to specify the exact
1093
1148
  # SQL type for some or all of the SQL query parameters. See the
1094
1149
  # definition of {Google::Spanner::V1::Type Type} for more information
1095
1150
  # about SQL types.
@@ -1113,7 +1168,7 @@ module Google
1113
1168
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
1114
1169
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
1115
1170
  #
1116
- # # TODO: Initialize +sql+:
1171
+ # # TODO: Initialize `sql`:
1117
1172
  # sql = ''
1118
1173
  # response = spanner_client.partition_query(formatted_session, sql)
1119
1174
 
@@ -1143,21 +1198,26 @@ module Google
1143
1198
  # by {Google::Spanner::V1::Spanner::StreamingRead StreamingRead} to specify a subset of the read
1144
1199
  # result to read. The same session and read-only transaction must be used by
1145
1200
  # the PartitionReadRequest used to create the partition tokens and the
1146
- # ReadRequests that use the partition tokens.
1201
+ # ReadRequests that use the partition tokens. There are no ordering
1202
+ # guarantees on rows returned among the returned partition tokens, or even
1203
+ # within each individual StreamingRead call issued with a partition_token.
1204
+ #
1147
1205
  # Partition tokens become invalid when the session used to create them
1148
- # is deleted or begins a new transaction.
1206
+ # is deleted, is idle for too long, begins a new transaction, or becomes too
1207
+ # old. When any of these happen, it is not possible to resume the read, and
1208
+ # the whole operation must be restarted from the beginning.
1149
1209
  #
1150
1210
  # @param session [String]
1151
1211
  # Required. The session used to create the partitions.
1152
1212
  # @param table [String]
1153
1213
  # Required. The name of the table in the database to be read.
1154
1214
  # @param key_set [Google::Spanner::V1::KeySet | Hash]
1155
- # Required. +key_set+ identifies the rows to be yielded. +key_set+ names the
1215
+ # Required. `key_set` identifies the rows to be yielded. `key_set` names the
1156
1216
  # primary keys of the rows in {Google::Spanner::V1::PartitionReadRequest#table table} to be yielded, unless {Google::Spanner::V1::PartitionReadRequest#index index}
1157
1217
  # is present. If {Google::Spanner::V1::PartitionReadRequest#index index} is present, then {Google::Spanner::V1::PartitionReadRequest#key_set key_set} instead names
1158
1218
  # index keys in {Google::Spanner::V1::PartitionReadRequest#index index}.
1159
1219
  #
1160
- # It is not an error for the +key_set+ to name rows that do not
1220
+ # It is not an error for the `key_set` to name rows that do not
1161
1221
  # exist in the database. Read yields nothing for nonexistent rows.
1162
1222
  # A hash of the same form as `Google::Spanner::V1::KeySet`
1163
1223
  # can also be provided.
@@ -1191,10 +1251,10 @@ module Google
1191
1251
  # spanner_client = Google::Cloud::Spanner::V1::SpannerClient.new
1192
1252
  # formatted_session = Google::Cloud::Spanner::V1::SpannerClient.session_path("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]")
1193
1253
  #
1194
- # # TODO: Initialize +table+:
1254
+ # # TODO: Initialize `table`:
1195
1255
  # table = ''
1196
1256
  #
1197
- # # TODO: Initialize +key_set+:
1257
+ # # TODO: Initialize `key_set`:
1198
1258
  # key_set = {}
1199
1259
  # response = spanner_client.partition_read(formatted_session, table, key_set)
1200
1260
 
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Spanner
19
- VERSION = "1.6.3".freeze
19
+ VERSION = "1.6.4".freeze
20
20
  end
21
21
  end
22
22
  end
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/spanner/admin/database/v1/spanner_database_admin.proto for package 'google.spanner.admin.database.v1'
3
3
  # Original file comments:
4
- # Copyright 2018 Google Inc.
4
+ # Copyright 2018 Google LLC
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/spanner/admin/instance/v1/spanner_instance_admin.proto for package 'google.spanner.admin.instance.v1'
3
3
  # Original file comments:
4
- # Copyright 2018 Google Inc.
4
+ # Copyright 2018 Google LLC
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -29,6 +29,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
29
29
  add_message "google.spanner.v1.ResultSetStats" do
30
30
  optional :query_plan, :message, 1, "google.spanner.v1.QueryPlan"
31
31
  optional :query_stats, :message, 2, "google.protobuf.Struct"
32
+ oneof :row_count do
33
+ optional :row_count_exact, :int64, 3
34
+ optional :row_count_lower_bound, :int64, 4
35
+ end
32
36
  end
33
37
  end
34
38
 
@@ -49,6 +49,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
49
49
  optional :resume_token, :bytes, 6
50
50
  optional :query_mode, :enum, 7, "google.spanner.v1.ExecuteSqlRequest.QueryMode"
51
51
  optional :partition_token, :bytes, 8
52
+ optional :seqno, :int64, 9
52
53
  end
53
54
  add_enum "google.spanner.v1.ExecuteSqlRequest.QueryMode" do
54
55
  value :NORMAL, 0