summaryrefslogtreecommitdiff
path: root/ext/sqlite
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2003-12-10 18:56:05 +0000
committerIlia Alshanetsky <iliaa@php.net>2003-12-10 18:56:05 +0000
commit9165dc414ecac35784f82082036dc5b3f9e1876a (patch)
treeb45126750cecd2c31f5859b379771da532516f0b /ext/sqlite
parent009e8498c35083d5c707cb4b42cc32b9e70e8f06 (diff)
downloadphp-git-9165dc414ecac35784f82082036dc5b3f9e1876a.tar.gz
The changes() method should be that of the database object not that of
a result. Added a test case for this bug.
Diffstat (limited to 'ext/sqlite')
-rw-r--r--ext/sqlite/sqlite.c3
-rwxr-xr-xext/sqlite/tests/sqlite_oo_027.phpt42
2 files changed, 43 insertions, 2 deletions
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c
index 535455ccab..6099e6665e 100644
--- a/ext/sqlite/sqlite.c
+++ b/ext/sqlite/sqlite.c
@@ -206,6 +206,7 @@ function_entry sqlite_funcs_db[] = {
PHP_ME_MAPPING(single_query, sqlite_single_query, NULL)
PHP_ME_MAPPING(unbuffered_query, sqlite_unbuffered_query, NULL)
PHP_ME_MAPPING(last_insert_rowid, sqlite_last_insert_rowid, NULL)
+ PHP_ME_MAPPING(changes, sqlite_changes, NULL)
PHP_ME_MAPPING(create_aggregate, sqlite_create_aggregate, NULL)
PHP_ME_MAPPING(create_function, sqlite_create_function, NULL)
PHP_ME_MAPPING(busy_timeout, sqlite_busy_timeout, NULL)
@@ -221,7 +222,6 @@ function_entry sqlite_funcs_query[] = {
PHP_ME_MAPPING(fetch_single, sqlite_fetch_single, NULL)
PHP_ME_MAPPING(fetch_all, sqlite_fetch_all, NULL)
PHP_ME_MAPPING(column, sqlite_column, NULL)
- PHP_ME_MAPPING(changes, sqlite_changes, NULL)
PHP_ME_MAPPING(num_fields, sqlite_num_fields, NULL)
PHP_ME_MAPPING(field_name, sqlite_field_name, NULL)
/* spl_forward */
@@ -244,7 +244,6 @@ function_entry sqlite_funcs_ub_query[] = {
PHP_ME_MAPPING(fetch_single, sqlite_fetch_single, NULL)
PHP_ME_MAPPING(fetch_all, sqlite_fetch_all, NULL)
PHP_ME_MAPPING(column, sqlite_column, NULL)
- PHP_ME_MAPPING(changes, sqlite_changes, NULL)
PHP_ME_MAPPING(num_fields, sqlite_num_fields, NULL)
PHP_ME_MAPPING(field_name, sqlite_field_name, NULL)
/* spl_forward */
diff --git a/ext/sqlite/tests/sqlite_oo_027.phpt b/ext/sqlite/tests/sqlite_oo_027.phpt
new file mode 100755
index 0000000000..069c7c97ea
--- /dev/null
+++ b/ext/sqlite/tests/sqlite_oo_027.phpt
@@ -0,0 +1,42 @@
+--TEST--
+sqlite-oo: changes
+--INI--
+sqlite.assoc_case=0
+--SKIPIF--
+<?php # vim:ft=php
+if (!extension_loaded("sqlite")) print "skip";
+?>
+--FILE--
+<?php
+include "blankdb_oo.inc";
+
+$data = array("one", "two", "three");
+
+$db->query("CREATE TABLE strings(a VARCHAR)");
+
+foreach ($data as $str) {
+ $db->query("INSERT INTO strings VALUES('$str')");
+ echo $db->changes() . "\n";
+}
+
+$db->query("UPDATE strings SET a='foo' WHERE a!='two'");
+echo $db->changes() . "\n";
+
+$db->query("DELETE FROM strings WHERE 1");
+echo $db->changes() . "\n";
+
+$str = '';
+foreach ($data as $s) {
+ $str .= "INSERT INTO strings VALUES('".$s."');";
+}
+$db->query($str);
+echo $db->changes() . "\n";
+
+?>
+--EXPECT--
+1
+1
+1
+2
+3
+3