Postgresql prepared transactions
Hi,
I do following commands
test=# BEGIN;
BEGIN
test=# insert into testxa1 values(1);
INSERT 0 1
test=# insert ddddduuuuuppppp;
ERROR: syntax error at or near "ddddduuuuuppppp"
LINE 1: insert ddddduuuuuppppp;
^
test=# PREPARE TRANSACTION 'a';
ROLLBACK
Why on prepare transaction I got rollback. If I skip error, each RM will try
to do two-phase commit, but it's looks impossible to do two-phase commit.
Regards,
Radek
=?utf-8?q?Rados=C5=82aw_Smogura?= <rsmogura@softperience.eu> writes:
I do following commands
test=# BEGIN;
BEGIN
test=# insert into testxa1 values(1);
INSERT 0 1
test=# insert ddddduuuuuppppp;
ERROR: syntax error at or near "ddddduuuuuppppp"
LINE 1: insert ddddduuuuuppppp;
^
test=# PREPARE TRANSACTION 'a';
ROLLBACK
Why on prepare transaction I got rollback.
Because the transaction had already failed due to the error. This is
the same as if you'd done a plain COMMIT at that point.
regards, tom lane
Tom Lane <tgl@sss.pgh.pa.us> Saturday 19 February 2011 00:48:00
=?utf-8?q?Rados=C5=82aw_Smogura?= <rsmogura@softperience.eu> writes:
I do following commands
test=# BEGIN;
BEGIN
test=# insert into testxa1 values(1);
INSERT 0 1
test=# insert ddddduuuuuppppp;
ERROR: syntax error at or near "ddddduuuuuppppp"
LINE 1: insert ddddduuuuuppppp;^
test=# PREPARE TRANSACTION 'a';
ROLLBACKWhy on prepare transaction I got rollback.
Because the transaction had already failed due to the error. This is
the same as if you'd done a plain COMMIT at that point.regards, tom lane
Sorry, my wrong. I thought I can commit or rollback. In any way next bug JDBC.
Regards
Hi,
In any way may I ask to add information in protocol-message-formats.html that
for command status for queries like COMMIT, ROLLBACK, PREPARE TRANSACTION
status may be ROLLBACK. It is important for XA resources to check what
actually happend. I can't find this in documentation as well.
Radek,
Radosław Smogura <rsmogura@softperience.eu> Saturday 19 February 2011 01:02:36
Show quoted text
Tom Lane <tgl@sss.pgh.pa.us> Saturday 19 February 2011 00:48:00
=?utf-8?q?Rados=C5=82aw_Smogura?= <rsmogura@softperience.eu> writes:
I do following commands
test=# BEGIN;
BEGIN
test=# insert into testxa1 values(1);
INSERT 0 1
test=# insert ddddduuuuuppppp;
ERROR: syntax error at or near "ddddduuuuuppppp"
LINE 1: insert ddddduuuuuppppp;^
test=# PREPARE TRANSACTION 'a';
ROLLBACKWhy on prepare transaction I got rollback.
Because the transaction had already failed due to the error. This is
the same as if you'd done a plain COMMIT at that point.regards, tom lane
Sorry, my wrong. I thought I can commit or rollback. In any way next bug
JDBC.Regards