Javadoc
Note that by definition select for update is divorced from update, i.e. you executeQuery() to read
and then executeUpdate(). One other alternative would be to actually update the row in TXNS but
to the same value as before thus forcing db to acquire write lock for duration of the transaction.
There is no real reason to return the ResultSet here other than to make sure the reference to it
is retained for duration of intended lock scope and is not GC'd thus (unlikely) causing lock
to be released.