diff options
| author | Marcus Boerger <helly@php.net> | 2005-10-09 15:58:13 +0000 |
|---|---|---|
| committer | Marcus Boerger <helly@php.net> | 2005-10-09 15:58:13 +0000 |
| commit | 91682f88e4d346683b7dc1c79a84a7231eae757e (patch) | |
| tree | 46e2236d67eedffd3640820945391ad0aa878bfa /ext/pgsql/tests | |
| parent | a8c5828ce077fe821e5c079d6adc5f6916107777 (diff) | |
| download | php-git-91682f88e4d346683b7dc1c79a84a7231eae757e.tar.gz | |
- MFH Make test check for PlPgSQL before using it
Diffstat (limited to 'ext/pgsql/tests')
| -rwxr-xr-x | ext/pgsql/tests/80_bug32223.phpt | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/ext/pgsql/tests/80_bug32223.phpt b/ext/pgsql/tests/80_bug32223.phpt index 94d934eb29..a605fcc20b 100755 --- a/ext/pgsql/tests/80_bug32223.phpt +++ b/ext/pgsql/tests/80_bug32223.phpt @@ -1,8 +1,17 @@ --TEST-- -Bug #27597 pg_fetch_array not returning false +Bug #32223 (weird behaviour of pg_last_notice) --SKIPIF-- <?php require_once('skipif.inc'); + +@pg_query($conn, "CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL'"); +$res = @pg_query($conn, "CREATE OR REPLACE FUNCTION test_notice() RETURNS boolean AS ' +begin + RAISE NOTICE ''11111''; + return ''f''; +end; +' LANGUAGE plpgsql;"); +if (!$res) die('skip PLPGSQL not available'); ?> --FILE-- <?php @@ -14,28 +23,22 @@ if (!$dbh) { die ("Could not connect to the server"); } -pg_query($dbh, "CREATE OR REPLACE FUNCTION test_notice() RETURNS boolean AS ' +//@pg_query($dbh, "CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL'"); +$res = pg_query($dbh, "CREATE OR REPLACE FUNCTION test_notice() RETURNS boolean AS ' begin RAISE NOTICE ''11111''; return ''f''; end; ' LANGUAGE plpgsql;"); -try -{ - $res = pg_query($dbh, 'SELECT test_notice()'); - $row = pg_fetch_row($res, 0); - var_dump($row); - pg_free_result($res); - if ($row[0] == 'f') - { - throw new Exception(pg_last_notice($dbh)); - } - echo 2; -} -catch (Exception $e) + +$res = pg_query($dbh, 'SELECT test_notice()'); +$row = pg_fetch_row($res, 0); +var_dump($row); +pg_free_result($res); +if ($row[0] == 'f') { - var_dump($e->getMessage()); + var_dump(pg_last_notice($dbh)); } pg_close($dbh); |
