Last active
February 21, 2023 10:00
-
-
Save skamensky/383b83d3c7b5cfc422246b1741756772 to your computer and use it in GitHub Desktop.
Python type hinting for the PL/Python language module. Module documentation can be found in various subpages of the plpython docs https://www.postgresql.org/docs/15/plpython.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""Python type hinting for the PL/Python language module. Module documentation can be found in various subpages of the plpython docs https://www.postgresql.org/docs/15/plpython.html | |
This file was written by investigating the runtime plpy attributes and by reading the source code https://github.com/postgres/postgres/tree/master/src/pl/plpython | |
""" | |
from contextlib import contextmanager, AbstractContextManager | |
from typing import Union, Optional, Literal, List, Any, Dict, Iterable, ContextManager | |
# spi vals taken from https://github.com/postgres/postgres/blob/8028e294b456bf1539649527fd98b3985fa4752a/src/include/executor/spi.h | |
SPI_ERROR_CONNECT = -1 | |
SPI_ERROR_COPY = -2 | |
SPI_ERROR_OPUNKNOWN = -3 | |
SPI_ERROR_UNCONNECTED = -4 | |
SPI_ERROR_CURSOR = -5 # not used anymore | |
SPI_ERROR_ARGUMENT = -6 | |
SPI_ERROR_PARAM = -7 | |
SPI_ERROR_TRANSACTION = -8 | |
SPI_ERROR_NOATTRIBUTE = -9 | |
SPI_ERROR_NOOUTFUNC = -10 | |
SPI_ERROR_TYPUNKNOWN = -11 | |
SPI_ERROR_REL_DUPLICATE = -12 | |
SPI_ERROR_REL_NOT_FOUND = -13 | |
SPI_OK_CONNECT = 1 | |
SPI_OK_FINISH = 2 | |
SPI_OK_FETCH = 3 | |
SPI_OK_UTILITY = 4 | |
SPI_OK_SELECT = 5 | |
SPI_OK_SELINTO = 6 | |
SPI_OK_INSERT = 7 | |
SPI_OK_DELETE = 8 | |
SPI_OK_UPDATE = 9 | |
SPI_OK_CURSOR = 10 | |
SPI_OK_INSERT_RETURNING = 11 | |
SPI_OK_DELETE_RETURNING = 12 | |
SPI_OK_UPDATE_RETURNING = 13 | |
SPI_OK_REWRITTEN = 14 | |
SPI_OK_REL_REGISTER = 15 | |
SPI_OK_REL_UNREGISTER = 16 | |
SPI_OK_TD_REGISTER = 17 | |
SPI_OK_MERGE = 18 | |
SPI_RESULT = Union[ | |
Literal[SPI_ERROR_CONNECT], | |
Literal[SPI_ERROR_COPY], | |
Literal[SPI_ERROR_OPUNKNOWN], | |
Literal[SPI_ERROR_UNCONNECTED], | |
Literal[SPI_ERROR_CURSOR], | |
Literal[SPI_ERROR_ARGUMENT], | |
Literal[SPI_ERROR_PARAM], | |
Literal[SPI_ERROR_TRANSACTION], | |
Literal[SPI_ERROR_NOATTRIBUTE], | |
Literal[SPI_ERROR_NOOUTFUNC], | |
Literal[SPI_ERROR_TYPUNKNOWN], | |
Literal[SPI_ERROR_REL_DUPLICATE], | |
Literal[SPI_ERROR_REL_NOT_FOUND], | |
Literal[SPI_OK_CONNECT], | |
Literal[SPI_OK_FINISH], | |
Literal[SPI_OK_FETCH], | |
Literal[SPI_OK_UTILITY], | |
Literal[SPI_OK_SELECT], | |
Literal[SPI_OK_SELINTO], | |
Literal[SPI_OK_INSERT], | |
Literal[SPI_OK_DELETE], | |
Literal[SPI_OK_UPDATE], | |
Literal[SPI_OK_CURSOR], | |
Literal[SPI_OK_INSERT_RETURNING], | |
Literal[SPI_OK_DELETE_RETURNING], | |
Literal[SPI_OK_UPDATE_RETURNING], | |
Literal[SPI_OK_REWRITTEN], | |
Literal[SPI_OK_REL_REGISTER], | |
Literal[SPI_OK_REL_UNREGISTER], | |
Literal[SPI_OK_TD_REGISTER], | |
Literal[SPI_OK_MERGE], | |
] | |
ERRCODE_SUCCESSFUL_COMPLETION = "00000" # Type: Success postgres comment: successful_completion | |
ERRCODE_WARNING = "01000" # Type: Warning postgres comment: warning | |
ERRCODE_WARNING_DYNAMIC_RESULT_SETS_RETURNED = "0100C" # Type: Warning postgres comment: dynamic_result_sets_returned | |
ERRCODE_WARNING_IMPLICIT_ZERO_BIT_PADDING = "01008" # Type: Warning postgres comment: implicit_zero_bit_padding | |
ERRCODE_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION = "01003" # Type: Warning postgres comment: null_value_eliminated_in_set_function | |
ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED = "01007" # Type: Warning postgres comment: privilege_not_granted | |
ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED = "01006" # Type: Warning postgres comment: privilege_not_revoked | |
ERRCODE_WARNING_STRING_DATA_RIGHT_TRUNCATION = "01004" # Type: Warning postgres comment: string_data_right_truncation | |
ERRCODE_WARNING_DEPRECATED_FEATURE = "01P01" # Type: Warning postgres comment: deprecated_feature | |
ERRCODE_NO_DATA = "02000" # Type: Warning postgres comment: no_data | |
ERRCODE_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED = "02001" # Type: Warning postgres comment: no_additional_dynamic_result_sets_returned | |
ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE = "03000" # Type: Error postgres comment: sql_statement_not_yet_complete | |
ERRCODE_CONNECTION_EXCEPTION = "08000" # Type: Error postgres comment: connection_exception | |
ERRCODE_CONNECTION_DOES_NOT_EXIST = "08003" # Type: Error postgres comment: connection_does_not_exist | |
ERRCODE_CONNECTION_FAILURE = "08006" # Type: Error postgres comment: connection_failure | |
ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION = "08001" # Type: Error postgres comment: sqlclient_unable_to_establish_sqlconnection | |
ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION = "08004" # Type: Error postgres comment: sqlserver_rejected_establishment_of_sqlconnection | |
ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN = "08007" # Type: Error postgres comment: transaction_resolution_unknown | |
ERRCODE_PROTOCOL_VIOLATION = "08P01" # Type: Error postgres comment: protocol_violation | |
ERRCODE_TRIGGERED_ACTION_EXCEPTION = "09000" # Type: Error postgres comment: triggered_action_exception | |
ERRCODE_FEATURE_NOT_SUPPORTED = "0A000" # Type: Error postgres comment: feature_not_supported | |
ERRCODE_INVALID_TRANSACTION_INITIATION = "0B000" # Type: Error postgres comment: invalid_transaction_initiation | |
ERRCODE_LOCATOR_EXCEPTION = "0F000" # Type: Error postgres comment: locator_exception | |
ERRCODE_L_E_INVALID_SPECIFICATION = "0F001" # Type: Error postgres comment: invalid_locator_specification | |
ERRCODE_INVALID_GRANTOR = "0L000" # Type: Error postgres comment: invalid_grantor | |
ERRCODE_INVALID_GRANT_OPERATION = "0LP01" # Type: Error postgres comment: invalid_grant_operation | |
ERRCODE_INVALID_ROLE_SPECIFICATION = "0P000" # Type: Error postgres comment: invalid_role_specification | |
ERRCODE_DIAGNOSTICS_EXCEPTION = "0Z000" # Type: Error postgres comment: diagnostics_exception | |
ERRCODE_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = "0Z002" # Type: Error postgres comment: stacked_diagnostics_accessed_without_active_handler | |
ERRCODE_CASE_NOT_FOUND = "20000" # Type: Error postgres comment: case_not_found | |
ERRCODE_CARDINALITY_VIOLATION = "21000" # Type: Error postgres comment: cardinality_violation | |
ERRCODE_DATA_EXCEPTION = "22000" # Type: Error postgres comment: data_exception | |
ERRCODE_ARRAY_ELEMENT_ERROR = "2202E" # postgres comment: E | |
ERRCODE_ARRAY_SUBSCRIPT_ERROR = "2202E" # Type: Error postgres comment: array_subscript_error | |
ERRCODE_CHARACTER_NOT_IN_REPERTOIRE = "22021" # Type: Error postgres comment: character_not_in_repertoire | |
ERRCODE_DATETIME_FIELD_OVERFLOW = "22008" # Type: Error postgres comment: datetime_field_overflow | |
ERRCODE_DATETIME_VALUE_OUT_OF_RANGE = "22008" # postgres comment: E | |
ERRCODE_DIVISION_BY_ZERO = "22012" # Type: Error postgres comment: division_by_zero | |
ERRCODE_ERROR_IN_ASSIGNMENT = "22005" # Type: Error postgres comment: error_in_assignment | |
ERRCODE_ESCAPE_CHARACTER_CONFLICT = "2200B" # Type: Error postgres comment: escape_character_conflict | |
ERRCODE_INDICATOR_OVERFLOW = "22022" # Type: Error postgres comment: indicator_overflow | |
ERRCODE_INTERVAL_FIELD_OVERFLOW = "22015" # Type: Error postgres comment: interval_field_overflow | |
ERRCODE_INVALID_ARGUMENT_FOR_LOG = "2201E" # Type: Error postgres comment: invalid_argument_for_logarithm | |
ERRCODE_INVALID_ARGUMENT_FOR_NTILE = "22014" # Type: Error postgres comment: invalid_argument_for_ntile_function | |
ERRCODE_INVALID_ARGUMENT_FOR_NTH_VALUE = "22016" # Type: Error postgres comment: invalid_argument_for_nth_value_function | |
ERRCODE_INVALID_ARGUMENT_FOR_POWER_FUNCTION = "2201F" # Type: Error postgres comment: invalid_argument_for_power_function | |
ERRCODE_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION = "2201G" # Type: Error postgres comment: invalid_argument_for_width_bucket_function | |
ERRCODE_INVALID_CHARACTER_VALUE_FOR_CAST = "22018" # Type: Error postgres comment: invalid_character_value_for_cast | |
ERRCODE_INVALID_DATETIME_FORMAT = "22007" # Type: Error postgres comment: invalid_datetime_format | |
ERRCODE_INVALID_ESCAPE_CHARACTER = "22019" # Type: Error postgres comment: invalid_escape_character | |
ERRCODE_INVALID_ESCAPE_OCTET = "2200D" # Type: Error postgres comment: invalid_escape_octet | |
ERRCODE_INVALID_ESCAPE_SEQUENCE = "22025" # Type: Error postgres comment: invalid_escape_sequence | |
ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER = "22P06" # Type: Error postgres comment: nonstandard_use_of_escape_character | |
ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE = "22010" # Type: Error postgres comment: invalid_indicator_parameter_value | |
ERRCODE_INVALID_PARAMETER_VALUE = "22023" # Type: Error postgres comment: invalid_parameter_value | |
ERRCODE_INVALID_PRECEDING_OR_FOLLOWING_SIZE = "22013" # Type: Error postgres comment: invalid_preceding_or_following_size | |
ERRCODE_INVALID_REGULAR_EXPRESSION = "2201B" # Type: Error postgres comment: invalid_regular_expression | |
ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE = "2201W" # Type: Error postgres comment: invalid_row_count_in_limit_clause | |
ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE = "2201X" # Type: Error postgres comment: invalid_row_count_in_result_offset_clause | |
ERRCODE_INVALID_TABLESAMPLE_ARGUMENT = "2202H" # Type: Error postgres comment: invalid_tablesample_argument | |
ERRCODE_INVALID_TABLESAMPLE_REPEAT = "2202G" # Type: Error postgres comment: invalid_tablesample_repeat | |
ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE = "22009" # Type: Error postgres comment: invalid_time_zone_displacement_value | |
ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER = "2200C" # Type: Error postgres comment: invalid_use_of_escape_character | |
ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH = "2200G" # Type: Error postgres comment: most_specific_type_mismatch | |
ERRCODE_NULL_VALUE_NOT_ALLOWED = "22004" # Type: Error postgres comment: null_value_not_allowed | |
ERRCODE_NULL_VALUE_NO_INDICATOR_PARAMETER = "22002" # Type: Error postgres comment: null_value_no_indicator_parameter | |
ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE = "22003" # Type: Error postgres comment: numeric_value_out_of_range | |
ERRCODE_SEQUENCE_GENERATOR_LIMIT_EXCEEDED = "2200H" # Type: Error postgres comment: sequence_generator_limit_exceeded | |
ERRCODE_STRING_DATA_LENGTH_MISMATCH = "22026" # Type: Error postgres comment: string_data_length_mismatch | |
ERRCODE_STRING_DATA_RIGHT_TRUNCATION = "22001" # Type: Error postgres comment: string_data_right_truncation | |
ERRCODE_SUBSTRING_ERROR = "22011" # Type: Error postgres comment: substring_error | |
ERRCODE_TRIM_ERROR = "22027" # Type: Error postgres comment: trim_error | |
ERRCODE_UNTERMINATED_C_STRING = "22024" # Type: Error postgres comment: unterminated_c_string | |
ERRCODE_ZERO_LENGTH_CHARACTER_STRING = "2200F" # Type: Error postgres comment: zero_length_character_string | |
ERRCODE_FLOATING_POINT_EXCEPTION = "22P01" # Type: Error postgres comment: floating_point_exception | |
ERRCODE_INVALID_TEXT_REPRESENTATION = "22P02" # Type: Error postgres comment: invalid_text_representation | |
ERRCODE_INVALID_BINARY_REPRESENTATION = "22P03" # Type: Error postgres comment: invalid_binary_representation | |
ERRCODE_BAD_COPY_FILE_FORMAT = "22P04" # Type: Error postgres comment: bad_copy_file_format | |
ERRCODE_UNTRANSLATABLE_CHARACTER = "22P05" # Type: Error postgres comment: untranslatable_character | |
ERRCODE_NOT_AN_XML_DOCUMENT = "2200L" # Type: Error postgres comment: not_an_xml_document | |
ERRCODE_INVALID_XML_DOCUMENT = "2200M" # Type: Error postgres comment: invalid_xml_document | |
ERRCODE_INVALID_XML_CONTENT = "2200N" # Type: Error postgres comment: invalid_xml_content | |
ERRCODE_INVALID_XML_COMMENT = "2200S" # Type: Error postgres comment: invalid_xml_comment | |
ERRCODE_INVALID_XML_PROCESSING_INSTRUCTION = "2200T" # Type: Error postgres comment: invalid_xml_processing_instruction | |
ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE = "22030" # Type: Error postgres comment: duplicate_json_object_key_value | |
ERRCODE_INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION = "22031" # Type: Error postgres comment: invalid_argument_for_sql_json_datetime_function | |
ERRCODE_INVALID_JSON_TEXT = "22032" # Type: Error postgres comment: invalid_json_text | |
ERRCODE_INVALID_SQL_JSON_SUBSCRIPT = "22033" # Type: Error postgres comment: invalid_sql_json_subscript | |
ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM = "22034" # Type: Error postgres comment: more_than_one_sql_json_item | |
ERRCODE_NO_SQL_JSON_ITEM = "22035" # Type: Error postgres comment: no_sql_json_item | |
ERRCODE_NON_NUMERIC_SQL_JSON_ITEM = "22036" # Type: Error postgres comment: non_numeric_sql_json_item | |
ERRCODE_NON_UNIQUE_KEYS_IN_A_JSON_OBJECT = "22037" # Type: Error postgres comment: non_unique_keys_in_a_json_object | |
ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED = "22038" # Type: Error postgres comment: singleton_sql_json_item_required | |
ERRCODE_SQL_JSON_ARRAY_NOT_FOUND = "22039" # Type: Error postgres comment: sql_json_array_not_found | |
ERRCODE_SQL_JSON_MEMBER_NOT_FOUND = "2203A" # Type: Error postgres comment: sql_json_member_not_found | |
ERRCODE_SQL_JSON_NUMBER_NOT_FOUND = "2203B" # Type: Error postgres comment: sql_json_number_not_found | |
ERRCODE_SQL_JSON_OBJECT_NOT_FOUND = "2203C" # Type: Error postgres comment: sql_json_object_not_found | |
ERRCODE_TOO_MANY_JSON_ARRAY_ELEMENTS = "2203D" # Type: Error postgres comment: too_many_json_array_elements | |
ERRCODE_TOO_MANY_JSON_OBJECT_MEMBERS = "2203E" # Type: Error postgres comment: too_many_json_object_members | |
ERRCODE_SQL_JSON_SCALAR_REQUIRED = "2203F" # Type: Error postgres comment: sql_json_scalar_required | |
ERRCODE_SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE = "2203G" # Type: Error postgres comment: sql_json_item_cannot_be_cast_to_target_type | |
ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION = "23000" # Type: Error postgres comment: integrity_constraint_violation | |
ERRCODE_RESTRICT_VIOLATION = "23001" # Type: Error postgres comment: restrict_violation | |
ERRCODE_NOT_NULL_VIOLATION = "23502" # Type: Error postgres comment: not_null_violation | |
ERRCODE_FOREIGN_KEY_VIOLATION = "23503" # Type: Error postgres comment: foreign_key_violation | |
ERRCODE_UNIQUE_VIOLATION = "23505" # Type: Error postgres comment: unique_violation | |
ERRCODE_CHECK_VIOLATION = "23514" # Type: Error postgres comment: check_violation | |
ERRCODE_EXCLUSION_VIOLATION = "23P01" # Type: Error postgres comment: exclusion_violation | |
ERRCODE_INVALID_CURSOR_STATE = "24000" # Type: Error postgres comment: invalid_cursor_state | |
ERRCODE_INVALID_TRANSACTION_STATE = "25000" # Type: Error postgres comment: invalid_transaction_state | |
ERRCODE_ACTIVE_SQL_TRANSACTION = "25001" # Type: Error postgres comment: active_sql_transaction | |
ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE = "25002" # Type: Error postgres comment: branch_transaction_already_active | |
ERRCODE_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL = "25008" # Type: Error postgres comment: held_cursor_requires_same_isolation_level | |
ERRCODE_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION = "25003" # Type: Error postgres comment: inappropriate_access_mode_for_branch_transaction | |
ERRCODE_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION = "25004" # Type: Error postgres comment: inappropriate_isolation_level_for_branch_transaction | |
ERRCODE_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION = "25005" # Type: Error postgres comment: no_active_sql_transaction_for_branch_transaction | |
ERRCODE_READ_ONLY_SQL_TRANSACTION = "25006" # Type: Error postgres comment: read_only_sql_transaction | |
ERRCODE_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED = "25007" # Type: Error postgres comment: schema_and_data_statement_mixing_not_supported | |
ERRCODE_NO_ACTIVE_SQL_TRANSACTION = "25P01" # Type: Error postgres comment: no_active_sql_transaction | |
ERRCODE_IN_FAILED_SQL_TRANSACTION = "25P02" # Type: Error postgres comment: in_failed_sql_transaction | |
ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT = "25P03" # Type: Error postgres comment: idle_in_transaction_session_timeout | |
ERRCODE_INVALID_SQL_STATEMENT_NAME = "26000" # Type: Error postgres comment: invalid_sql_statement_name | |
ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION = "27000" # Type: Error postgres comment: triggered_data_change_violation | |
ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION = "28000" # Type: Error postgres comment: invalid_authorization_specification | |
ERRCODE_INVALID_PASSWORD = "28P01" # Type: Error postgres comment: invalid_password | |
ERRCODE_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST = "2B000" # Type: Error postgres comment: dependent_privilege_descriptors_still_exist | |
ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST = "2BP01" # Type: Error postgres comment: dependent_objects_still_exist | |
ERRCODE_INVALID_TRANSACTION_TERMINATION = "2D000" # Type: Error postgres comment: invalid_transaction_termination | |
ERRCODE_SQL_ROUTINE_EXCEPTION = "2F000" # Type: Error postgres comment: sql_routine_exception | |
ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT = "2F005" # Type: Error postgres comment: function_executed_no_return_statement | |
ERRCODE_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED = "2F002" # Type: Error postgres comment: modifying_sql_data_not_permitted | |
ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED = "2F003" # Type: Error postgres comment: prohibited_sql_statement_attempted | |
ERRCODE_S_R_E_READING_SQL_DATA_NOT_PERMITTED = "2F004" # Type: Error postgres comment: reading_sql_data_not_permitted | |
ERRCODE_INVALID_CURSOR_NAME = "34000" # Type: Error postgres comment: invalid_cursor_name | |
ERRCODE_EXTERNAL_ROUTINE_EXCEPTION = "38000" # Type: Error postgres comment: external_routine_exception | |
ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED = "38001" # Type: Error postgres comment: containing_sql_not_permitted | |
ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED = "38002" # Type: Error postgres comment: modifying_sql_data_not_permitted | |
ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED = "38003" # Type: Error postgres comment: prohibited_sql_statement_attempted | |
ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED = "38004" # Type: Error postgres comment: reading_sql_data_not_permitted | |
ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION = "39000" # Type: Error postgres comment: external_routine_invocation_exception | |
ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED = "39001" # Type: Error postgres comment: invalid_sqlstate_returned | |
ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED = "39004" # Type: Error postgres comment: null_value_not_allowed | |
ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED = "39P01" # Type: Error postgres comment: trigger_protocol_violated | |
ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED = "39P02" # Type: Error postgres comment: srf_protocol_violated | |
ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED = "39P03" # Type: Error postgres comment: event_trigger_protocol_violated | |
ERRCODE_SAVEPOINT_EXCEPTION = "3B000" # Type: Error postgres comment: savepoint_exception | |
ERRCODE_S_E_INVALID_SPECIFICATION = "3B001" # Type: Error postgres comment: invalid_savepoint_specification | |
ERRCODE_INVALID_CATALOG_NAME = "3D000" # Type: Error postgres comment: invalid_catalog_name | |
ERRCODE_INVALID_SCHEMA_NAME = "3F000" # Type: Error postgres comment: invalid_schema_name | |
ERRCODE_TRANSACTION_ROLLBACK = "40000" # Type: Error postgres comment: transaction_rollback | |
ERRCODE_T_R_INTEGRITY_CONSTRAINT_VIOLATION = "40002" # Type: Error postgres comment: transaction_integrity_constraint_violation | |
ERRCODE_T_R_SERIALIZATION_FAILURE = "40001" # Type: Error postgres comment: serialization_failure | |
ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN = "40003" # Type: Error postgres comment: statement_completion_unknown | |
ERRCODE_T_R_DEADLOCK_DETECTED = "40P01" # Type: Error postgres comment: deadlock_detected | |
ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION = "42000" # Type: Error postgres comment: syntax_error_or_access_rule_violation | |
ERRCODE_SYNTAX_ERROR = "42601" # Type: Error postgres comment: syntax_error | |
ERRCODE_INSUFFICIENT_PRIVILEGE = "42501" # Type: Error postgres comment: insufficient_privilege | |
ERRCODE_CANNOT_COERCE = "42846" # Type: Error postgres comment: cannot_coerce | |
ERRCODE_GROUPING_ERROR = "42803" # Type: Error postgres comment: grouping_error | |
ERRCODE_WINDOWING_ERROR = "42P20" # Type: Error postgres comment: windowing_error | |
ERRCODE_INVALID_RECURSION = "42P19" # Type: Error postgres comment: invalid_recursion | |
ERRCODE_INVALID_FOREIGN_KEY = "42830" # Type: Error postgres comment: invalid_foreign_key | |
ERRCODE_INVALID_NAME = "42602" # Type: Error postgres comment: invalid_name | |
ERRCODE_NAME_TOO_LONG = "42622" # Type: Error postgres comment: name_too_long | |
ERRCODE_RESERVED_NAME = "42939" # Type: Error postgres comment: reserved_name | |
ERRCODE_DATATYPE_MISMATCH = "42804" # Type: Error postgres comment: datatype_mismatch | |
ERRCODE_INDETERMINATE_DATATYPE = "42P18" # Type: Error postgres comment: indeterminate_datatype | |
ERRCODE_COLLATION_MISMATCH = "42P21" # Type: Error postgres comment: collation_mismatch | |
ERRCODE_INDETERMINATE_COLLATION = "42P22" # Type: Error postgres comment: indeterminate_collation | |
ERRCODE_WRONG_OBJECT_TYPE = "42809" # Type: Error postgres comment: wrong_object_type | |
ERRCODE_GENERATED_ALWAYS = "428C9" # Type: Error postgres comment: generated_always | |
ERRCODE_UNDEFINED_COLUMN = "42703" # Type: Error postgres comment: undefined_column | |
ERRCODE_UNDEFINED_CURSOR = "34000" # postgres comment: E | |
ERRCODE_UNDEFINED_DATABASE = "3D000" # postgres comment: E | |
ERRCODE_UNDEFINED_FUNCTION = "42883" # Type: Error postgres comment: undefined_function | |
ERRCODE_UNDEFINED_PSTATEMENT = "26000" # postgres comment: E | |
ERRCODE_UNDEFINED_SCHEMA = "3F000" # postgres comment: E | |
ERRCODE_UNDEFINED_TABLE = "42P01" # Type: Error postgres comment: undefined_table | |
ERRCODE_UNDEFINED_PARAMETER = "42P02" # Type: Error postgres comment: undefined_parameter | |
ERRCODE_UNDEFINED_OBJECT = "42704" # Type: Error postgres comment: undefined_object | |
ERRCODE_DUPLICATE_COLUMN = "42701" # Type: Error postgres comment: duplicate_column | |
ERRCODE_DUPLICATE_CURSOR = "42P03" # Type: Error postgres comment: duplicate_cursor | |
ERRCODE_DUPLICATE_DATABASE = "42P04" # Type: Error postgres comment: duplicate_database | |
ERRCODE_DUPLICATE_FUNCTION = "42723" # Type: Error postgres comment: duplicate_function | |
ERRCODE_DUPLICATE_PSTATEMENT = "42P05" # Type: Error postgres comment: duplicate_prepared_statement | |
ERRCODE_DUPLICATE_SCHEMA = "42P06" # Type: Error postgres comment: duplicate_schema | |
ERRCODE_DUPLICATE_TABLE = "42P07" # Type: Error postgres comment: duplicate_table | |
ERRCODE_DUPLICATE_ALIAS = "42712" # Type: Error postgres comment: duplicate_alias | |
ERRCODE_DUPLICATE_OBJECT = "42710" # Type: Error postgres comment: duplicate_object | |
ERRCODE_AMBIGUOUS_COLUMN = "42702" # Type: Error postgres comment: ambiguous_column | |
ERRCODE_AMBIGUOUS_FUNCTION = "42725" # Type: Error postgres comment: ambiguous_function | |
ERRCODE_AMBIGUOUS_PARAMETER = "42P08" # Type: Error postgres comment: ambiguous_parameter | |
ERRCODE_AMBIGUOUS_ALIAS = "42P09" # Type: Error postgres comment: ambiguous_alias | |
ERRCODE_INVALID_COLUMN_REFERENCE = "42P10" # Type: Error postgres comment: invalid_column_reference | |
ERRCODE_INVALID_COLUMN_DEFINITION = "42611" # Type: Error postgres comment: invalid_column_definition | |
ERRCODE_INVALID_CURSOR_DEFINITION = "42P11" # Type: Error postgres comment: invalid_cursor_definition | |
ERRCODE_INVALID_DATABASE_DEFINITION = "42P12" # Type: Error postgres comment: invalid_database_definition | |
ERRCODE_INVALID_FUNCTION_DEFINITION = "42P13" # Type: Error postgres comment: invalid_function_definition | |
ERRCODE_INVALID_PSTATEMENT_DEFINITION = "42P14" # Type: Error postgres comment: invalid_prepared_statement_definition | |
ERRCODE_INVALID_SCHEMA_DEFINITION = "42P15" # Type: Error postgres comment: invalid_schema_definition | |
ERRCODE_INVALID_TABLE_DEFINITION = "42P16" # Type: Error postgres comment: invalid_table_definition | |
ERRCODE_INVALID_OBJECT_DEFINITION = "42P17" # Type: Error postgres comment: invalid_object_definition | |
ERRCODE_WITH_CHECK_OPTION_VIOLATION = "44000" # Type: Error postgres comment: with_check_option_violation | |
ERRCODE_INSUFFICIENT_RESOURCES = "53000" # Type: Error postgres comment: insufficient_resources | |
ERRCODE_DISK_FULL = "53100" # Type: Error postgres comment: disk_full | |
ERRCODE_OUT_OF_MEMORY = "53200" # Type: Error postgres comment: out_of_memory | |
ERRCODE_TOO_MANY_CONNECTIONS = "53300" # Type: Error postgres comment: too_many_connections | |
ERRCODE_CONFIGURATION_LIMIT_EXCEEDED = "53400" # Type: Error postgres comment: configuration_limit_exceeded | |
ERRCODE_PROGRAM_LIMIT_EXCEEDED = "54000" # Type: Error postgres comment: program_limit_exceeded | |
ERRCODE_STATEMENT_TOO_COMPLEX = "54001" # Type: Error postgres comment: statement_too_complex | |
ERRCODE_TOO_MANY_COLUMNS = "54011" # Type: Error postgres comment: too_many_columns | |
ERRCODE_TOO_MANY_ARGUMENTS = "54023" # Type: Error postgres comment: too_many_arguments | |
ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE = "55000" # Type: Error postgres comment: object_not_in_prerequisite_state | |
ERRCODE_OBJECT_IN_USE = "55006" # Type: Error postgres comment: object_in_use | |
ERRCODE_CANT_CHANGE_RUNTIME_PARAM = "55P02" # Type: Error postgres comment: cant_change_runtime_param | |
ERRCODE_LOCK_NOT_AVAILABLE = "55P03" # Type: Error postgres comment: lock_not_available | |
ERRCODE_UNSAFE_NEW_ENUM_VALUE_USAGE = "55P04" # Type: Error postgres comment: unsafe_new_enum_value_usage | |
ERRCODE_OPERATOR_INTERVENTION = "57000" # Type: Error postgres comment: operator_intervention | |
ERRCODE_QUERY_CANCELED = "57014" # Type: Error postgres comment: query_canceled | |
ERRCODE_ADMIN_SHUTDOWN = "57P01" # Type: Error postgres comment: admin_shutdown | |
ERRCODE_CRASH_SHUTDOWN = "57P02" # Type: Error postgres comment: crash_shutdown | |
ERRCODE_CANNOT_CONNECT_NOW = "57P03" # Type: Error postgres comment: cannot_connect_now | |
ERRCODE_DATABASE_DROPPED = "57P04" # Type: Error postgres comment: database_dropped | |
ERRCODE_IDLE_SESSION_TIMEOUT = "57P05" # Type: Error postgres comment: idle_session_timeout | |
ERRCODE_SYSTEM_ERROR = "58000" # Type: Error postgres comment: system_error | |
ERRCODE_IO_ERROR = "58030" # Type: Error postgres comment: io_error | |
ERRCODE_UNDEFINED_FILE = "58P01" # Type: Error postgres comment: undefined_file | |
ERRCODE_DUPLICATE_FILE = "58P02" # Type: Error postgres comment: duplicate_file | |
ERRCODE_SNAPSHOT_TOO_OLD = "72000" # Type: Error postgres comment: snapshot_too_old | |
ERRCODE_CONFIG_FILE_ERROR = "F0000" # Type: Error postgres comment: config_file_error | |
ERRCODE_LOCK_FILE_EXISTS = "F0001" # Type: Error postgres comment: lock_file_exists | |
ERRCODE_FDW_ERROR = "HV000" # Type: Error postgres comment: fdw_error | |
ERRCODE_FDW_COLUMN_NAME_NOT_FOUND = "HV005" # Type: Error postgres comment: fdw_column_name_not_found | |
ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = "HV002" # Type: Error postgres comment: fdw_dynamic_parameter_value_needed | |
ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR = "HV010" # Type: Error postgres comment: fdw_function_sequence_error | |
ERRCODE_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION = "HV021" # Type: Error postgres comment: fdw_inconsistent_descriptor_information | |
ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE = "HV024" # Type: Error postgres comment: fdw_invalid_attribute_value | |
ERRCODE_FDW_INVALID_COLUMN_NAME = "HV007" # Type: Error postgres comment: fdw_invalid_column_name | |
ERRCODE_FDW_INVALID_COLUMN_NUMBER = "HV008" # Type: Error postgres comment: fdw_invalid_column_number | |
ERRCODE_FDW_INVALID_DATA_TYPE = "HV004" # Type: Error postgres comment: fdw_invalid_data_type | |
ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS = "HV006" # Type: Error postgres comment: fdw_invalid_data_type_descriptors | |
ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER = "HV091" # Type: Error postgres comment: fdw_invalid_descriptor_field_identifier | |
ERRCODE_FDW_INVALID_HANDLE = "HV00B" # Type: Error postgres comment: fdw_invalid_handle | |
ERRCODE_FDW_INVALID_OPTION_INDEX = "HV00C" # Type: Error postgres comment: fdw_invalid_option_index | |
ERRCODE_FDW_INVALID_OPTION_NAME = "HV00D" # Type: Error postgres comment: fdw_invalid_option_name | |
ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH = "HV090" # Type: Error postgres comment: fdw_invalid_string_length_or_buffer_length | |
ERRCODE_FDW_INVALID_STRING_FORMAT = "HV00A" # Type: Error postgres comment: fdw_invalid_string_format | |
ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER = "HV009" # Type: Error postgres comment: fdw_invalid_use_of_null_pointer | |
ERRCODE_FDW_TOO_MANY_HANDLES = "HV014" # Type: Error postgres comment: fdw_too_many_handles | |
ERRCODE_FDW_OUT_OF_MEMORY = "HV001" # Type: Error postgres comment: fdw_out_of_memory | |
ERRCODE_FDW_NO_SCHEMAS = "HV00P" # Type: Error postgres comment: fdw_no_schemas | |
ERRCODE_FDW_OPTION_NAME_NOT_FOUND = "HV00J" # Type: Error postgres comment: fdw_option_name_not_found | |
ERRCODE_FDW_REPLY_HANDLE = "HV00K" # Type: Error postgres comment: fdw_reply_handle | |
ERRCODE_FDW_SCHEMA_NOT_FOUND = "HV00Q" # Type: Error postgres comment: fdw_schema_not_found | |
ERRCODE_FDW_TABLE_NOT_FOUND = "HV00R" # Type: Error postgres comment: fdw_table_not_found | |
ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION = "HV00L" # Type: Error postgres comment: fdw_unable_to_create_execution | |
ERRCODE_FDW_UNABLE_TO_CREATE_REPLY = "HV00M" # Type: Error postgres comment: fdw_unable_to_create_reply | |
ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION = "HV00N" # Type: Error postgres comment: fdw_unable_to_establish_connection | |
ERRCODE_PLPGSQL_ERROR = "P0000" # Type: Error postgres comment: plpgsql_error | |
ERRCODE_RAISE_EXCEPTION = "P0001" # Type: Error postgres comment: raise_exception | |
ERRCODE_NO_DATA_FOUND = "P0002" # Type: Error postgres comment: no_data_found | |
ERRCODE_TOO_MANY_ROWS = "P0003" # Type: Error postgres comment: too_many_rows | |
ERRCODE_ASSERT_FAILURE = "P0004" # Type: Error postgres comment: assert_failure | |
ERRCODE_INTERNAL_ERROR = "XX000" # Type: Error postgres comment: internal_error | |
ERRCODE_DATA_CORRUPTED = "XX001" # Type: Error postgres comment: data_corrupted | |
ERRCODE_INDEX_CORRUPTED = "XX002" # Type: Error postgres comment: index_corrupted | |
ERROR_CODE = Union[ | |
Literal[ERRCODE_SUCCESSFUL_COMPLETION], | |
Literal[ERRCODE_WARNING], | |
Literal[ERRCODE_WARNING_DYNAMIC_RESULT_SETS_RETURNED], | |
Literal[ERRCODE_WARNING_IMPLICIT_ZERO_BIT_PADDING], | |
Literal[ERRCODE_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION], | |
Literal[ERRCODE_WARNING_PRIVILEGE_NOT_GRANTED], | |
Literal[ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED], | |
Literal[ERRCODE_WARNING_STRING_DATA_RIGHT_TRUNCATION], | |
Literal[ERRCODE_WARNING_DEPRECATED_FEATURE], | |
Literal[ERRCODE_NO_DATA], | |
Literal[ERRCODE_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED], | |
Literal[ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE], | |
Literal[ERRCODE_CONNECTION_EXCEPTION], | |
Literal[ERRCODE_CONNECTION_DOES_NOT_EXIST], | |
Literal[ERRCODE_CONNECTION_FAILURE], | |
Literal[ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION], | |
Literal[ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION], | |
Literal[ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN], | |
Literal[ERRCODE_PROTOCOL_VIOLATION], | |
Literal[ERRCODE_TRIGGERED_ACTION_EXCEPTION], | |
Literal[ERRCODE_FEATURE_NOT_SUPPORTED], | |
Literal[ERRCODE_INVALID_TRANSACTION_INITIATION], | |
Literal[ERRCODE_LOCATOR_EXCEPTION], | |
Literal[ERRCODE_L_E_INVALID_SPECIFICATION], | |
Literal[ERRCODE_INVALID_GRANTOR], | |
Literal[ERRCODE_INVALID_GRANT_OPERATION], | |
Literal[ERRCODE_INVALID_ROLE_SPECIFICATION], | |
Literal[ERRCODE_DIAGNOSTICS_EXCEPTION], | |
Literal[ERRCODE_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER], | |
Literal[ERRCODE_CASE_NOT_FOUND], | |
Literal[ERRCODE_CARDINALITY_VIOLATION], | |
Literal[ERRCODE_DATA_EXCEPTION], | |
Literal[ERRCODE_ARRAY_ELEMENT_ERROR], | |
Literal[ERRCODE_ARRAY_SUBSCRIPT_ERROR], | |
Literal[ERRCODE_CHARACTER_NOT_IN_REPERTOIRE], | |
Literal[ERRCODE_DATETIME_FIELD_OVERFLOW], | |
Literal[ERRCODE_DATETIME_VALUE_OUT_OF_RANGE], | |
Literal[ERRCODE_DIVISION_BY_ZERO], | |
Literal[ERRCODE_ERROR_IN_ASSIGNMENT], | |
Literal[ERRCODE_ESCAPE_CHARACTER_CONFLICT], | |
Literal[ERRCODE_INDICATOR_OVERFLOW], | |
Literal[ERRCODE_INTERVAL_FIELD_OVERFLOW], | |
Literal[ERRCODE_INVALID_ARGUMENT_FOR_LOG], | |
Literal[ERRCODE_INVALID_ARGUMENT_FOR_NTILE], | |
Literal[ERRCODE_INVALID_ARGUMENT_FOR_NTH_VALUE], | |
Literal[ERRCODE_INVALID_ARGUMENT_FOR_POWER_FUNCTION], | |
Literal[ERRCODE_INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION], | |
Literal[ERRCODE_INVALID_CHARACTER_VALUE_FOR_CAST], | |
Literal[ERRCODE_INVALID_DATETIME_FORMAT], | |
Literal[ERRCODE_INVALID_ESCAPE_CHARACTER], | |
Literal[ERRCODE_INVALID_ESCAPE_OCTET], | |
Literal[ERRCODE_INVALID_ESCAPE_SEQUENCE], | |
Literal[ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER], | |
Literal[ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE], | |
Literal[ERRCODE_INVALID_PARAMETER_VALUE], | |
Literal[ERRCODE_INVALID_PRECEDING_OR_FOLLOWING_SIZE], | |
Literal[ERRCODE_INVALID_REGULAR_EXPRESSION], | |
Literal[ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE], | |
Literal[ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE], | |
Literal[ERRCODE_INVALID_TABLESAMPLE_ARGUMENT], | |
Literal[ERRCODE_INVALID_TABLESAMPLE_REPEAT], | |
Literal[ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE], | |
Literal[ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER], | |
Literal[ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH], | |
Literal[ERRCODE_NULL_VALUE_NOT_ALLOWED], | |
Literal[ERRCODE_NULL_VALUE_NO_INDICATOR_PARAMETER], | |
Literal[ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE], | |
Literal[ERRCODE_SEQUENCE_GENERATOR_LIMIT_EXCEEDED], | |
Literal[ERRCODE_STRING_DATA_LENGTH_MISMATCH], | |
Literal[ERRCODE_STRING_DATA_RIGHT_TRUNCATION], | |
Literal[ERRCODE_SUBSTRING_ERROR], | |
Literal[ERRCODE_TRIM_ERROR], | |
Literal[ERRCODE_UNTERMINATED_C_STRING], | |
Literal[ERRCODE_ZERO_LENGTH_CHARACTER_STRING], | |
Literal[ERRCODE_FLOATING_POINT_EXCEPTION], | |
Literal[ERRCODE_INVALID_TEXT_REPRESENTATION], | |
Literal[ERRCODE_INVALID_BINARY_REPRESENTATION], | |
Literal[ERRCODE_BAD_COPY_FILE_FORMAT], | |
Literal[ERRCODE_UNTRANSLATABLE_CHARACTER], | |
Literal[ERRCODE_NOT_AN_XML_DOCUMENT], | |
Literal[ERRCODE_INVALID_XML_DOCUMENT], | |
Literal[ERRCODE_INVALID_XML_CONTENT], | |
Literal[ERRCODE_INVALID_XML_COMMENT], | |
Literal[ERRCODE_INVALID_XML_PROCESSING_INSTRUCTION], | |
Literal[ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE], | |
Literal[ERRCODE_INVALID_ARGUMENT_FOR_SQL_JSON_DATETIME_FUNCTION], | |
Literal[ERRCODE_INVALID_JSON_TEXT], | |
Literal[ERRCODE_INVALID_SQL_JSON_SUBSCRIPT], | |
Literal[ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM], | |
Literal[ERRCODE_NO_SQL_JSON_ITEM], | |
Literal[ERRCODE_NON_NUMERIC_SQL_JSON_ITEM], | |
Literal[ERRCODE_NON_UNIQUE_KEYS_IN_A_JSON_OBJECT], | |
Literal[ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED], | |
Literal[ERRCODE_SQL_JSON_ARRAY_NOT_FOUND], | |
Literal[ERRCODE_SQL_JSON_MEMBER_NOT_FOUND], | |
Literal[ERRCODE_SQL_JSON_NUMBER_NOT_FOUND], | |
Literal[ERRCODE_SQL_JSON_OBJECT_NOT_FOUND], | |
Literal[ERRCODE_TOO_MANY_JSON_ARRAY_ELEMENTS], | |
Literal[ERRCODE_TOO_MANY_JSON_OBJECT_MEMBERS], | |
Literal[ERRCODE_SQL_JSON_SCALAR_REQUIRED], | |
Literal[ERRCODE_SQL_JSON_ITEM_CANNOT_BE_CAST_TO_TARGET_TYPE], | |
Literal[ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION], | |
Literal[ERRCODE_RESTRICT_VIOLATION], | |
Literal[ERRCODE_NOT_NULL_VIOLATION], | |
Literal[ERRCODE_FOREIGN_KEY_VIOLATION], | |
Literal[ERRCODE_UNIQUE_VIOLATION], | |
Literal[ERRCODE_CHECK_VIOLATION], | |
Literal[ERRCODE_EXCLUSION_VIOLATION], | |
Literal[ERRCODE_INVALID_CURSOR_STATE], | |
Literal[ERRCODE_INVALID_TRANSACTION_STATE], | |
Literal[ERRCODE_ACTIVE_SQL_TRANSACTION], | |
Literal[ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE], | |
Literal[ERRCODE_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL], | |
Literal[ERRCODE_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION], | |
Literal[ERRCODE_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION], | |
Literal[ERRCODE_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION], | |
Literal[ERRCODE_READ_ONLY_SQL_TRANSACTION], | |
Literal[ERRCODE_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED], | |
Literal[ERRCODE_NO_ACTIVE_SQL_TRANSACTION], | |
Literal[ERRCODE_IN_FAILED_SQL_TRANSACTION], | |
Literal[ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT], | |
Literal[ERRCODE_INVALID_SQL_STATEMENT_NAME], | |
Literal[ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION], | |
Literal[ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION], | |
Literal[ERRCODE_INVALID_PASSWORD], | |
Literal[ERRCODE_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST], | |
Literal[ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST], | |
Literal[ERRCODE_INVALID_TRANSACTION_TERMINATION], | |
Literal[ERRCODE_SQL_ROUTINE_EXCEPTION], | |
Literal[ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT], | |
Literal[ERRCODE_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED], | |
Literal[ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED], | |
Literal[ERRCODE_S_R_E_READING_SQL_DATA_NOT_PERMITTED], | |
Literal[ERRCODE_INVALID_CURSOR_NAME], | |
Literal[ERRCODE_EXTERNAL_ROUTINE_EXCEPTION], | |
Literal[ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED], | |
Literal[ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED], | |
Literal[ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED], | |
Literal[ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED], | |
Literal[ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION], | |
Literal[ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED], | |
Literal[ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED], | |
Literal[ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED], | |
Literal[ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED], | |
Literal[ERRCODE_E_R_I_E_EVENT_TRIGGER_PROTOCOL_VIOLATED], | |
Literal[ERRCODE_SAVEPOINT_EXCEPTION], | |
Literal[ERRCODE_S_E_INVALID_SPECIFICATION], | |
Literal[ERRCODE_INVALID_CATALOG_NAME], | |
Literal[ERRCODE_INVALID_SCHEMA_NAME], | |
Literal[ERRCODE_TRANSACTION_ROLLBACK], | |
Literal[ERRCODE_T_R_INTEGRITY_CONSTRAINT_VIOLATION], | |
Literal[ERRCODE_T_R_SERIALIZATION_FAILURE], | |
Literal[ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN], | |
Literal[ERRCODE_T_R_DEADLOCK_DETECTED], | |
Literal[ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION], | |
Literal[ERRCODE_SYNTAX_ERROR], | |
Literal[ERRCODE_INSUFFICIENT_PRIVILEGE], | |
Literal[ERRCODE_CANNOT_COERCE], | |
Literal[ERRCODE_GROUPING_ERROR], | |
Literal[ERRCODE_WINDOWING_ERROR], | |
Literal[ERRCODE_INVALID_RECURSION], | |
Literal[ERRCODE_INVALID_FOREIGN_KEY], | |
Literal[ERRCODE_INVALID_NAME], | |
Literal[ERRCODE_NAME_TOO_LONG], | |
Literal[ERRCODE_RESERVED_NAME], | |
Literal[ERRCODE_DATATYPE_MISMATCH], | |
Literal[ERRCODE_INDETERMINATE_DATATYPE], | |
Literal[ERRCODE_COLLATION_MISMATCH], | |
Literal[ERRCODE_INDETERMINATE_COLLATION], | |
Literal[ERRCODE_WRONG_OBJECT_TYPE], | |
Literal[ERRCODE_GENERATED_ALWAYS], | |
Literal[ERRCODE_UNDEFINED_COLUMN], | |
Literal[ERRCODE_UNDEFINED_CURSOR], | |
Literal[ERRCODE_UNDEFINED_DATABASE], | |
Literal[ERRCODE_UNDEFINED_FUNCTION], | |
Literal[ERRCODE_UNDEFINED_PSTATEMENT], | |
Literal[ERRCODE_UNDEFINED_SCHEMA], | |
Literal[ERRCODE_UNDEFINED_TABLE], | |
Literal[ERRCODE_UNDEFINED_PARAMETER], | |
Literal[ERRCODE_UNDEFINED_OBJECT], | |
Literal[ERRCODE_DUPLICATE_COLUMN], | |
Literal[ERRCODE_DUPLICATE_CURSOR], | |
Literal[ERRCODE_DUPLICATE_DATABASE], | |
Literal[ERRCODE_DUPLICATE_FUNCTION], | |
Literal[ERRCODE_DUPLICATE_PSTATEMENT], | |
Literal[ERRCODE_DUPLICATE_SCHEMA], | |
Literal[ERRCODE_DUPLICATE_TABLE], | |
Literal[ERRCODE_DUPLICATE_ALIAS], | |
Literal[ERRCODE_DUPLICATE_OBJECT], | |
Literal[ERRCODE_AMBIGUOUS_COLUMN], | |
Literal[ERRCODE_AMBIGUOUS_FUNCTION], | |
Literal[ERRCODE_AMBIGUOUS_PARAMETER], | |
Literal[ERRCODE_AMBIGUOUS_ALIAS], | |
Literal[ERRCODE_INVALID_COLUMN_REFERENCE], | |
Literal[ERRCODE_INVALID_COLUMN_DEFINITION], | |
Literal[ERRCODE_INVALID_CURSOR_DEFINITION], | |
Literal[ERRCODE_INVALID_DATABASE_DEFINITION], | |
Literal[ERRCODE_INVALID_FUNCTION_DEFINITION], | |
Literal[ERRCODE_INVALID_PSTATEMENT_DEFINITION], | |
Literal[ERRCODE_INVALID_SCHEMA_DEFINITION], | |
Literal[ERRCODE_INVALID_TABLE_DEFINITION], | |
Literal[ERRCODE_INVALID_OBJECT_DEFINITION], | |
Literal[ERRCODE_WITH_CHECK_OPTION_VIOLATION], | |
Literal[ERRCODE_INSUFFICIENT_RESOURCES], | |
Literal[ERRCODE_DISK_FULL], | |
Literal[ERRCODE_OUT_OF_MEMORY], | |
Literal[ERRCODE_TOO_MANY_CONNECTIONS], | |
Literal[ERRCODE_CONFIGURATION_LIMIT_EXCEEDED], | |
Literal[ERRCODE_PROGRAM_LIMIT_EXCEEDED], | |
Literal[ERRCODE_STATEMENT_TOO_COMPLEX], | |
Literal[ERRCODE_TOO_MANY_COLUMNS], | |
Literal[ERRCODE_TOO_MANY_ARGUMENTS], | |
Literal[ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE], | |
Literal[ERRCODE_OBJECT_IN_USE], | |
Literal[ERRCODE_CANT_CHANGE_RUNTIME_PARAM], | |
Literal[ERRCODE_LOCK_NOT_AVAILABLE], | |
Literal[ERRCODE_UNSAFE_NEW_ENUM_VALUE_USAGE], | |
Literal[ERRCODE_OPERATOR_INTERVENTION], | |
Literal[ERRCODE_QUERY_CANCELED], | |
Literal[ERRCODE_ADMIN_SHUTDOWN], | |
Literal[ERRCODE_CRASH_SHUTDOWN], | |
Literal[ERRCODE_CANNOT_CONNECT_NOW], | |
Literal[ERRCODE_DATABASE_DROPPED], | |
Literal[ERRCODE_IDLE_SESSION_TIMEOUT], | |
Literal[ERRCODE_SYSTEM_ERROR], | |
Literal[ERRCODE_IO_ERROR], | |
Literal[ERRCODE_UNDEFINED_FILE], | |
Literal[ERRCODE_DUPLICATE_FILE], | |
Literal[ERRCODE_SNAPSHOT_TOO_OLD], | |
Literal[ERRCODE_CONFIG_FILE_ERROR], | |
Literal[ERRCODE_LOCK_FILE_EXISTS], | |
Literal[ERRCODE_FDW_ERROR], | |
Literal[ERRCODE_FDW_COLUMN_NAME_NOT_FOUND], | |
Literal[ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED], | |
Literal[ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR], | |
Literal[ERRCODE_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION], | |
Literal[ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE], | |
Literal[ERRCODE_FDW_INVALID_COLUMN_NAME], | |
Literal[ERRCODE_FDW_INVALID_COLUMN_NUMBER], | |
Literal[ERRCODE_FDW_INVALID_DATA_TYPE], | |
Literal[ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS], | |
Literal[ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER], | |
Literal[ERRCODE_FDW_INVALID_HANDLE], | |
Literal[ERRCODE_FDW_INVALID_OPTION_INDEX], | |
Literal[ERRCODE_FDW_INVALID_OPTION_NAME], | |
Literal[ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH], | |
Literal[ERRCODE_FDW_INVALID_STRING_FORMAT], | |
Literal[ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER], | |
Literal[ERRCODE_FDW_TOO_MANY_HANDLES], | |
Literal[ERRCODE_FDW_OUT_OF_MEMORY], | |
Literal[ERRCODE_FDW_NO_SCHEMAS], | |
Literal[ERRCODE_FDW_OPTION_NAME_NOT_FOUND], | |
Literal[ERRCODE_FDW_REPLY_HANDLE], | |
Literal[ERRCODE_FDW_SCHEMA_NOT_FOUND], | |
Literal[ERRCODE_FDW_TABLE_NOT_FOUND], | |
Literal[ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION], | |
Literal[ERRCODE_FDW_UNABLE_TO_CREATE_REPLY], | |
Literal[ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION], | |
Literal[ERRCODE_PLPGSQL_ERROR], | |
Literal[ERRCODE_RAISE_EXCEPTION], | |
Literal[ERRCODE_NO_DATA_FOUND], | |
Literal[ERRCODE_TOO_MANY_ROWS], | |
Literal[ERRCODE_ASSERT_FAILURE], | |
Literal[ERRCODE_INTERNAL_ERROR], | |
Literal[ERRCODE_DATA_CORRUPTED], | |
Literal[ERRCODE_INDEX_CORRUPTED], | |
] | |
# https://www.postgresql.org/docs/15/datatype-oid.html | |
# "The oid type is currently implemented as an unsigned four-byte integer." | |
Oid = int | |
# https://github.com/postgres/postgres/blob/8028e294b456bf1539649527fd98b3985fa4752a/src/include/nodes/parsenodes.h#L1187 | |
# integer list of column typmods | |
TypMod = int | |
class SPIError(Exception): | |
pass | |
class spiexceptions: | |
"""This is supposed to be a module, but for the sake of keeping everything in one file, I'm using a class""" | |
class ActiveSqlTransaction(SPIError): | |
pass | |
class AdminShutdown(SPIError): | |
pass | |
class AmbiguousAlias(SPIError): | |
pass | |
class AmbiguousColumn(SPIError): | |
pass | |
class AmbiguousFunction(SPIError): | |
pass | |
class AmbiguousParameter(SPIError): | |
pass | |
class ArraySubscriptError(SPIError): | |
pass | |
class AssertFailure(SPIError): | |
pass | |
class BadCopyFileFormat(SPIError): | |
pass | |
class BranchTransactionAlreadyActive(SPIError): | |
pass | |
class CannotCoerce(SPIError): | |
pass | |
class CannotConnectNow(SPIError): | |
pass | |
class CantChangeRuntimeParam(SPIError): | |
pass | |
class CardinalityViolation(SPIError): | |
pass | |
class CaseNotFound(SPIError): | |
pass | |
class CharacterNotInRepertoire(SPIError): | |
pass | |
class CheckViolation(SPIError): | |
pass | |
class CollationMismatch(SPIError): | |
pass | |
class ConfigFileError(SPIError): | |
pass | |
class ConfigurationLimitExceeded(SPIError): | |
pass | |
class ConnectionDoesNotExist(SPIError): | |
pass | |
class ConnectionException(SPIError): | |
pass | |
class ConnectionFailure(SPIError): | |
pass | |
class ContainingSqlNotPermitted(SPIError): | |
pass | |
class CrashShutdown(SPIError): | |
pass | |
class DataCorrupted(SPIError): | |
pass | |
class DataException(SPIError): | |
pass | |
class DatabaseDropped(SPIError): | |
pass | |
class DatatypeMismatch(SPIError): | |
pass | |
class DatetimeFieldOverflow(SPIError): | |
pass | |
class DeadlockDetected(SPIError): | |
pass | |
class DependentObjectsStillExist(SPIError): | |
pass | |
class DependentPrivilegeDescriptorsStillExist(SPIError): | |
pass | |
class DiagnosticsException(SPIError): | |
pass | |
class DiskFull(SPIError): | |
pass | |
class DivisionByZero(SPIError): | |
pass | |
class DuplicateAlias(SPIError): | |
pass | |
class DuplicateColumn(SPIError): | |
pass | |
class DuplicateCursor(SPIError): | |
pass | |
class DuplicateDatabase(SPIError): | |
pass | |
class DuplicateFile(SPIError): | |
pass | |
class DuplicateFunction(SPIError): | |
pass | |
class DuplicateJsonObjectKeyValue(SPIError): | |
pass | |
class DuplicateObject(SPIError): | |
pass | |
class DuplicatePreparedStatement(SPIError): | |
pass | |
class DuplicateSchema(SPIError): | |
pass | |
class DuplicateTable(SPIError): | |
pass | |
class ErrorInAssignment(SPIError): | |
pass | |
class EscapeCharacterConflict(SPIError): | |
pass | |
class EventTriggerProtocolViolated(SPIError): | |
pass | |
class ExclusionViolation(SPIError): | |
pass | |
class ExternalRoutineException(SPIError): | |
pass | |
class ExternalRoutineInvocationException(SPIError): | |
pass | |
class FdwColumnNameNotFound(SPIError): | |
pass | |
class FdwDynamicParameterValueNeeded(SPIError): | |
pass | |
class FdwError(SPIError): | |
pass | |
class FdwFunctionSequenceError(SPIError): | |
pass | |
class FdwInconsistentDescriptorInformation(SPIError): | |
pass | |
class FdwInvalidAttributeValue(SPIError): | |
pass | |
class FdwInvalidColumnName(SPIError): | |
pass | |
class FdwInvalidColumnNumber(SPIError): | |
pass | |
class FdwInvalidDataType(SPIError): | |
pass | |
class FdwInvalidDataTypeDescriptors(SPIError): | |
pass | |
class FdwInvalidDescriptorFieldIdentifier(SPIError): | |
pass | |
class FdwInvalidHandle(SPIError): | |
pass | |
class FdwInvalidOptionIndex(SPIError): | |
pass | |
class FdwInvalidOptionName(SPIError): | |
pass | |
class FdwInvalidStringFormat(SPIError): | |
pass | |
class FdwInvalidStringLengthOrBufferLength(SPIError): | |
pass | |
class FdwInvalidUseOfNullPointer(SPIError): | |
pass | |
class FdwNoSchemas(SPIError): | |
pass | |
class FdwOptionNameNotFound(SPIError): | |
pass | |
class FdwOutOfMemory(SPIError): | |
pass | |
class FdwReplyHandle(SPIError): | |
pass | |
class FdwSchemaNotFound(SPIError): | |
pass | |
class FdwTableNotFound(SPIError): | |
pass | |
class FdwTooManyHandles(SPIError): | |
pass | |
class FdwUnableToCreateExecution(SPIError): | |
pass | |
class FdwUnableToCreateReply(SPIError): | |
pass | |
class FdwUnableToEstablishConnection(SPIError): | |
pass | |
class FeatureNotSupported(SPIError): | |
pass | |
class FloatingPointException(SPIError): | |
pass | |
class ForeignKeyViolation(SPIError): | |
pass | |
class FunctionExecutedNoReturnStatement(SPIError): | |
pass | |
class GeneratedAlways(SPIError): | |
pass | |
class GroupingError(SPIError): | |
pass | |
class HeldCursorRequiresSameIsolationLevel(SPIError): | |
pass | |
class IdleInTransactionSessionTimeout(SPIError): | |
pass | |
class InFailedSqlTransaction(SPIError): | |
pass | |
class InappropriateAccessModeForBranchTransaction(SPIError): | |
pass | |
class InappropriateIsolationLevelForBranchTransaction(SPIError): | |
pass | |
class IndeterminateCollation(SPIError): | |
pass | |
class IndeterminateDatatype(SPIError): | |
pass | |
class IndexCorrupted(SPIError): | |
pass | |
class IndicatorOverflow(SPIError): | |
pass | |
class InsufficientPrivilege(SPIError): | |
pass | |
class InsufficientResources(SPIError): | |
pass | |
class IntegrityConstraintViolation(SPIError): | |
pass | |
class InternalError(SPIError): | |
pass | |
class IntervalFieldOverflow(SPIError): | |
pass | |
class InvalidArgumentForLogarithm(SPIError): | |
pass | |
class InvalidArgumentForNthValueFunction(SPIError): | |
pass | |
class InvalidArgumentForNtileFunction(SPIError): | |
pass | |
class InvalidArgumentForPowerFunction(SPIError): | |
pass | |
class InvalidArgumentForSqlJsonDatetimeFunction(SPIError): | |
pass | |
class InvalidArgumentForWidthBucketFunction(SPIError): | |
pass | |
class InvalidAuthorizationSpecification(SPIError): | |
pass | |
class InvalidBinaryRepresentation(SPIError): | |
pass | |
class InvalidCatalogName(SPIError): | |
pass | |
class InvalidCharacterValueForCast(SPIError): | |
pass | |
class InvalidColumnDefinition(SPIError): | |
pass | |
class InvalidColumnReference(SPIError): | |
pass | |
class InvalidCursorDefinition(SPIError): | |
pass | |
class InvalidCursorName(SPIError): | |
pass | |
class InvalidCursorState(SPIError): | |
pass | |
class InvalidDatabaseDefinition(SPIError): | |
pass | |
class InvalidDatetimeFormat(SPIError): | |
pass | |
class InvalidEscapeCharacter(SPIError): | |
pass | |
class InvalidEscapeOctet(SPIError): | |
pass | |
class InvalidEscapeSequence(SPIError): | |
pass | |
class InvalidForeignKey(SPIError): | |
pass | |
class InvalidFunctionDefinition(SPIError): | |
pass | |
class InvalidGrantOperation(SPIError): | |
pass | |
class InvalidGrantor(SPIError): | |
pass | |
class InvalidIndicatorParameterValue(SPIError): | |
pass | |
class InvalidJsonText(SPIError): | |
pass | |
class InvalidLocatorSpecification(SPIError): | |
pass | |
class InvalidName(SPIError): | |
pass | |
class InvalidObjectDefinition(SPIError): | |
pass | |
class InvalidParameterValue(SPIError): | |
pass | |
class InvalidPassword(SPIError): | |
pass | |
class InvalidPrecedingOrFollowingSize(SPIError): | |
pass | |
class InvalidPreparedStatementDefinition(SPIError): | |
pass | |
class InvalidRecursion(SPIError): | |
pass | |
class InvalidRegularExpression(SPIError): | |
pass | |
class InvalidRoleSpecification(SPIError): | |
pass | |
class InvalidRowCountInLimitClause(SPIError): | |
pass | |
class InvalidRowCountInResultOffsetClause(SPIError): | |
pass | |
class InvalidSavepointSpecification(SPIError): | |
pass | |
class InvalidSchemaDefinition(SPIError): | |
pass | |
class InvalidSchemaName(SPIError): | |
pass | |
class InvalidSqlJsonSubscript(SPIError): | |
pass | |
class InvalidSqlStatementName(SPIError): | |
pass | |
class InvalidSqlstateReturned(SPIError): | |
pass | |
class InvalidTableDefinition(SPIError): | |
pass | |
class InvalidTablesampleArgument(SPIError): | |
pass | |
class InvalidTablesampleRepeat(SPIError): | |
pass | |
class InvalidTextRepresentation(SPIError): | |
pass | |
class InvalidTimeZoneDisplacementValue(SPIError): | |
pass | |
class InvalidTransactionInitiation(SPIError): | |
pass | |
class InvalidTransactionState(SPIError): | |
pass | |
class InvalidTransactionTermination(SPIError): | |
pass | |
class InvalidUseOfEscapeCharacter(SPIError): | |
pass | |
class InvalidXmlComment(SPIError): | |
pass | |
class InvalidXmlContent(SPIError): | |
pass | |
class InvalidXmlDocument(SPIError): | |
pass | |
class InvalidXmlProcessingInstruction(SPIError): | |
pass | |
class IoError(SPIError): | |
pass | |
class LocatorException(SPIError): | |
pass | |
class LockFileExists(SPIError): | |
pass | |
class LockNotAvailable(SPIError): | |
pass | |
class ModifyingSqlDataNotPermitted(SPIError): | |
pass | |
class MoreThanOneSqlJsonItem(SPIError): | |
pass | |
class MostSpecificTypeMismatch(SPIError): | |
pass | |
class NameTooLong(SPIError): | |
pass | |
class NoActiveSqlTransaction(SPIError): | |
pass | |
class NoActiveSqlTransactionForBranchTransaction(SPIError): | |
pass | |
class NoDataFound(SPIError): | |
pass | |
class NoSqlJsonItem(SPIError): | |
pass | |
class NonNumericSqlJsonItem(SPIError): | |
pass | |
class NonUniqueKeysInAJsonObject(SPIError): | |
pass | |
class NonstandardUseOfEscapeCharacter(SPIError): | |
pass | |
class NotAnXmlDocument(SPIError): | |
pass | |
class NotNullViolation(SPIError): | |
pass | |
class NullValueNoIndicatorParameter(SPIError): | |
pass | |
class NullValueNotAllowed(SPIError): | |
pass | |
class NumericValueOutOfRange(SPIError): | |
pass | |
class ObjectInUse(SPIError): | |
pass | |
class ObjectNotInPrerequisiteState(SPIError): | |
pass | |
class OperatorIntervention(SPIError): | |
pass | |
class OutOfMemory(SPIError): | |
pass | |
class PlpgsqlError(SPIError): | |
pass | |
class ProgramLimitExceeded(SPIError): | |
pass | |
class ProhibitedSqlStatementAttempted(SPIError): | |
pass | |
class ProtocolViolation(SPIError): | |
pass | |
class QueryCanceled(SPIError): | |
pass | |
class RaiseException(SPIError): | |
pass | |
class ReadOnlySqlTransaction(SPIError): | |
pass | |
class ReadingSqlDataNotPermitted(SPIError): | |
pass | |
class ReservedName(SPIError): | |
pass | |
class RestrictViolation(SPIError): | |
pass | |
class SavepointException(SPIError): | |
pass | |
class SchemaAndDataStatementMixingNotSupported(SPIError): | |
pass | |
class SequenceGeneratorLimitExceeded(SPIError): | |
pass | |
class SerializationFailure(SPIError): | |
pass | |
class SingletonSqlJsonItemRequired(SPIError): | |
pass | |
class SnapshotTooOld(SPIError): | |
pass | |
class SqlJsonArrayNotFound(SPIError): | |
pass | |
class SqlJsonMemberNotFound(SPIError): | |
pass | |
class SqlJsonNumberNotFound(SPIError): | |
pass | |
class SqlJsonObjectNotFound(SPIError): | |
pass | |
class SqlJsonScalarRequired(SPIError): | |
pass | |
class SqlRoutineException(SPIError): | |
pass | |
class SqlStatementNotYetComplete(SPIError): | |
pass | |
class SqlclientUnableToEstablishSqlconnection(SPIError): | |
pass | |
class SqlserverRejectedEstablishmentOfSqlconnection(SPIError): | |
pass | |
class SrfProtocolViolated(SPIError): | |
pass | |
class StackedDiagnosticsAccessedWithoutActiveHandler(SPIError): | |
pass | |
class StatementCompletionUnknown(SPIError): | |
pass | |
class StatementTooComplex(SPIError): | |
pass | |
class StringDataLengthMismatch(SPIError): | |
pass | |
class StringDataRightTruncation(SPIError): | |
pass | |
class SubstringError(SPIError): | |
pass | |
class SyntaxError(SPIError): | |
pass | |
class SyntaxErrorOrAccessRuleViolation(SPIError): | |
pass | |
class SystemError(SPIError): | |
pass | |
class TooManyArguments(SPIError): | |
pass | |
class TooManyColumns(SPIError): | |
pass | |
class TooManyConnections(SPIError): | |
pass | |
class TooManyJsonArrayElements(SPIError): | |
pass | |
class TooManyJsonObjectMembers(SPIError): | |
pass | |
class TooManyRows(SPIError): | |
pass | |
class TransactionIntegrityConstraintViolation(SPIError): | |
pass | |
class TransactionResolutionUnknown(SPIError): | |
pass | |
class TransactionRollback(SPIError): | |
pass | |
class TriggerProtocolViolated(SPIError): | |
pass | |
class TriggeredActionException(SPIError): | |
pass | |
class TriggeredDataChangeViolation(SPIError): | |
pass | |
class TrimError(SPIError): | |
pass | |
class UndefinedColumn(SPIError): | |
pass | |
class UndefinedFile(SPIError): | |
pass | |
class UndefinedFunction(SPIError): | |
pass | |
class UndefinedObject(SPIError): | |
pass | |
class UndefinedParameter(SPIError): | |
pass | |
class UndefinedTable(SPIError): | |
pass | |
class UniqueViolation(SPIError): | |
pass | |
class UnsafeNewEnumValueUsage(SPIError): | |
pass | |
class UnterminatedCString(SPIError): | |
pass | |
class UntranslatableCharacter(SPIError): | |
pass | |
class WindowingError(SPIError): | |
pass | |
class WithCheckOptionViolation(SPIError): | |
pass | |
class WrongObjectType(SPIError): | |
pass | |
class ZeroLengthCharacterString(SPIError): | |
pass | |
class PLyResult(Iterable[Dict]): | |
def nrows(self) -> int: | |
pass | |
def status(self) -> SPI_RESULT: | |
pass | |
def colnames(self) -> List[str]: | |
pass | |
def coltypes(self) -> List[Oid]: | |
pass | |
def coltypmods(self) -> List[TypMod]: | |
pass | |
def __str__(self) -> str: | |
pass | |
class PLyCursor(Iterable[Dict]): | |
def fetch(batch_size: int) -> PLyResult: | |
pass | |
class PLyPlan: | |
def cursor( | |
self, plan: Union['PLyPlan', str], arguments: Optional[List[Any]] = None | |
) -> PLyCursor: | |
pass | |
def status(self) -> bool: | |
"""Not in the docs, but is a public attribute. | |
According to https://github.com/postgres/postgres/blob/8028e294b456bf1539649527fd98b3985fa4752a/src/pl/plpython/plpy_planobject.c#L115-L125 | |
It looks like this function just returns True. Maybe I misunderstood, so I'm leaving it as a bool instead of a True literal | |
""" | |
pass | |
def execute(self) -> PLyResult: | |
"""Not in the docs, but is a public attribute. | |
According to https://github.com/postgres/postgres/blob/8028e294b456bf1539649527fd98b3985fa4752a/src/pl/plpython/plpy_planobject.c#L102-L112 | |
this returns the same result type as plpy.execute | |
""" | |
pass | |
@contextmanager | |
class PLySubtransaction: | |
pass | |
class plpy: | |
SPIError=SPIError | |
spiexceptions = spiexceptions | |
@staticmethod | |
def Error(msg: str): | |
"""According to the docs this raises a python exception, however this seems to be broken""" | |
pass | |
@staticmethod | |
def Fatal(msg: str): | |
"""According to the docs this raises a python exception, however this seems to be broken""" | |
pass | |
@staticmethod | |
def execute( | |
plan: Union[PLyPlan, str], | |
arguments: Optional[List[Any]] = None, | |
max_rows: Optional[int] = None, | |
) -> PLyResult: | |
pass | |
@staticmethod | |
def prepare(query: str, argtypes: Optional[List[str]] = None) -> PLyPlan: | |
pass | |
@staticmethod | |
def cursor( | |
plan: Union[PLyPlan, str], arguments: Optional[List[Any]] = None | |
) -> PLyCursor: | |
pass | |
@staticmethod | |
def debug( | |
msg: str, | |
*args, | |
detail: Optional[str] = None, | |
hint: Optional[str] = None, | |
sqlstate: Optional[ERROR_CODE] = None, | |
schema_name: Optional[str] = None, | |
table_name: Optional[str] = None, | |
column_name: Optional[str] = None, | |
datatype_name: Optional[str] = None, | |
constraint_name: Optional[str] = None, | |
) -> None: | |
pass | |
@staticmethod | |
def log( | |
msg: str, | |
*args, | |
detail: Optional[str] = None, | |
hint: Optional[str] = None, | |
sqlstate: Optional[ERROR_CODE] = None, | |
schema_name: Optional[str] = None, | |
table_name: Optional[str] = None, | |
column_name: Optional[str] = None, | |
datatype_name: Optional[str] = None, | |
constraint_name: Optional[str] = None, | |
) -> None: | |
pass | |
@staticmethod | |
def info( | |
msg: str, | |
*args, | |
detail: Optional[str] = None, | |
hint: Optional[str] = None, | |
sqlstate: Optional[ERROR_CODE] = None, | |
schema_name: Optional[str] = None, | |
table_name: Optional[str] = None, | |
column_name: Optional[str] = None, | |
datatype_name: Optional[str] = None, | |
constraint_name: Optional[str] = None, | |
) -> None: | |
pass | |
@staticmethod | |
def notice( | |
msg: str, | |
*args, | |
detail: Optional[str] = None, | |
hint: Optional[str] = None, | |
sqlstate: Optional[ERROR_CODE] = None, | |
schema_name: Optional[str] = None, | |
table_name: Optional[str] = None, | |
column_name: Optional[str] = None, | |
datatype_name: Optional[str] = None, | |
constraint_name: Optional[str] = None, | |
) -> None: | |
pass | |
@staticmethod | |
def warning( | |
msg: str, | |
*args, | |
detail: Optional[str] = None, | |
hint: Optional[str] = None, | |
sqlstate: Optional[ERROR_CODE] = None, | |
schema_name: Optional[str] = None, | |
table_name: Optional[str] = None, | |
column_name: Optional[str] = None, | |
datatype_name: Optional[str] = None, | |
constraint_name: Optional[str] = None, | |
) -> None: | |
pass | |
@staticmethod | |
def error( | |
msg: str, | |
*args, | |
detail: Optional[str] = None, | |
hint: Optional[str] = None, | |
sqlstate: Optional[ERROR_CODE] = None, | |
schema_name: Optional[str] = None, | |
table_name: Optional[str] = None, | |
column_name: Optional[str] = None, | |
datatype_name: Optional[str] = None, | |
constraint_name: Optional[str] = None, | |
) -> None: | |
"""Raises a python exception""" | |
pass | |
@staticmethod | |
def fatal( | |
msg: str, | |
*args, | |
detail: Optional[str] = None, | |
hint: Optional[str] = None, | |
sqlstate: Optional[ERROR_CODE] = None, | |
schema_name: Optional[str] = None, | |
table_name: Optional[str] = None, | |
column_name: Optional[str] = None, | |
datatype_name: Optional[str] = None, | |
constraint_name: Optional[str] = None, | |
) -> None: | |
"""Raises a python exception""" | |
pass | |
@staticmethod | |
def quote_ident(string: str) -> str: | |
pass | |
@staticmethod | |
def quote_literal(string: str) -> str: | |
pass | |
@staticmethod | |
def quote_nullable(string: str) -> str: | |
pass | |
@staticmethod | |
def subtransaction() -> AbstractContextManager[PLySubtransaction]: | |
pass | |
@staticmethod | |
def commit() -> None: | |
pass | |
@staticmethod | |
def rollback() -> None: | |
pass |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment