scottmac Tue Jan 13 02:50:23 2009 UTC
Added files:
/php-src/ext/pdo_sqlite/tests bug_42589.phpt
Modified files:
/php-src/ext/pdo_sqlite config.m4 sqlite_statement.c
/php-src/ext/sqlite3 config0.m4
Log:
Add table key to getColumnMeta() with SQLite
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_sqlite/config.m4?r1=1.41&r2=1.42&diff_format=u
Index: php-src/ext/pdo_sqlite/config.m4
diff -u php-src/ext/pdo_sqlite/config.m4:1.41
php-src/ext/pdo_sqlite/config.m4:1.42
--- php-src/ext/pdo_sqlite/config.m4:1.41 Mon Jan 12 19:02:41 2009
+++ php-src/ext/pdo_sqlite/config.m4 Tue Jan 13 02:50:22 2009
@@ -1,4 +1,4 @@
-dnl $Id: config.m4,v 1.41 2009/01/12 19:02:41 scottmac Exp $
+dnl $Id: config.m4,v 1.42 2009/01/13 02:50:22 scottmac Exp $
dnl config.m4 for extension pdo_sqlite
dnl vim:et:sw=2:ts=2:
@@ -79,7 +79,7 @@
threadsafe_flags="-DSQLITE_THREADSAFE=0"
fi
- other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_CORE=1"
+ other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_CORE=1
-DSQLITE_ENABLE_COLUMN_METADATA=1"
if test "$PHP_SQLITE3" != "yes"; then
PHP_ADD_SOURCES(PHP_EXT_DIR(sqlite3), libsqlite/sqlite3.c)
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_sqlite/sqlite_statement.c?r1=1.27&r2=1.28&diff_format=u
Index: php-src/ext/pdo_sqlite/sqlite_statement.c
diff -u php-src/ext/pdo_sqlite/sqlite_statement.c:1.27
php-src/ext/pdo_sqlite/sqlite_statement.c:1.28
--- php-src/ext/pdo_sqlite/sqlite_statement.c:1.27 Wed Dec 31 11:12:34 2008
+++ php-src/ext/pdo_sqlite/sqlite_statement.c Tue Jan 13 02:50:23 2009
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: sqlite_statement.c,v 1.27 2008/12/31 11:12:34 sebastian Exp $ */
+/* $Id: sqlite_statement.c,v 1.28 2009/01/13 02:50:23 scottmac Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -323,6 +323,13 @@
add_assoc_string(return_value, "sqlite:decl_type", str, 1);
}
+#ifdef SQLITE_ENABLE_COLUMN_METADATA
+ str = sqlite3_column_table_name(S->stmt, colno);
+ if (str) {
+ add_assoc_string(return_value, "table", str, 1);
+ }
+#endif
+
add_assoc_zval(return_value, "flags", flags);
return SUCCESS;
http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/config0.m4?r1=1.8&r2=1.9&diff_format=u
Index: php-src/ext/sqlite3/config0.m4
diff -u php-src/ext/sqlite3/config0.m4:1.8 php-src/ext/sqlite3/config0.m4:1.9
--- php-src/ext/sqlite3/config0.m4:1.8 Mon Dec 22 16:42:34 2008
+++ php-src/ext/sqlite3/config0.m4 Tue Jan 13 02:50:23 2009
@@ -1,4 +1,4 @@
-dnl $Id: config0.m4,v 1.8 2008/12/22 16:42:34 scottmac Exp $
+dnl $Id: config0.m4,v 1.9 2009/01/13 02:50:23 scottmac Exp $
dnl config.m4 for extension sqlite3
dnl vim:et:ts=2:sw=2
@@ -67,7 +67,7 @@
debug_flags="-DSQLITE_DEBUG=1"
fi
- other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_ICU=1"
+ other_flags="-DSQLITE_ENABLE_FTS3=1 -DSQLITE_CORE=1 -DSQLITE_ENABLE_ICU=1
-DSQLITE_ENABLE_COLUMN_METADATA=1"
PHP_SQLITE3_CFLAGS="-...@ext_srcdir@/libsqlite
-...@ext_builddir@/libsqlite $other_flags $threadsafe_flags $debug_flags"
fi
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_sqlite/tests/bug_42589.phpt?view=markup&rev=1.1
Index: php-src/ext/pdo_sqlite/tests/bug_42589.phpt
+++ php-src/ext/pdo_sqlite/tests/bug_42589.phpt
--TEST--
PDO SQLite Feature Request #42589 (getColumnMeta() should also return table
name)
--SKIPIF--
<?php
if (!extension_loaded('pdo') || !extension_loaded('pdo_sqlite')) die('skip not
loaded');
?>
--FILE--
<?php
$db = new PDO("sqlite::memory:");
$db->exec('CREATE TABLE test (field1 VARCHAR(10))');
$db->exec('INSERT INTO test VALUES("test")');
$result = $db->query('SELECT * FROM test t1 LEFT JOIN test t2 ON t1.field1 =
t2.field1');
$meta1 = $result->getColumnMeta(0);
$meta2 = $result->getColumnMeta(1);
var_dump(!empty($meta1[b'table']) && $meta1[b'table'] == b'test');
var_dump(!empty($meta2[b'table']) && $meta2[b'table'] == b'test');
?>
--EXPECTF--
bool(true)
bool(true)
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php