Annotation of embedaddon/php/ext/pgsql/tests/26async_query_prepared.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: PostgreSQL async prepared queries
3: --SKIPIF--
4: <?php
5: include("skipif.inc");
6: if (!function_exists('pg_send_prepare')) die('skip function pg_send_prepare() does not exist');
7: ?>
8: --FILE--
9: <?php
10:
11: include('config.inc');
12:
13: $db = pg_connect($conn_str);
14:
15: $version = pg_version($db);
16: if ($version['protocol'] >= 3) {
17: if (!pg_send_prepare($db, 'php_test', "SELECT * FROM ".$table_name." WHERE num > \$1;")) {
18: echo "pg_send_prepare() error\n";
19: }
20: while(pg_connection_busy($db)); // busy wait: intended
21: if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
22: echo "pg_connection_status() error\n";
23: }
24: if (!($result = pg_get_result($db)))
25: {
26: echo "pg_get_result() error\n";
27: }
28: pg_free_result($result);
29:
30: if (!pg_send_execute($db, 'php_test', array(100))) {
31: echo "pg_send_execute() error\n";
32: }
33: while(pg_connection_busy($db)); // busy wait: intended
34: if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
35: echo "pg_connection_status() error\n";
36: }
37: if (!($result = pg_get_result($db)))
38: {
39: echo "pg_get_result() error\n";
40: }
41:
42: if (!($rows = pg_num_rows($result))) {
43: echo "pg_num_rows() error\n";
44: }
45: for ($i=0; $i < $rows; $i++)
46: {
47: pg_fetch_array($result, $i, PGSQL_NUM);
48: }
49: for ($i=0; $i < $rows; $i++)
50: {
51: pg_fetch_object($result);
52: }
53: for ($i=0; $i < $rows; $i++)
54: {
55: pg_fetch_row($result, $i);
56: }
57: for ($i=0; $i < $rows; $i++)
58: {
59: pg_fetch_result($result, $i, 0);
60: }
61:
62: pg_num_rows(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
63: pg_num_fields(pg_query_params($db, "SELECT * FROM ".$table_name." WHERE num > \$1;", array(100)));
64: pg_field_name($result, 0);
65: pg_field_num($result, $field_name);
66: pg_field_size($result, 0);
67: pg_field_type($result, 0);
68: pg_field_prtlen($result, 0);
69: pg_field_is_null($result, 0);
70:
71: if (!pg_send_prepare($db, "php_test2", "INSERT INTO ".$table_name." VALUES (\$1, \$2);"))
72: {
73: echo "pg_send_prepare() error\n";
74: }
75: while(pg_connection_busy($db)); // busy wait: intended
76: if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
77: echo "pg_connection_status() error\n";
78: }
79: if (!($result = pg_get_result($db)))
80: {
81: echo "pg_get_result() error\n";
82: }
83: pg_free_result($result);
84:
85: if (!pg_send_execute($db, "php_test2", array(9999, "A'BC")))
86: {
87: echo "pg_send_execute() error\n";
88: }
89: while(pg_connection_busy($db)); // busy wait: intended
90: if (pg_connection_status($db) === PGSQL_CONNECTION_BAD) {
91: echo "pg_connection_status() error\n";
92: }
93: if (!($result = pg_get_result($db)))
94: {
95: echo "pg_get_result() error\n";
96: }
97:
98: pg_last_oid($result);
99: pg_free_result($result);
100: }
101: pg_close($db);
102:
103: echo "OK";
104: ?>
105: --EXPECT--
106: OK
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>