---------------------------------------------------------------------------------
``0Z000`` `!DiagnosticsException` `!DatabaseError`
``0Z002`` `!StackedDiagnosticsAccessedWithoutActiveHandler` `!DatabaseError`
+**Class 10** - XQuery Error
+---------------------------------------------------------------------------------
+``10608`` `!InvalidArgumentForXquery` `!ProgrammingError`
**Class 20** - Case Not Found
---------------------------------------------------------------------------------
``20000`` `!CaseNotFound` `!ProgrammingError`
``58030`` `!IoError` `!OperationalError`
``58P01`` `!UndefinedFile` `!OperationalError`
``58P02`` `!DuplicateFile` `!OperationalError`
+``58P03`` `!FileNameTooLong` `!OperationalError`
**Class 72** - Snapshot Failure
---------------------------------------------------------------------------------
``72000`` `!SnapshotTooOld` `!DatabaseError`
.. versionadded:: 3.2.3
Exception `!TransactionTimeout`, introduced in PostgreSQL 17.
+
+.. versionadded:: NOMERGE
+ Exception `!InvalidArgumentForXquery`, `FileNameTooLong`, introduced in
+ PostgreSQL 18.
_base_exc_map = {
"08": OperationalError, # Connection Exception
"0A": NotSupportedError, # Feature Not Supported
+ "10": ProgrammingError, # XQuery Error
"20": ProgrammingError, # Case Not Foud
"21": ProgrammingError, # Cardinality Violation
"22": DataError, # Data Exception
pass
+# Class 10 - XQuery Error
+
+class InvalidArgumentForXquery(ProgrammingError,
+ code='10608', name='INVALID_ARGUMENT_FOR_XQUERY'):
+ pass
+
+
# Class 20 - Case Not Found
class CaseNotFound(ProgrammingError,
code='58P02', name='DUPLICATE_FILE'):
pass
+class FileNameTooLong(OperationalError,
+ code='58P03', name='FILE_NAME_TOO_LONG'):
+ pass
+
# Class 72 - Snapshot Failure
def main():
# Note: add "master" for a preview
- classes, errors = fetch_errors("9.6 10 11 12 13 14 15 16 17".split())
+ classes, errors = fetch_errors("9.6 10 11 12 13 14 15 16 17 18".split())
fn = os.path.dirname(__file__) + "/../psycopg/psycopg/errors.py"
update_file(fn, generate_module_data(classes, errors))