Reference documentation and code samples for the Cloud Spanner Client class QueryPartition.
Represents a Query Partition.
Partitions can be shared with other servers or processes by casting the
object to a string, or by callingQueryPartition::serialize().
Note that when reading or querying against a partition, the request MUST be
made using the same Batch Snapshot with which the partition was initialized.
In practice, this means that a shared partition must be accompanied by its
corresponding snapshot. For more information, refer to usage notes onBatchClient.
Example:
use Google\Cloud\Spanner\SpannerClient;
$spanner = new SpannerClient();
$batch = $spanner->batch('instance-id', 'database-id');
$snapshot = $batch->snapshot();
$partitions = $snapshot->partitionQuery(
'SELECT * FROM Users WHERE firstName = @firstName AND location = @location',
[
'parameters' => [
'firstName' => 'John',
'location' => 'USA'
]
]
);
// Serialize a partition to share it with another worker.
$partitionString = (string) $partition;
// Calling QueryPartition::serialize() has the same effect.
$partitionString = $partition->serialize();
Namespace
Google \ Cloud \ Spanner \ Batch
Methods
__construct
Parameters
Name
Description
token
string
The token identifying the partition.
sql
string
The query string to execute.
options
array
Configuration Options
↳ maxPartitions
int
The desired maximum number of partitions to return. For example, this may be set to the number of workers available. The maximum value is currently 200,000. This is only a hint. The actual number of partitions returned may be smaller than this maximum count request.Defaults to10000.
↳ partitionSizeBytes
int
The desired data size for each partition generated. This is only a hint. The actual size of each partition may be smaller or larger than this size request.Defaults to1000000000(i.e. 1 GiB).
↳ parameters
array
A key/value array of Query Parameters, where the key is represented in the query string prefixed by a@symbol.
↳ types
array
A key/value array of Query Parameter types. Generally, Google Cloud PHP can infer types. Explicit type definitions are only necessary for null parameter values. Accepted values are defined as constants onGoogle\Cloud\Spanner\ValueMapper, and are as follows:Database::TYPE_BOOL,Database::TYPE_INT64,Database::TYPE_FLOAT64,Database::TYPE_TIMESTAMP,Database::TYPE_DATE,Database::TYPE_STRING,Database::TYPE_BYTES,Database::TYPE_ARRAYandDatabase::TYPE_STRUCT. If the parameter type is an array, the type should be given as an array, where the first element isDatabase::TYPE_ARRAYand the second element is the array type, for instance[Database::TYPE_ARRAY, Database::TYPE_INT64].
sql
Returns the SQL query string.
Example:
$sql = $partition->sql();
Returns
Type
Description
string
serialize
Return a stringified representation of the QueryPartition object.
Example:
$partitionString = $partition->serialize();
Returns
Type
Description
string
static::hydrate
Create a QueryPartition object from a deserialized array of partition data.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Cloud Spanner Client - Class QueryPartition (1.104.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.104.0 (latest)](/php/docs/reference/cloud-spanner/latest/Batch.QueryPartition)\n- [1.103.0](/php/docs/reference/cloud-spanner/1.103.0/Batch.QueryPartition)\n- [1.102.0](/php/docs/reference/cloud-spanner/1.102.0/Batch.QueryPartition)\n- [1.101.0](/php/docs/reference/cloud-spanner/1.101.0/Batch.QueryPartition)\n- [1.100.0](/php/docs/reference/cloud-spanner/1.100.0/Batch.QueryPartition)\n- [1.98.0](/php/docs/reference/cloud-spanner/1.98.0/Batch.QueryPartition)\n- [1.97.0](/php/docs/reference/cloud-spanner/1.97.0/Batch.QueryPartition)\n- [1.96.0](/php/docs/reference/cloud-spanner/1.96.0/Batch.QueryPartition)\n- [1.95.0](/php/docs/reference/cloud-spanner/1.95.0/Batch.QueryPartition)\n- [1.94.0](/php/docs/reference/cloud-spanner/1.94.0/Batch.QueryPartition)\n- [1.93.1](/php/docs/reference/cloud-spanner/1.93.1/Batch.QueryPartition)\n- [1.92.1](/php/docs/reference/cloud-spanner/1.92.1/Batch.QueryPartition)\n- [1.91.0](/php/docs/reference/cloud-spanner/1.91.0/Batch.QueryPartition)\n- [1.90.0](/php/docs/reference/cloud-spanner/1.90.0/Batch.QueryPartition)\n- [1.89.0](/php/docs/reference/cloud-spanner/1.89.0/Batch.QueryPartition)\n- [1.88.0](/php/docs/reference/cloud-spanner/1.88.0/Batch.QueryPartition)\n- [1.87.0](/php/docs/reference/cloud-spanner/1.87.0/Batch.QueryPartition)\n- [1.86.0](/php/docs/reference/cloud-spanner/1.86.0/Batch.QueryPartition)\n- [1.85.0](/php/docs/reference/cloud-spanner/1.85.0/Batch.QueryPartition)\n- [1.84.0](/php/docs/reference/cloud-spanner/1.84.0/Batch.QueryPartition)\n- [1.83.0](/php/docs/reference/cloud-spanner/1.83.0/Batch.QueryPartition)\n- [1.82.0](/php/docs/reference/cloud-spanner/1.82.0/Batch.QueryPartition)\n- [1.81.0](/php/docs/reference/cloud-spanner/1.81.0/Batch.QueryPartition)\n- [1.80.0](/php/docs/reference/cloud-spanner/1.80.0/Batch.QueryPartition)\n- [1.79.0](/php/docs/reference/cloud-spanner/1.79.0/Batch.QueryPartition)\n- [1.78.0](/php/docs/reference/cloud-spanner/1.78.0/Batch.QueryPartition)\n- [1.77.0](/php/docs/reference/cloud-spanner/1.77.0/Batch.QueryPartition)\n- [1.76.1](/php/docs/reference/cloud-spanner/1.76.1/Batch.QueryPartition)\n- [1.68.0](/php/docs/reference/cloud-spanner/1.68.0/Batch.QueryPartition)\n- [1.67.0](/php/docs/reference/cloud-spanner/1.67.0/Batch.QueryPartition)\n- [1.66.0](/php/docs/reference/cloud-spanner/1.66.0/Batch.QueryPartition)\n- [1.65.0](/php/docs/reference/cloud-spanner/1.65.0/Batch.QueryPartition)\n- [1.64.0](/php/docs/reference/cloud-spanner/1.64.0/Batch.QueryPartition)\n- [1.63.2](/php/docs/reference/cloud-spanner/1.63.2/Batch.QueryPartition)\n- [1.62.1](/php/docs/reference/cloud-spanner/1.62.1/Batch.QueryPartition)\n- [1.61.0](/php/docs/reference/cloud-spanner/1.61.0/Batch.QueryPartition)\n- [1.60.0](/php/docs/reference/cloud-spanner/1.60.0/Batch.QueryPartition)\n- [1.59.0](/php/docs/reference/cloud-spanner/1.59.0/Batch.QueryPartition)\n- [1.58.4](/php/docs/reference/cloud-spanner/1.58.4/Batch.QueryPartition)\n- [1.57.0](/php/docs/reference/cloud-spanner/1.57.0/Batch.QueryPartition)\n- [1.56.0](/php/docs/reference/cloud-spanner/1.56.0/Batch.QueryPartition)\n- [1.55.0](/php/docs/reference/cloud-spanner/1.55.0/Batch.QueryPartition)\n- [1.54.2](/php/docs/reference/cloud-spanner/1.54.2/Batch.QueryPartition) \nReference documentation and code samples for the Cloud Spanner Client class QueryPartition.\n\nRepresents a Query Partition.\n\nPartitions can be shared with other servers or processes by casting the\nobject to a string, or by calling [QueryPartition::serialize()](/php/docs/reference/cloud-spanner/latest/Batch.QueryPartition#_Google_Cloud_Spanner_Batch_QueryPartition__serialize__).\n\nNote that when reading or querying against a partition, the request MUST be\nmade using the same Batch Snapshot with which the partition was initialized.\nIn practice, this means that a shared partition must be accompanied by its\ncorresponding snapshot. For more information, refer to usage notes on\n[BatchClient](/php/docs/reference/cloud-spanner/latest/Batch.BatchClient).\n\nExample: \n\n use Google\\Cloud\\Spanner\\SpannerClient;\n\n $spanner = new SpannerClient();\n $batch = $spanner-\u003ebatch('instance-id', 'database-id');\n $snapshot = $batch-\u003esnapshot();\n\n $partitions = $snapshot-\u003epartitionQuery(\n 'SELECT * FROM Users WHERE firstName = @firstName AND location = @location',\n [\n 'parameters' =\u003e [\n 'firstName' =\u003e 'John',\n 'location' =\u003e 'USA'\n ]\n ]\n );\n\n // Serialize a partition to share it with another worker.\n $partitionString = (string) $partition;\n\n // Calling QueryPartition::serialize() has the same effect.\n $partitionString = $partition-\u003eserialize();\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Spanner \\\\ Batch\n\nMethods\n-------\n\n### __construct\n\n### sql\n\nReturns the SQL query string.\n\nExample: \n\n $sql = $partition-\u003esql();\n\n### serialize\n\nReturn a stringified representation of the QueryPartition object.\n\nExample: \n\n $partitionString = $partition-\u003eserialize();\n\n### static::hydrate\n\nCreate a QueryPartition object from a deserialized array of partition data."]]