This class encapsulates the result of a Cloud Spanner DML operation, i.e., INSERT, UPDATE, or DELETE.
Example:
spanner::ProfileDmlResult dml_result; auto commit_result = client.Commit( [&client, &dml_result](spanner::Transaction txn)->StatusOr<spanner::Mutations>{ auto update = client.ProfileDml( std::move(txn), spanner::SqlStatement( "UPDATE Albums SET MarketingBudget = MarketingBudget * 2" " WHERE SingerId = 1 AND AlbumId = 1")); if(!update)return std::move(update).status(); dml_result =*std::move(update); return spanner::Mutations{}; }); if(!commit_result)throw std::move(commit_result).status();
// Stats only available after statement has been executed. std::cout <<"Rows modified: "<< dml_result.RowsModified(); auto execution_stats = dml_result.ExecutionStats(); if(execution_stats){ for(autoconst& stat :*execution_stats){ std::cout << stat.first <<":\t"<< stat.second <<"\n"; } }
[[["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-05-07 UTC."],[[["This webpage details the `ProfileDmlResult` class, which is used to encapsulate the results of Cloud Spanner Data Manipulation Language (DML) operations such as `INSERT`, `UPDATE`, or `DELETE`."],["The `ProfileDmlResult` class provides information on the number of rows modified by a DML statement via `RowsModified()`, with partitioned DML operations providing a lower bound rather than an exact count."],["Key statistics related to SQL statement execution are accessible through the `ExecutionStats()` function, which returns a collection of key-value pairs."],["The `ExecutionPlan()` function allows you to get the execution plan for the SQL statement."],["This page provides documentation across a wide range of versions, from 2.11.0 all the way to the most recent release candidate 2.37.0-rc, detailing the class across each version."]]],[]]