haridsv commented on code in PR #2199:
URL: https://github.com/apache/phoenix/pull/2199#discussion_r2163436662
##########
phoenix-core-client/src/main/java/org/apache/phoenix/jdbc/PhoenixPreparedStatement.java:
##########
@@ -215,6 +215,28 @@ private void preExecuteUpdate() throws SQLException {
}
}
+ /**
+ * Executes the given SQL statement similar to JDBC API executeUpdate()
but also returns the
+ * old row (before update) as Result object back to the client. This must
be used with
+ * auto-commit Connection. This makes the operation atomic.
+ * Return the old row (state before update) regardless of whether the
update is
+ * successful or not.
+ *
+ * @return The pair of int and ResultSet, where int represents value 1 for
successful row update
+ * and 0 for non-successful row update, and ResultSet represents the old
state of the row.
+ * @throws SQLException If the statement cannot be executed.
+ */
+ // Note: Do Not remove this, it is expected to be used by downstream
applications
+ public Pair<Integer, ResultSet> executeAtomicUpdateReturnOldRow() throws
SQLException {
Review Comment:
Once we digress from JDBC API I don't see any value in matching the
signature of this method to existing JDBC method. Users will not be able to
discover these APIs without going through custom docs written specifically for
Phoenix anyway so we are talking about documenting 2 methods vs one with extra
parameter, and IMHO one method is simpler but may be it is just me.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]