Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Suggestion




 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




Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group