[ 
https://issues.apache.org/jira/browse/PHOENIX-7646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Viraj Jasani reassigned PHOENIX-7646:
-------------------------------------

    Assignee: Viraj Jasani

> New PhoenixStatement API to return old row state in Atomic Updates
> ------------------------------------------------------------------
>
>                 Key: PHOENIX-7646
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7646
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Viraj Jasani
>            Assignee: Viraj Jasani
>            Priority: Major
>             Fix For: 5.3.0
>
>
> PHOENIX-7462, PHOENIX-7398, PHOENIX-7434, PHOENIX-7411 and PHOENIX-7630 Jiras 
> have introduced support for PhoenixStatement to return ResultSet for updated 
> new row version.
> The purpose of this Jira is to add support for returning the old row state 
> (before update) in atomic update operations. This enhancement allows 
> applications to retrieve the previous state of a row when performing 
> conditional updates, enabling better audit trails.
> New API signature:
>  
> {code:java}
> /**
>  * 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.
>  * If the row is successfully updated, return the old row (state before 
> update), otherwise
>  * if the row cannot be updated, return non-updated (old) row.
>  *
>  * @param sql The SQL DML statement, UPSERT or DELETE for Phoenix.
>  * @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.
>  */
> public Pair<Integer, ResultSet> executeAtomicUpdateReturnOldRow(String sql)
>         throws SQLException {{code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to