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

Reply via email to