mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-26 02:43:43 +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)
|
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`).
|
- Fix building when pg_config returns an empty string (:ticket:`#1599`).
|
||||||
- Wheel package compiled against OpenSSL 1.1.1v.
|
- 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 */
|
/* initialize types and objects not exposed to the module */
|
||||||
Py_SET_TYPE(&typecastType, &PyType_Type);
|
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);
|
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);
|
Py_SET_TYPE(&errorType, &PyType_Type);
|
||||||
errorType.tp_base = (PyTypeObject *)PyExc_StandardError;
|
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 */
|
/* initialize the module */
|
||||||
module = PyModule_Create(&psycopgmodule);
|
module = PyModule_Create(&psycopgmodule);
|
||||||
if (!module) { goto exit; }
|
if (!module) { goto error; }
|
||||||
|
|
||||||
if (0 > add_module_constants(module)) { goto exit; }
|
if (0 > add_module_constants(module)) { goto error; }
|
||||||
if (0 > add_module_types(module)) { goto exit; }
|
if (0 > add_module_types(module)) { goto error; }
|
||||||
if (0 > datetime_init()) { goto exit; }
|
if (0 > datetime_init()) { goto error; }
|
||||||
if (0 > encodings_init(module)) { goto exit; }
|
if (0 > encodings_init(module)) { goto error; }
|
||||||
if (0 > typecast_init(module)) { goto exit; }
|
if (0 > typecast_init(module)) { goto error; }
|
||||||
if (0 > adapters_init(module)) { goto exit; }
|
if (0 > adapters_init(module)) { goto error; }
|
||||||
if (0 > basic_errors_init(module)) { goto exit; }
|
if (0 > basic_errors_init(module)) { goto error; }
|
||||||
if (0 > sqlstate_errors_init(module)) { goto exit; }
|
if (0 > sqlstate_errors_init(module)) { goto error; }
|
||||||
|
|
||||||
Dprintf("psycopgmodule: module initialization complete");
|
Dprintf("psycopgmodule: module initialization complete");
|
||||||
|
|
||||||
exit:
|
|
||||||
return module;
|
return module;
|
||||||
|
|
||||||
|
error:
|
||||||
|
if (module)
|
||||||
|
Py_DECREF(module);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user