mirror of
				https://github.com/psycopg/psycopg2.git
				synced 2025-10-31 15:57:31 +03:00 
			
		
		
		
	Merge branch 'dev/init-failure'
This commit is contained in:
		
						commit
						4fe28d661a
					
				
							
								
								
									
										2
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								NEWS
									
									
									
									
									
								
							|  | @ -4,6 +4,8 @@ Current release | |||
| What's new in psycopg 2.9.7 (unreleased) | ||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||
| 
 | ||||
| - Fix propagation of exceptions raised during module initialization | ||||
|   (:ticket:`#1598`). | ||||
| - Fix building when pg_config returns an empty string (:ticket:`#1599`). | ||||
| - Wheel package compiled against OpenSSL 1.1.1v. | ||||
| 
 | ||||
|  |  | |||
|  | @ -1001,32 +1001,35 @@ INIT_MODULE(_psycopg)(void) | |||
| 
 | ||||
|     /* initialize types and objects not exposed to the module */ | ||||
|     Py_SET_TYPE(&typecastType, &PyType_Type); | ||||
|     if (0 > PyType_Ready(&typecastType)) { goto exit; } | ||||
|     if (0 > PyType_Ready(&typecastType)) { goto error; } | ||||
| 
 | ||||
|     Py_SET_TYPE(&chunkType, &PyType_Type); | ||||
|     if (0 > PyType_Ready(&chunkType)) { goto exit; } | ||||
|     if (0 > PyType_Ready(&chunkType)) { goto error; } | ||||
| 
 | ||||
|     Py_SET_TYPE(&errorType, &PyType_Type); | ||||
|     errorType.tp_base = (PyTypeObject *)PyExc_StandardError; | ||||
|     if (0 > PyType_Ready(&errorType)) { goto exit; } | ||||
|     if (0 > PyType_Ready(&errorType)) { goto error; } | ||||
| 
 | ||||
|     if (!(psyco_null = Bytes_FromString("NULL"))) { goto exit; } | ||||
|     if (!(psyco_null = Bytes_FromString("NULL"))) { goto error; } | ||||
| 
 | ||||
|     /* initialize the module */ | ||||
|     module = PyModule_Create(&psycopgmodule); | ||||
|     if (!module) { goto exit; } | ||||
|     if (!module) { goto error; } | ||||
| 
 | ||||
|     if (0 > add_module_constants(module)) { goto exit; } | ||||
|     if (0 > add_module_types(module)) { goto exit; } | ||||
|     if (0 > datetime_init()) { goto exit; } | ||||
|     if (0 > encodings_init(module)) { goto exit; } | ||||
|     if (0 > typecast_init(module)) { goto exit; } | ||||
|     if (0 > adapters_init(module)) { goto exit; } | ||||
|     if (0 > basic_errors_init(module)) { goto exit; } | ||||
|     if (0 > sqlstate_errors_init(module)) { goto exit; } | ||||
|     if (0 > add_module_constants(module)) { goto error; } | ||||
|     if (0 > add_module_types(module)) { goto error; } | ||||
|     if (0 > datetime_init()) { goto error; } | ||||
|     if (0 > encodings_init(module)) { goto error; } | ||||
|     if (0 > typecast_init(module)) { goto error; } | ||||
|     if (0 > adapters_init(module)) { goto error; } | ||||
|     if (0 > basic_errors_init(module)) { goto error; } | ||||
|     if (0 > sqlstate_errors_init(module)) { goto error; } | ||||
| 
 | ||||
|     Dprintf("psycopgmodule: module initialization complete"); | ||||
| 
 | ||||
| exit: | ||||
|     return module; | ||||
| 
 | ||||
| error: | ||||
| 	if (module) | ||||
| 		Py_DECREF(module); | ||||
| 	return NULL; | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user