public MultiplexedSessionPrecommitToken PrecommitToken { get; set; }
Optional. A precommit token is included if the read-write transaction is on
a multiplexed session. Pass the precommit token with the highest sequence
number from this transaction attempt to the
[Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
Each element in rows is a row whose format is defined by
[metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
element in each row matches the ith field in
[metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
are encoded based on type as described [here][google.spanner.v1.TypeCode].
Query plan and execution statistics for the SQL statement that
produced this result set. These can be requested by setting
[ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
DML statements always produce stats containing the number of rows
modified, unless executed using the
[ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
[ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
Other fields might or might not be populated, based on the
[ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
[[["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-07 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eResultSet\u003c/code\u003e class within the Google Cloud Spanner v1 API for .NET, detailing its structure and usage.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eResultSet\u003c/code\u003e class is used to represent the results obtained from executing read or SQL operations in Google Cloud Spanner.\u003c/p\u003e\n"],["\u003cp\u003eThe page lists various versions of the API, ranging from the latest beta version \u003ccode\u003e5.0.0-beta05\u003c/code\u003e down to version \u003ccode\u003e3.5.0\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eResultSet\u003c/code\u003e implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and inherits members from \u003ccode\u003eobject\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class contains properties such as \u003ccode\u003eMetadata\u003c/code\u003e, \u003ccode\u003ePrecommitToken\u003c/code\u003e, \u003ccode\u003eRows\u003c/code\u003e, and \u003ccode\u003eStats\u003c/code\u003e, which provide information about the result set's data, transaction context, and query execution details.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Spanner v1 API - Class ResultSet (5.1.0)\n\nVersion latestkeyboard_arrow_down\n\n- [5.1.0 (latest)](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.ResultSet)\n- [5.0.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/5.0.0/Google.Cloud.Spanner.V1.ResultSet)\n- [4.6.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.6.0/Google.Cloud.Spanner.V1.ResultSet)\n- [4.5.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.5.0/Google.Cloud.Spanner.V1.ResultSet)\n- [4.4.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.4.0/Google.Cloud.Spanner.V1.ResultSet)\n- [4.3.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.3.0/Google.Cloud.Spanner.V1.ResultSet)\n- [4.2.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.2.0/Google.Cloud.Spanner.V1.ResultSet)\n- [4.1.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.1.0/Google.Cloud.Spanner.V1.ResultSet)\n- [4.0.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/4.0.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.15.1](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.15.1/Google.Cloud.Spanner.V1.ResultSet)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.14.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.13.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.12.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.11.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.10.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.9.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.8.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.7.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.6.0/Google.Cloud.Spanner.V1.ResultSet)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Spanner.V1/3.5.0/Google.Cloud.Spanner.V1.ResultSet) \n\n public sealed class ResultSet : IMessage\u003cResultSet\u003e, IEquatable\u003cResultSet\u003e, IDeepCloneable\u003cResultSet\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Spanner v1 API class ResultSet.\n\nResults from \\[Read\\]\\[google.spanner.v1.Spanner.Read\\] or\n\\[ExecuteSql\\]\\[google.spanner.v1.Spanner.ExecuteSql\\]. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ResultSet \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[ResultSet](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.ResultSet), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[ResultSet](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.ResultSet), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[ResultSet](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1.ResultSet), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Spanner.V1](/dotnet/docs/reference/Google.Cloud.Spanner.V1/latest/Google.Cloud.Spanner.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Spanner.V1.dll\n\nConstructors\n------------\n\n### ResultSet()\n\n public ResultSet()\n\n### ResultSet(ResultSet)\n\n public ResultSet(ResultSet other)\n\nProperties\n----------\n\n### Metadata\n\n public ResultSetMetadata Metadata { get; set; }\n\nMetadata about the result set, such as row type information.\n\n### PrecommitToken\n\n public MultiplexedSessionPrecommitToken PrecommitToken { get; set; }\n\nOptional. A precommit token is included if the read-write transaction is on\na multiplexed session. Pass the precommit token with the highest sequence\nnumber from this transaction attempt to the\n\\[Commit\\]\\[google.spanner.v1.Spanner.Commit\\] request for this transaction.\n\n### Rows\n\n public RepeatedField\u003cListValue\u003e Rows { get; }\n\nEach element in `rows` is a row whose format is defined by\n\\[metadata.row_type\\]\\[google.spanner.v1.ResultSetMetadata.row_type\\]. The ith\nelement in each row matches the ith field in\n\\[metadata.row_type\\]\\[google.spanner.v1.ResultSetMetadata.row_type\\]. Elements\nare encoded based on type as described \\[here\\]\\[google.spanner.v1.TypeCode\\].\n\n### Stats\n\n public ResultSetStats Stats { get; set; }\n\nQuery plan and execution statistics for the SQL statement that\nproduced this result set. These can be requested by setting\n\\[ExecuteSqlRequest.query_mode\\]\\[google.spanner.v1.ExecuteSqlRequest.query_mode\\].\nDML statements always produce stats containing the number of rows\nmodified, unless executed using the\n\\[ExecuteSqlRequest.QueryMode.PLAN\\]\\[google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN\\]\n\\[ExecuteSqlRequest.query_mode\\]\\[google.spanner.v1.ExecuteSqlRequest.query_mode\\].\nOther fields might or might not be populated, based on the\n\\[ExecuteSqlRequest.query_mode\\]\\[google.spanner.v1.ExecuteSqlRequest.query_mode\\]."]]