diff options
author | Wez Furlong <wez@php.net> | 2005-03-11 23:57:01 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2005-03-11 23:57:01 +0000 |
commit | 52dd9f028e748815462eb6b45b16e37d0832e053 (patch) | |
tree | ad4f48651a206439082af118e6b2876159120abd /ext/sqlite/sqlite.c | |
parent | b4a961a2349e47c588b32826cf6f8af0cbcf5b3d (diff) | |
download | php-git-52dd9f028e748815462eb6b45b16e37d0832e053.tar.gz |
Implement a PDO driver for sqlite 2
Diffstat (limited to 'ext/sqlite/sqlite.c')
-rw-r--r-- | ext/sqlite/sqlite.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index 8b404f5465..ed8b25ac9a 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -49,6 +49,12 @@ extern PHPAPI zend_class_entry *spl_ce_RuntimeException; extern PHPAPI zend_class_entry *spl_ce_Countable; #endif +#if PHP_SQLITE2_HAVE_PDO +# include "pdo/php_pdo.h" +# include "pdo/php_pdo_driver.h" +extern pdo_driver_t pdo_sqlite2_driver; +#endif + #ifndef safe_emalloc # define safe_emalloc(a,b,c) emalloc((a)*(b)+(c)) #endif @@ -1068,12 +1074,23 @@ PHP_MINIT_FUNCTION(sqlite) REGISTER_LONG_CONSTANT("SQLITE_ROW", SQLITE_ROW, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SQLITE_DONE", SQLITE_DONE, CONST_CS|CONST_PERSISTENT); +#if PHP_SQLITE2_HAVE_PDO + if (FAILURE == php_pdo_register_driver(&pdo_sqlite2_driver)) { + return FAILURE; + } +#endif + return SUCCESS; } PHP_MSHUTDOWN_FUNCTION(sqlite) { UNREGISTER_INI_ENTRIES(); + +#if PHP_SQLITE2_HAVE_PDO + php_pdo_unregister_driver(&pdo_sqlite2_driver); +#endif + return SUCCESS; } |