diff options
Diffstat (limited to 'ext/pdo/pdo.c')
| -rwxr-xr-x | ext/pdo/pdo.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ext/pdo/pdo.c b/ext/pdo/pdo.c index ea03f61cf3..2e3a24fbc1 100755 --- a/ext/pdo/pdo.c +++ b/ext/pdo/pdo.c @@ -208,6 +208,10 @@ PHP_MINIT_FUNCTION(pdo) ZEND_INIT_MODULE_GLOBALS(pdo, php_pdo_init_globals, NULL); REGISTER_INI_ENTRIES(); + if (FAILURE == pdo_sqlstate_init_error_table()) { + return FAILURE; + } + zend_hash_init(&pdo_driver_hash, 0, NULL, NULL, 1); le_ppdo = zend_register_list_destructors_ex(NULL, php_pdo_pdbh_dtor, @@ -252,7 +256,9 @@ PHP_MINIT_FUNCTION(pdo) REGISTER_LONG_CONSTANT("PDO_CASE_LOWER", (long)PDO_CASE_LOWER, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_CASE_UPPER", (long)PDO_CASE_UPPER, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("PDO_ERR_NONE", (long)PDO_ERR_NONE, CONST_CS|CONST_PERSISTENT); + REGISTER_STRING_CONSTANT("PDO_ERR_NONE", PDO_ERR_NONE, CONST_CS|CONST_PERSISTENT); + +#if 0 REGISTER_LONG_CONSTANT("PDO_ERR_CANT_MAP", (long)PDO_ERR_CANT_MAP, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_ERR_SYNTAX", (long)PDO_ERR_SYNTAX, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_ERR_CONSTRAINT", (long)PDO_ERR_CONSTRAINT, CONST_CS|CONST_PERSISTENT); @@ -263,6 +269,7 @@ PHP_MINIT_FUNCTION(pdo) REGISTER_LONG_CONSTANT("PDO_ERR_TRUNCATED", (long)PDO_ERR_TRUNCATED, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_ERR_DISCONNECTED", (long)PDO_ERR_DISCONNECTED, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_ERR_NO_PERM", (long)PDO_ERR_NO_PERM, CONST_CS|CONST_PERSISTENT); +#endif INIT_CLASS_ENTRY(ce, "PDOException", NULL); pdo_exception_ce = zend_register_internal_class_ex(&ce, zend_exception_get_default(), NULL TSRMLS_CC); @@ -290,6 +297,7 @@ PHP_MSHUTDOWN_FUNCTION(pdo) { UNREGISTER_INI_ENTRIES(); zend_hash_destroy(&pdo_driver_hash); + pdo_sqlstate_fini_error_table(); return SUCCESS; } /* }}} */ |
