--TEST--
PostgreSQL notice function
--SKIPIF--
-<?php include("skipif.inc"); ?>
+<?php
+
+include("skipif.inc");
+
+_skip_lc_messages();
+
+?>
--INI--
pgsql.log_notice=1
pgsql.ignore_notices=0
--FILE--
<?php
include 'config.inc';
+include 'lcmess.inc';
$db = pg_connect($conn_str);
-pg_exec($db, "SET LC_MESSAGES='C';");
+
+_set_lc_messages();
+
pg_query($db, "BEGIN;");
pg_query($db, "BEGIN;");
$db = pg_connect($conn_str);
-$sql = "SELECT * FROM $table_name";
+$sql = "SELECT * FROM $table_name WHERE num = 0";
$result = pg_query($db, $sql) or die('Cannot qeury db');
$rows = pg_num_rows($result);
--SKIPIF--
<?php
require_once('skipif.inc');
+
+_skip_lc_messages();
@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 '
<?php
require_once('config.inc');
+require_once('lcmess.inc');
$dbh = @pg_connect($conn_str);
if (!$dbh) {
die ("Could not connect to the server");
}
-pg_exec($dbh, "SET LC_MESSAGES='C';");
-//@pg_query($dbh, "CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL'");
+_set_lc_messages();
+
$res = pg_query($dbh, "CREATE OR REPLACE FUNCTION test_notice() RETURNS boolean AS '
begin
RAISE NOTICE ''11111'';
--SKIPIF--
<?php
require_once('skipif.inc');
+
+_skip_lc_messages();
@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 '
<?php
require_once('config.inc');
+require_once('lcmess.inc');
define('dbh', pg_connect($conn_str));
if (!dbh) {
die ("Could not connect to the server");
}
-pg_exec(dbh, "SET LC_MESSAGES='C';");
-//@pg_query(dbh, "CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler LANCOMPILER 'PL/pgSQL'");
+_set_lc_messages();
+
$res = pg_query(dbh, "CREATE OR REPLACE FUNCTION test_notice() RETURNS boolean AS '
begin
RAISE NOTICE ''11111'';
--- /dev/null
+<?php
+
+function _skip_lc_messages($lc_messages = 'C')
+{
+ if (!_set_lc_messages($lc_messages)) {
+ die("skip Cannot set LC_MESSAGES to '{$lc_messages}'\n");
+ }
+}
+
+function _set_lc_messages($lc_messages = 'C')
+{
+ if (pg_result(pg_query("SHOW LC_MESSAGES"), 0, 0) != $lc_messages) {
+ if (!@pg_exec("SET LC_MESSAGES='{$lc_messages}'")) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+?>
// database
include("config.inc");
+include("lcmess.inc");
if (!extension_loaded("pgsql")) {
die("skip\n");