Hi All!
I don't know if this is the right place to write. I was redirected here
from the psycopg list (a Python PostgreSQL interface).
They told me what I want is not to be done in the python extension lib
because it is in the heart of PostgreSQL.
Here is my problem. Every time an error occurs (e.g. I try to execute a
SQL query and it fails) something happens to the backend.
It is starting not to execute further commands in the same transaction.
Why is that? I would like to decide if I want to continue my transaction
or not. In my situation, I just can't tell if a command
will fail or not. It would be too hard and too slow to determine if my
command will fail or not. (Consider a difficult UPDATE
command in a large database with many constraints -- you just cannot
check if it will fail.) Hey, this is why exceptions was
born! From the other side, I must be able to commit or rollback all my
changes at the end of the block, depending on several
things. I think this situlation is real and the problem is real. I had
no such problems with FireBird, Oracle, MS SQL and SAP-DB.
However, I still think PostgreSQL is the most advanced one. (Exception
is Oracle which has a horrible price...)
I'm not sure about this, but I think it would not be too hard to
implement this as a setting.
For example,. it could be an extension to 'SET SESSION CHARACTERISTICS'.
I'm not a DB guru but I learnt DB implementation techniques and AFAIK
there is no implementation barrier here.
The backend could continue processing commands without big
logical/concurrency/transaction handling problems.
Can you help me please? Any developer out there who can explain this?
Comments welcome.
Cheers,
G