class YieldableLocalUpdate extends YieldableUpdateBase {

    public YieldableLocalUpdate(StatementBase statement,
            AsyncHandler<AsyncResult<Integer>> asyncHandler) {
        super(statement, asyncHandler);
    }

    @Override
    protected void executeInternal() {<FILL_FUNCTION_BODY>}
}

        session.setStatus(SessionStatus.STATEMENT_RUNNING);
        int updateCount = statement.update();
        setResult(updateCount);

        // 返回的值为负数时，表示当前语句无法正常执行，需要等待其他事务释放锁。
        // 当 updateCount<0 时不能再设置为 WAITING 状态，
        // 一方面已经设置过了，另一方面如果此时其他事务释放锁了再设置会导致当前语句在后续无法执行。
        if (updateCount >= 0) {
            session.setStatus(SessionStatus.STATEMENT_COMPLETED);
        }
    
<methods>public void <init>(com.lealone.sql.StatementBase, AsyncHandler<AsyncResult<java.lang.Integer>>) <variables>