--TEST-- async cursor --SKIPIF-- --FILE-- busy) { $r = array($c->socket); $w = $e = null; if (stream_select($r, $w, $e, null)) { $c->poll(); } } } while ($c->getResult()); } $c = new pq\Connection(PQ_DSN); $p = $c->declareAsync("mycursor", pq\Cursor::WITH_HOLD, "SELECT * FROM generate_series(0,29) s WHERE (s%2)=0"); complete($c); do { $p->fetchAsync(2, function ($r) { foreach ($r as $row) { foreach ($row as $col) { echo " $col"; } echo "\n"; } }); complete($p->connection); $p->moveAsync(1, function ($r) use(&$keep_going) { $keep_going = $r->affectedRows; }); complete($p->connection); } while ($keep_going); ?> ===DONE=== --EXPECT-- Test 0 2 6 8 12 14 18 20 24 26 ===DONE===