fix issue #19: Failed test with PgSQL < 9.3
[m6w6/ext-pq] / tests / unbuffered001.phpt
index 0754d8a767af4fb6802905de5946a147e1965b4b..46e4b9b551e48a3ab70a6691dcc6c4b73304a3ba 100644 (file)
@@ -1,7 +1,11 @@
 --TEST--
 unbuffered result
 --SKIPIF--
-<?php include "_skipif.inc"; ?>
+<?php 
+include "_skipif.inc";
+defined("pq\\Result::SINGLE_TUPLE") or die("skip need pq\\Result::SINGLE_TUPLE");
+
+?>
 --FILE--
 <?php
 echo "Test\n";
@@ -16,7 +20,8 @@ var_dump($c->unbuffered);
 $c->execAsync("SELECT a from generate_series(1,10) a", function($res) {
        switch ($res->status) {
        case pq\Result::SINGLE_TUPLE:
-               printf("%s\n", $res->fetchCol());
+               $res->fetchCol($val, "a");
+               printf("%s\n", $val);
                break;
        case pq\Result::TUPLES_OK:
                printf("-> fetching done\n");
@@ -26,22 +31,17 @@ $c->execAsync("SELECT a from generate_series(1,10) a", function($res) {
                break;
        }
 });
+
 do {
        while ($c->busy) {
-               switch ($c->poll()) {
-                       case pq\Connection::POLLING_READING:
-                               $w=$e=array();
-                               $r=array($c->socket);
-                               stream:select($r,$w,$e,1);
-                               break;
-                       case pq\Connection::POLLING_WRITING:
-                               $r=$e=array();
-                               $w=array($c->socket);
-                               stream_select($r,$w,$e,1);
-                               break;
+               $r = array($c->socket);
+               $w = $e = null;
+               if (stream_select($r, $w, $e, null)) {
+                       $c->poll();
                }
        }
 } while ($c->getResult());
+
 ?>
 DONE
 --EXPECTF--