You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Sep 27, 2019. It is now read-only.
For some unknown reason this bug has been here since a very long time ago (at least a year.)
In traffic_cop.cpp : 306 we prematurely start a transaction as soon as we see that this is a single statement or a begin immediately after parsing, before execute. We attempt to begin the transaction again in the execute phase in some twisted logic.
This is clearly wrong, and makes it extremely hard to reason about what's actually happening in tcop. We haven't been able to seriously exploit this to a bug, and it might just work out in some twisted manner, but we should remove this.
To test it out yourself you can just type ROLLBACK into a psql session and it will keep starting new transactions before immediately rolling them back, as opposed to telling you that no transaction can be rolled back (like postgres does). Alternatively, type in a PREPARE and see a transaction get started.
Just... wat?
The text was updated successfully, but these errors were encountered:
For some unknown reason this bug has been here since a very long time ago (at least a year.)
In traffic_cop.cpp : 306 we prematurely start a transaction as soon as we see that this is a single statement or a begin immediately after parsing, before execute. We attempt to begin the transaction again in the execute phase in some twisted logic.
This is clearly wrong, and makes it extremely hard to reason about what's actually happening in tcop. We haven't been able to seriously exploit this to a bug, and it might just work out in some twisted manner, but we should remove this.
To test it out yourself you can just type ROLLBACK into a psql session and it will keep starting new transactions before immediately rolling them back, as opposed to telling you that no transaction can be rolled back (like postgres does). Alternatively, type in a PREPARE and see a transaction get started.
Just... wat?
The text was updated successfully, but these errors were encountered: