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 capture the results and profiling statistics of a data modification operation performed through `spanner::Client::ProfileDml()`."],["`ProfileDmlResult` encapsulates the outcome of Cloud Spanner DML operations such as `INSERT`, `UPDATE`, and `DELETE`, including the number of rows impacted."],["The class provides methods like `RowsModified()` to get the count of rows changed, `ExecutionStats()` for SQL statement execution statistics, and `ExecutionPlan()` for the query's execution plan."],["The class has been updated through many versions, starting from version 2.11.0 up until the latest version, 2.37.0-rc."],["There are multiple constructors and an operator for this class, including a default constructor and copy constructor, along with an assignment operator."]]],[]]