Sqlstate 07006 ..

Hallo,

heute ereilte mich ein unerwarteter SQLSTATE (via jdbc - tut aber nix zur Sache). Und zwar der 07006. Eigentlich dachte ich, dass ich alle möglichen SQLSTATE berücksichtige, da ich das komplette Appendix A der PG Doku berücksichtigt “behandle”. Nur dieser traf meine Anwendung direkt von hinten durch die Brust ins Auge. Offensichtlich ist Appendix A - PG Error Codes nicht komplett !?. Hat jemand eine bessere Quelle ?

Ich habe zum Thema SQLSTATE /-CODE noch diese Quelle:
http://developer.postgresql.org/pgdocs/postgres/ecpg-errors.html
herangezogen, und meine Fehlerbehandlung um jene SQLSTATEs bereichert, die dort aufgeführt, aber nicht in der Doku sind.

Gibts noch weitere SQLSTATE die mich überraschen könnten?

Oder kann ich davon ausgehen, dass einfach auch alle anderen SQLSTATE (nach SQL 92) relevant sind ?

Gruß

Komplett wohl schon - aus Sicht von PG. Du verwendest JDBC. Das ist was anderes. Guggst Du hier:
Cross Reference: /sfw/usr/src/cmd/postgres/postgresql-8.1-jdbc/postgresql-jdbc-8.1-404.src/org/postgresql/util/PSQLState.java


Ich habe zum Thema SQLSTATE /-CODE noch diese Quelle:
http://developer.postgresql.org/pgdocs/postgres/ecpg-errors.html

Das wiederum ist ECPG.


Gibts noch weitere SQLSTATE die mich überraschen könnten?

Depends. Möglicherweise falls Du mal die Schnittstelle wechselst, z.B. auf ODBC.



Andreas

Schon klar - Präprozessor - wollte nur drauf hinweisen, dass diese bereits bekannt sind. Meiner “Fehler”-Behandlung ist die grundsätzliche Ursache der Meldung erstmal egal. Ich will ja mehrere Backend-Typen unterstützen und mappe daher Fehler der speziellen (hier PG) auf meine Eigenen “Interpretationen” dieser Fehler. Ich weiss ja nicht ob Präprozessor-Fehler durch PG (ist ja auch C-Code) produziert werden. Kann ja nicht schaden auf Fehler reagieren zu können, die EIGENTLICH nicht auftreten sollten ?!?!

Nö das wird nicht passieren

der Tip mal in den Quellcode zu schauen war wie zu erwarten kein Schlechter :slight_smile: Hatte nur eben vermutet, dass der Fehlercode vom Backend stammt, dass der im Treiber produziert würde - darauf kam ich nicht.


Danke & Gruß