트랜잭션1이 레코드를 select for update로 잠그고 A컬럼을 변경하고 있음.
이때 트랜잭션2가 select * where A=? for update로 해당 레코드의 락을 얻기 위해 대기중임.
근데 트랜잭션1이 작업을 마치면 트랜잭션2가 락을 얻으려고 대기하던 레코드는 더 이상 where 조건에 맞지않게됨.
이 경우 타임아웃 안걸어줬으면 트랜잭션 대기 상태로 계속 기다린다는데 맞음?
이때 트랜잭션2가 select * where A=? for update로 해당 레코드의 락을 얻기 위해 대기중임.
근데 트랜잭션1이 작업을 마치면 트랜잭션2가 락을 얻으려고 대기하던 레코드는 더 이상 where 조건에 맞지않게됨.
이 경우 타임아웃 안걸어줬으면 트랜잭션 대기 상태로 계속 기다린다는데 맞음?
조건 안맞게 됐으면 레코드 잠금 풀리자 마자 수정된 행 빼고 나머지 결과 반환될듯
해당 하는 레코드가 1건인 경우라면 어케 되는거임 그럼? 0건 반환인가