Haroldo Stenger wrote:
>
> Hello dear fellows,
>
> I need to get insight about this:
>
> 1. A transaction begins
> 2. LOCK TABLE XYZ; is issued.
> 3. Since table XYZ doesn't exist, the backend gives error.
> 4. A CREATE TABLE XYZ(field char); is issued.
> 5. The backend says that it is in abort state, and that all queries will
> be ignored until commit, or end of transaction.
>
> Is this behaviour unavoidable?
This is problematic (and arguably non-standard) handling of an error within
a transaction, and is a problem for precisely the reason you experienced.
At last check, it appeared some of the key developers might have been
coming around to that understanding, though I'm not sure it has made its
way into any kind of action plan.
Regards,
Ed Loehr