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 document outlines the `ProfileDmlResult` class, which is used to encapsulate the results of a Cloud Spanner Data Manipulation Language (DML) operation, such as `INSERT`, `UPDATE`, or `DELETE`."],["The `ProfileDmlResult` class provides access to the number of rows modified by the DML operation, which may be an exact count or a lower bound, depending on if it's a partitioned DML or not."],["The class also allows retrieval of execution statistics and the execution plan for the SQL statement, providing insights into the operation's performance and logic, when the statement is executed."],["The document includes example code on how to utilize the class in order to get stats on an update operation, in addition to providing function description, such as `RowsModified()`, `ExecutionStats()`, and `ExecutionPlan()`."]]],[]]