Class: Google::Spanner::V1::ExecuteSqlRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb

Overview

The request for ExecuteSql and ExecuteStreamingSql.

Defined Under Namespace

Modules: QueryMode

Instance Attribute Summary collapse

Instance Attribute Details

#param_typesHash{String => Google::Spanner::V1::Type}

Returns It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type BYTES and values of type STRING both appear in params as JSON strings.

In these cases, param_types can be used to specify the exact SQL type for some or all of the SQL statement parameters. See the definition of Type for more information about SQL types.

Returns:

  • (Hash{String => Google::Spanner::V1::Type})

    It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type BYTES and values of type STRING both appear in params as JSON strings.

    In these cases, param_types can be used to specify the exact SQL type for some or all of the SQL statement parameters. See the definition of Type for more information about SQL types.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#paramsGoogle::Protobuf::Struct

Returns The SQL string can contain parameter placeholders. A parameter placeholder consists of '@' followed by the parameter name. Parameter names consist of any combination of letters, numbers, and underscores.

Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: "WHERE id > @msg_id AND id < @msg_id + 100"

It is an error to execute an SQL statement with unbound parameters.

Parameter values are specified using params, which is a JSON object whose keys are parameter names, and whose values are the corresponding parameter values.

Returns:

  • (Google::Protobuf::Struct)

    The SQL string can contain parameter placeholders. A parameter placeholder consists of '@' followed by the parameter name. Parameter names consist of any combination of letters, numbers, and underscores.

    Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: "WHERE id > @msg_id AND id < @msg_id + 100"

    It is an error to execute an SQL statement with unbound parameters.

    Parameter values are specified using params, which is a JSON object whose keys are parameter names, and whose values are the corresponding parameter values.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#partition_tokenString

Returns If present, results will be restricted to the specified partition previously created using PartitionQuery(). There must be an exact match for the values of fields common to this message and the PartitionQueryRequest message used to create this partition_token.

Returns:

  • (String)

    If present, results will be restricted to the specified partition previously created using PartitionQuery(). There must be an exact match for the values of fields common to this message and the PartitionQueryRequest message used to create this partition_token.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#query_modeGoogle::Spanner::V1::ExecuteSqlRequest::QueryMode

Returns Used to control the amount of debugging information returned in ResultSetStats. If partition_token is set, query_mode can only be set to QueryMode::NORMAL.

Returns:



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#resume_tokenString

Returns If this request is resuming a previously interrupted SQL statement execution, resume_token should be copied from the last PartialResultSet yielded before the interruption. Doing this enables the new SQL statement execution to resume where the last one left off. The rest of the request parameters must exactly match the request that yielded this token.

Returns:

  • (String)

    If this request is resuming a previously interrupted SQL statement execution, resume_token should be copied from the last PartialResultSet yielded before the interruption. Doing this enables the new SQL statement execution to resume where the last one left off. The rest of the request parameters must exactly match the request that yielded this token.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#seqnoInteger

Returns A per-transaction sequence number used to identify this request. This makes each request idempotent such that if the request is received multiple times, at most one will succeed.

The sequence number must be monotonically increasing within the transaction. If a request arrives for the first time with an out-of-order sequence number, the transaction may be aborted. Replays of previously handled requests will yield the same response as the first execution.

Required for DML statements. Ignored for queries.

Returns:

  • (Integer)

    A per-transaction sequence number used to identify this request. This makes each request idempotent such that if the request is received multiple times, at most one will succeed.

    The sequence number must be monotonically increasing within the transaction. If a request arrives for the first time with an out-of-order sequence number, the transaction may be aborted. Replays of previously handled requests will yield the same response as the first execution.

    Required for DML statements. Ignored for queries.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#sessionString

Returns Required. The session in which the SQL query should be performed.

Returns:

  • (String)

    Required. The session in which the SQL query should be performed.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#sqlString

Returns Required. The SQL string.

Returns:

  • (String)

    Required. The SQL string.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end

#transactionGoogle::Spanner::V1::TransactionSelector

Returns The transaction to use. If none is provided, the default is a temporary read-only transaction with strong concurrency.

The transaction to use.

For queries, if none is provided, the default is a temporary read-only transaction with strong concurrency.

Standard DML statements require a ReadWrite transaction. Single-use transactions are not supported (to avoid replay). The caller must either supply an existing transaction ID or begin a new transaction.

Partitioned DML requires an existing PartitionedDml transaction ID.

Returns:

  • (Google::Spanner::V1::TransactionSelector)

    The transaction to use. If none is provided, the default is a temporary read-only transaction with strong concurrency.

    The transaction to use.

    For queries, if none is provided, the default is a temporary read-only transaction with strong concurrency.

    Standard DML statements require a ReadWrite transaction. Single-use transactions are not supported (to avoid replay). The caller must either supply an existing transaction ID or begin a new transaction.

    Partitioned DML requires an existing PartitionedDml transaction ID.



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/google/cloud/spanner/v1/doc/google/spanner/v1/spanner.rb', line 183

class ExecuteSqlRequest
  # Mode in which the statement must be processed.
  module QueryMode
    # The default mode. Only the statement results are returned.
    NORMAL = 0

    # This mode returns only the query plan, without any results or
    # execution statistics information.
    PLAN = 1

    # This mode returns both the query plan and the execution statistics along
    # with the results.
    PROFILE = 2
  end
end