felipe Wed Feb 11 10:44:48 2009 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/pdo_pgsql/tests large_objects.phpt Log: MFH: 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.1.2.1&r2=1.1.2.1.2.1&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.1.2.1 php-src/ext/pdo_pgsql/tests/large_objects.phpt:1.1.2.1.2.1 --- php-src/ext/pdo_pgsql/tests/large_objects.phpt:1.1.2.1 Tue Nov 29 02:11:39 2005 +++ php-src/ext/pdo_pgsql/tests/large_objects.phpt Wed Feb 11 10:44:48 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