class Google::Cloud::Spanner::V1::Spanner::Client

def execute_sql request, options = nil

Other tags:
    Example: Basic example -

Raises:
  • (::Google::Cloud::Error) - if the RPC is aborted.

Returns:
  • (::Google::Cloud::Spanner::V1::ResultSet) -

Other tags:
    Yieldparam: operation -
    Yieldparam: response -

Other tags:
    Yield: - Access the result along with the RPC operation

Parameters:
  • last_statement (::Boolean) --
  • data_boost_enabled (::Boolean) --
  • directed_read_options (::Google::Cloud::Spanner::V1::DirectedReadOptions, ::Hash) --
  • request_options (::Google::Cloud::Spanner::V1::RequestOptions, ::Hash) --
  • query_options (::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryOptions, ::Hash) --
  • seqno (::Integer) --
  • partition_token (::String) --
  • query_mode (::Google::Cloud::Spanner::V1::ExecuteSqlRequest::QueryMode) --
  • resume_token (::String) --
  • param_types (::Hash{::String => ::Google::Cloud::Spanner::V1::Type, ::Hash}) --
  • params (::Google::Protobuf::Struct, ::Hash) --
  • sql (::String) --
  • transaction (::Google::Cloud::Spanner::V1::TransactionSelector, ::Hash) --
  • session (::String) --
  • options (::Gapic::CallOptions, ::Hash) --
  • request (::Google::Cloud::Spanner::V1::ExecuteSqlRequest, ::Hash) --

Overloads:
  • execute_sql(session: nil, transaction: nil, sql: nil, params: nil, param_types: nil, resume_token: nil, query_mode: nil, partition_token: nil, seqno: nil, query_options: nil, request_options: nil, directed_read_options: nil, data_boost_enabled: nil, last_statement: nil)
  • execute_sql(request, options = nil)
def execute_sql request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?
  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Spanner::V1::ExecuteSqlRequest
  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
  # Customize the options with defaults
  metadata = @config.rpcs.execute_sql.metadata.to_h
  # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Spanner::V1::VERSION
  metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
  header_params = {}
  if request.session
    header_params["session"] = request.session
  end
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header
  options.apply_defaults timeout:      @config.rpcs.execute_sql.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.execute_sql.retry_policy
  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy
  @spanner_stub.call_rpc :execute_sql, request, options: options do |response, operation|
    yield response, operation if block_given?
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end