From: Masataka S. <pg...@gm...> - 2013-10-03 09:45:26
|
Hello, all. I found Postgres-XC returns different error code from PostgreSQL's one for repeated rollback, and it makes a pgjdbc's regression test case fail. PostgreSQL returns error code 42704 which is defined as ERRCODE_UNDEFINED_OBJECT. It is maybe returned in src/backend/access/transam/twophase.c::LockGXact. Postgres-XC returns error code XX000 which is defined as ERRCODE_INTERNAL_ERROR It is maybe returned in src/backend/pgxc/pool/execRemote.c::FinishRemotePreparedTransaction. Error messages are quite similar. I will show it at the next line. > prepared transaction with identifier "0_8fHx8fF5/OCyZd9xZmJ2MSPCE1olci037CNQYoXoVCKbi63JcZIoUeJxU7PKl/t4qI4xV1agFPE+9gRrzheGHA==_BAUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" does not exist. Does anyone know ... * Why they have different error codes, and is it reasonable? * To fix the code affects other components? You can reproduce using pgjdbc's regression test. The source code of the test is org.postgresql.test.xa.XADataSourceTest.testRepeatedRolledBack. > http://sourceforge.net/p/postgres-xc/pgjdbc-xc/ci/master/tree/org/postgresql/test/xa/XADataSourceTest.java#l331 Regards. |