Try multiple postgresql versions
[m6w6/ext-pq] / tests / async005.phpt
1 --TEST--
2 async prepared statement
3 --SKIPIF--
4 <?php include "_skipif.inc"; ?>
5 --FILE--
6 <?php
7 echo "Test\n";
8
9 include "_setup.inc";
10
11 function complete($s) {
12 do {
13 while ($s->connection->busy) {
14 $r = array($s->connection->socket);
15 $w = $e = null;
16 if (stream_select($r, $w, $e, null)) {
17 $s->connection->poll();
18 }
19 }
20 } while ($s->connection->getResult());
21 }
22
23 $c = new pq\Connection(PQ_DSN);
24 $t = new pq\Types($c);
25 $s = $c->prepareAsync("test", "SELECT \$1,\$2::int4", array($t["int4"]->oid));
26
27 complete($s);
28
29 $s->execAsync(array(1,2), function ($res) {
30 var_dump($res);
31 });
32
33 complete($s);
34
35 ?>
36 DONE
37 --EXPECTF--
38 Test
39 object(pq\Result)#%d (8) {
40 ["status"]=>
41 int(2)
42 ["statusMessage"]=>
43 string(9) "TUPLES_OK"
44 ["errorMessage"]=>
45 string(0) ""
46 ["numRows"]=>
47 int(1)
48 ["numCols"]=>
49 int(2)
50 ["affectedRows"]=>
51 int(%d)
52 ["fetchType"]=>
53 int(0)
54 ["autoConvert"]=>
55 int(65535)
56 }
57 DONE