if the stream is interrupted due to a failure the StatusOr<spanner::Row> contains the error. The function returns a successful StatusOr<> with an empty spanner::Row to indicate end-of-stream.
Metadata()
Returns metadata about the result set, such as the field types and the transaction id created by the request.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-22 UTC."],[[["\u003cp\u003eThis page provides documentation for the \u003ccode\u003eResultSourceInterface\u003c/code\u003e in the Google Cloud Spanner C++ library, covering versions from 2.12.0 to 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eResultSourceInterface\u003c/code\u003e defines how \u003ccode\u003eRowStream\u003c/code\u003e implementations handle streams of \u003ccode\u003eRows\u003c/code\u003e returned from Spanner \u003ccode\u003eClient\u003c/code\u003e methods like \u003ccode\u003eRead()\u003c/code\u003e and \u003ccode\u003eExecuteQuery()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eNextRow()\u003c/code\u003e function retrieves the next row from the stream, returning either a \u003ccode\u003eStatusOr<spanner::Row>\u003c/code\u003e or a \u003ccode\u003eStatusOr<>\u003c/code\u003e to indicate the end of the stream or an error, respectively.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eMetadata()\u003c/code\u003e and \u003ccode\u003eStats()\u003c/code\u003e functions are available to retrieve result set metadata and statistics, with links to their respective Google Spanner RPC documentation.\u003c/p\u003e\n"],["\u003cp\u003eThe page provides information about mocking the \u003ccode\u003eResultSourceInterface\u003c/code\u003e during testing when mocking \u003ccode\u003espanner::Client\u003c/code\u003e behavior.\u003c/p\u003e\n"]]],[],null,[]]