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 calling Google\Cloud\Spanner\Batch\Google\Cloud\Spanner\Batch\QueryPartition::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 on Google\Cloud\Spanner\Batch\Google\Cloud\Spanner\Batch\BatchClient.
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();
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 to |
↳ 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 to |
↳ parameters |
array
A key/value array of Query Parameters, where the key is represented in the query string prefixed by a |
↳ 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 on Google\Cloud\Spanner\Batch\Google\Cloud\Spanner\ValueMapper, and are as follows: |
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.
Parameter | |
---|---|
Name | Description |
data |
array
The partition data. |
Returns | |
---|---|
Type | Description |
Google\Cloud\Spanner\Batch\QueryPartition |