summaryrefslogtreecommitdiff
path: root/ext/sqlite/sqlite.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2005-03-11 23:57:01 +0000
committerWez Furlong <wez@php.net>2005-03-11 23:57:01 +0000
commit52dd9f028e748815462eb6b45b16e37d0832e053 (patch)
treead4f48651a206439082af118e6b2876159120abd /ext/sqlite/sqlite.c
parentb4a961a2349e47c588b32826cf6f8af0cbcf5b3d (diff)
downloadphp-git-52dd9f028e748815462eb6b45b16e37d0832e053.tar.gz
Implement a PDO driver for sqlite 2
Diffstat (limited to 'ext/sqlite/sqlite.c')
-rw-r--r--ext/sqlite/sqlite.c17
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;
}