#28246 [NEW]: sqlite_query("ATTACH...") returns FALSE even when it succeeds

From: Date: Sat, 01 May 2004 19:59:44 +0000
Subject: #28246 [NEW]: sqlite_query("ATTACH...") returns FALSE even when it succeeds
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-59111@lists.php.net to get a copy of this message
From: derrell dot lipman at unwireduniverse dot com Operating system: Linux 2.4 PHP version: 5.0.0RC2 PHP Bug Type: SQLite related Bug description: sqlite_query("ATTACH...") returns FALSE even when it succeeds Description: ------------ There is no way to ascertain whether an ATTACH command worked, as sqlite_query() and sqlite_unbuffered_query() return FALSE whether it worked or not. HERE'S THE FIX: Upgrading the embedded sqlite from 2.8.11 to 2.8.13 solved this problem (as well as correcting the 2.8.11 bugs, of course). Reproduce code: --------------- <?php /* * We assume that /tmp/test1.db and /tmp/test2.db exist and have the following * schema and data: * * test1.db: * CREATE TABLE t1 (i INTEGER PRIMARY KEY, t TEXT); * INSERT INTO t1 VALUES (23, 'hello'); * * test2.db: * CREATE TABLE t2 (j INTEGER PRIMARY KEY, t TEXT); * INSERT INTO t2 VALUES (42, 'world'); * */ if (($dbConn = sqlite_open("/tmp/test1.db", 0666)) === false) { echo "open test1.db failed<p>"; exit; } if (($dbRC = sqlite_query($dbConn, "ATTACH '/tmp/test2.db' AS test_db;")) === false) { echo "This should have returned TRUE, but returned FALSE. See, it can get data from t2...<br>"; if (! $dbRC = sqlite_query($dbConn, "SELECT j, t FROM t2;")) { echo "Could not retrieve data from t2<br>"; } else { while ($row = @sqlite_fetch_array($dbRC, SQLITE_ASSOC)) { echo "Got j = " . $row["j"] . ", t = " . $row["t"] . "<br>"; } } exit; } echo "ATTACH returned what it should have (this doesn't happen)<br>"; exit; ?> Expected result: ---------------- TRUE Actual result: -------------- FALSE -- Edit bug report at http://bugs.php.net/?id=28246&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=28246&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=28246&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=28246&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=28246&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=28246&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=28246&r=needscript Try newer version: http://bugs.php.net/fix.php?id=28246&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=28246&r=support Expected behavior: http://bugs.php.net/fix.php?id=28246&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=28246&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=28246&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=28246&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=28246&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=28246&r=dst IIS Stability: http://bugs.php.net/fix.php?id=28246&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=28246&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=28246&r=float

« previous php.bugs (#59111) next »