mirror of
				https://github.com/psycopg/psycopg2.git
				synced 2025-10-31 07:47:30 +03:00 
			
		
		
		
	errorcodes map updated to PostgreSQL 9.1
This commit is contained in:
		
							parent
							
								
									880aa07a58
								
							
						
					
					
						commit
						29932c488f
					
				
							
								
								
									
										1
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								NEWS
									
									
									
									
									
								
							|  | @ -8,6 +8,7 @@ What's new in psycopg 2.4.3 | |||
|   - Lazy import of the slow uuid module, thanks to Marko Kreen. | ||||
|   - Fixed NamedTupleCursor.executemany() (ticket #65). | ||||
|   - Fixed --static-libpq setup option (ticket #64). | ||||
|   - 'errorcodes' map updated to PostgreSQL 9.1. | ||||
| 
 | ||||
| 
 | ||||
| What's new in psycopg 2.4.2 | ||||
|  |  | |||
|  | @ -86,6 +86,7 @@ CLASS_OBJECT_NOT_IN_PREREQUISITE_STATE = '55' | |||
| CLASS_OPERATOR_INTERVENTION = '57' | ||||
| CLASS_SYSTEM_ERROR = '58' | ||||
| CLASS_CONFIGURATION_FILE_ERROR = 'F0' | ||||
| CLASS_FOREIGN_DATA_WRAPPER_ERROR = 'HV' | ||||
| CLASS_PL_PGSQL_ERROR = 'P0' | ||||
| CLASS_INTERNAL_ERROR = 'XX' | ||||
| 
 | ||||
|  | @ -319,6 +320,8 @@ INVALID_OBJECT_DEFINITION = '42P17' | |||
| INDETERMINATE_DATATYPE = '42P18' | ||||
| INVALID_RECURSION = '42P19' | ||||
| WINDOWING_ERROR = '42P20' | ||||
| COLLATION_MISMATCH = '42P21' | ||||
| INDETERMINATE_COLLATION = '42P22' | ||||
| 
 | ||||
| # Class 44 - WITH CHECK OPTION Violation | ||||
| WITH_CHECK_OPTION_VIOLATION = '44000' | ||||
|  | @ -347,6 +350,7 @@ QUERY_CANCELED = '57014' | |||
| ADMIN_SHUTDOWN = '57P01' | ||||
| CRASH_SHUTDOWN = '57P02' | ||||
| CANNOT_CONNECT_NOW = '57P03' | ||||
| DATABASE_DROPPED = '57P04' | ||||
| 
 | ||||
| # Class 58 - System Error (errors external to PostgreSQL itself) | ||||
| IO_ERROR = '58030' | ||||
|  | @ -357,6 +361,35 @@ DUPLICATE_FILE = '58P02' | |||
| CONFIG_FILE_ERROR = 'F0000' | ||||
| LOCK_FILE_EXISTS = 'F0001' | ||||
| 
 | ||||
| # Class HV - Foreign Data Wrapper Error (SQL/MED) | ||||
| FDW_ERROR = 'HV000' | ||||
| FDW_OUT_OF_MEMORY = 'HV001' | ||||
| FDW_DYNAMIC_PARAMETER_VALUE_NEEDED = 'HV002' | ||||
| FDW_INVALID_DATA_TYPE = 'HV004' | ||||
| FDW_COLUMN_NAME_NOT_FOUND = 'HV005' | ||||
| FDW_INVALID_DATA_TYPE_DESCRIPTORS = 'HV006' | ||||
| FDW_INVALID_COLUMN_NAME = 'HV007' | ||||
| FDW_INVALID_COLUMN_NUMBER = 'HV008' | ||||
| FDW_INVALID_USE_OF_NULL_POINTER = 'HV009' | ||||
| FDW_INVALID_STRING_FORMAT = 'HV00A' | ||||
| FDW_INVALID_HANDLE = 'HV00B' | ||||
| FDW_INVALID_OPTION_INDEX = 'HV00C' | ||||
| FDW_INVALID_OPTION_NAME = 'HV00D' | ||||
| FDW_OPTION_NAME_NOT_FOUND = 'HV00J' | ||||
| FDW_REPLY_HANDLE = 'HV00K' | ||||
| FDW_UNABLE_TO_CREATE_EXECUTION = 'HV00L' | ||||
| FDW_UNABLE_TO_CREATE_REPLY = 'HV00M' | ||||
| FDW_UNABLE_TO_ESTABLISH_CONNECTION = 'HV00N' | ||||
| FDW_NO_SCHEMAS = 'HV00P' | ||||
| FDW_SCHEMA_NOT_FOUND = 'HV00Q' | ||||
| FDW_TABLE_NOT_FOUND = 'HV00R' | ||||
| FDW_FUNCTION_SEQUENCE_ERROR = 'HV010' | ||||
| FDW_TOO_MANY_HANDLES = 'HV014' | ||||
| FDW_INCONSISTENT_DESCRIPTOR_INFORMATION = 'HV021' | ||||
| FDW_INVALID_ATTRIBUTE_VALUE = 'HV024' | ||||
| FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH = 'HV090' | ||||
| FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER = 'HV091' | ||||
| 
 | ||||
| # Class P0 - PL/pgSQL Error | ||||
| PLPGSQL_ERROR = 'P0000' | ||||
| RAISE_EXCEPTION = 'P0001' | ||||
|  |  | |||
|  | @ -30,7 +30,7 @@ def main(): | |||
|     filename = sys.argv[1] | ||||
| 
 | ||||
|     file_start = read_base_file(filename) | ||||
|     classes, errors = fetch_errors(['8.1', '8.2', '8.3', '8.4', '9.0']) | ||||
|     classes, errors = fetch_errors(['8.1', '8.2', '8.3', '8.4', '9.0', '9.1']) | ||||
| 
 | ||||
|     f = open(filename, "w") | ||||
|     for line in file_start: | ||||
|  | @ -70,11 +70,21 @@ def parse_errors(url): | |||
|         else: # it's an error | ||||
|             errcode = tr.tt.string.encode("ascii") | ||||
|             assert len(errcode) == 5 | ||||
|             errlabel = tr('td')[1].string.replace(" ", "_").encode("ascii") | ||||
| 
 | ||||
|             # double check the columns are equal | ||||
|             cond_name = tr('td')[2].string.upper().encode("ascii") | ||||
|             assert errlabel == cond_name, tr | ||||
|             tds = tr('td') | ||||
|             if len(tds) == 3: | ||||
|                 errlabel = tds[1].string.replace(" ", "_").encode("ascii") | ||||
| 
 | ||||
|                 # double check the columns are equal | ||||
|                 cond_name = tds[2].string.upper().encode("ascii") | ||||
|                 assert errlabel == cond_name, tr | ||||
| 
 | ||||
|             elif len(tds) == 2: | ||||
|                 # found in PG 9.1 beta3 docs | ||||
|                 errlabel = tds[1].tt.string.upper().encode("ascii") | ||||
| 
 | ||||
|             else: | ||||
|                 assert False, tr | ||||
| 
 | ||||
|             errors[class_][errcode] = errlabel | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user