summaryrefslogtreecommitdiff
path: root/ext/pgsql/tests/skipif.inc
blob: 38c2888afa5fb32c1a4b9f11aa75568cad587961 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
// This script prints "skip" unless:
// * the pgsql extension is built-in or loadable, AND
// * there is a database called "test" accessible
//   with no username/password, AND
// * we have create/drop privileges on the entire "test"
//   database

include("config.inc");
include("lcmess.inc");

if (!extension_loaded("pgsql")) {
    die("skip pgsql extension not loaded\n");
}
$conn = @pg_connect($conn_str);
if (!is_resource($conn)) {
    die("skip could not connect\n");
}

function skip_server_version($version, $op = '<')
{
    $pg = pg_parameter_status('server_version');
    if (version_compare($pg, $version, $op)) {
        die("skip Server version {$pg} is {$op} {$version}\n");
    }
    return $pg;
}

function skip_bytea_not_hex()
{
    $out = pg_escape_bytea("\xFF");
    if (strpos($out, '377') !== false) {
        die("skip libpq or backend < 9.0\n");
    }
}

function skip_bytea_not_escape()
{
    $out = pg_escape_bytea("\xFF");
    if (strpos($out, '377') === false) {
        die("skip libpq or backend >= 9.0\n");
    }
}

?>