Optionally the server might return the row key of the last row it
has scanned. The client can use this to construct a more
efficient retry request if needed: any row keys or portions of
ranges less than this row key can be dropped from the request.
This is primarily useful for cases where the server has read a
lot of data that was filtered out since the last committed row
key, allowing the client to skip that work on a retry.
If requested, provide enhanced query performance statistics. The semantics
dictate:
request_stats is empty on every (streamed) response, except
request_stats has non-empty information after all chunks have been
streamed, where the ReadRowsResponse message only contains
request_stats.
For example, if a read request would have returned an empty
response instead a single ReadRowsResponse is streamed with empty
chunks and request_stats filled.
Visually, response messages will stream as follows:
... -> {chunks: [...]} -> {chunks: [], request_stats: {...}}
\__/ \__/
Primary response Trailer of RequestStats info
Or if the read did not return any values:
{chunks: [], request_stats: {...}}
\__/
Trailer of RequestStats info
If requested, provide enhanced query performance statistics. The semantics
dictate:
request_stats is empty on every (streamed) response, except
request_stats has non-empty information after all chunks have been
streamed, where the ReadRowsResponse message only contains
request_stats.
For example, if a read request would have returned an empty
response instead a single ReadRowsResponse is streamed with empty
chunks and request_stats filled.
Visually, response messages will stream as follows:
... -> {chunks: [...]} -> {chunks: [], request_stats: {...}}
\__/ \__/
Primary response Trailer of RequestStats info
Or if the read did not return any values:
{chunks: [], request_stats: {...}}
\__/
Trailer of RequestStats info
If requested, provide enhanced query performance statistics. The semantics
dictate:
request_stats is empty on every (streamed) response, except
request_stats has non-empty information after all chunks have been
streamed, where the ReadRowsResponse message only contains
request_stats.
For example, if a read request would have returned an empty
response instead a single ReadRowsResponse is streamed with empty
chunks and request_stats filled.
Visually, response messages will stream as follows:
... -> {chunks: [...]} -> {chunks: [], request_stats: {...}}
\__/ \__/
Primary response Trailer of RequestStats info
Or if the read did not return any values:
{chunks: [], request_stats: {...}}
\__/
Trailer of RequestStats info
[[["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-02-14 UTC."],[],[]]