felipe Wed Feb 11 10:44:27 2009 UTC
Modified files:
/php-src/ext/pdo_pgsql/tests large_objects.phpt
Log:
Fixed test bug #47311 (PDO::PARAM_LOB columns need to be bound before
execute() on PgSQL)
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_pgsql/tests/large_objects.phpt?r1=1.2&r2=1.3&diff_format=u
Index: php-src/ext/pdo_pgsql/tests/large_objects.phpt
diff -u php-src/ext/pdo_pgsql/tests/large_objects.phpt:1.2
php-src/ext/pdo_pgsql/tests/large_objects.phpt:1.3
--- php-src/ext/pdo_pgsql/tests/large_objects.phpt:1.2 Sat Dec 31 17:42:01 2005
+++ php-src/ext/pdo_pgsql/tests/large_objects.phpt Wed Feb 11 10:44:27 2009
@@ -19,7 +19,7 @@
$db->beginTransaction();
$oid = $db->pgsqlLOBCreate();
try {
-$stm = $db->pgsqlLOBOpen($oid);
+$stm = $db->pgsqlLOBOpen($oid, 'w+b');
fwrite($stm, "Hello dude\n");
$stmt = $db->prepare("INSERT INTO test (blobid, bloboid) values (?, ?)");
@@ -34,14 +34,37 @@
/* Pull it out */
$stmt = $db->prepare("SELECT * from test");
-$stmt->execute();
$stmt->bindColumn('bloboid', $lob, PDO::PARAM_LOB);
+$stmt->execute();
echo "Fetching:\n";
while (($row = $stmt->fetch(PDO::FETCH_ASSOC))) {
var_dump($row['blobid']);
var_dump(stream_get_contents($lob));
}
echo "Fetched!\n";
+
+/* Try again, with late bind */
+$stmt = $db->prepare("SELECT * from test");
+$stmt->execute();
+$stmt->bindColumn('bloboid', $lob, PDO::PARAM_LOB);
+echo "Fetching late bind:\n";
+while (($row = $stmt->fetch(PDO::FETCH_ASSOC))) {
+ var_dump($row['blobid']);
+ var_dump(is_int($row['bloboid']));
+}
+echo "Fetched!\n";
+
+/* Try again, with NO bind */
+$stmt = $db->prepare("SELECT * from test");
+$stmt->execute();
+$stmt->bindColumn('bloboid', $lob, PDO::PARAM_LOB);
+echo "Fetching NO bind:\n";
+while (($row = $stmt->fetch(PDO::FETCH_ASSOC))) {
+ var_dump($row['blobid']);
+ var_dump(is_int($row['bloboid']));
+}
+echo "Fetched!\n";
+
} catch (Exception $e) {
/* catch exceptions so that we can guarantee to clean
* up the LOB */
@@ -53,9 +76,18 @@
* linger and clutter up the storage */
$db->pgsqlLOBUnlink($oid);
+?>
--EXPECT--
Fetching:
int(1)
string(11) "Hello dude
"
Fetched!
+Fetching late bind:
+int(1)
+bool(true)
+Fetched!
+Fetching NO bind:
+int(1)
+bool(true)
+Fetched!
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php