Browse Source

- MFH Make test check for PlPgSQL before using it

PHP-5.1
Marcus Boerger 21 years ago
parent
commit
91682f88e4
  1. 35
      ext/pgsql/tests/80_bug32223.phpt

35
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);

Loading…
Cancel
Save