summaryrefslogtreecommitdiff
path: root/ext/interbase/tests/interbase.inc
blob: 260ef00622a7eeb834cee176370b81e7d506ec3d (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php

/* $Id$ */
/* used in tests */

srand((double)microtime()*1000000);

$test_base = dirname(__FILE__)."/ibase_test.tmp";
@unlink($test_base);

$name = tempnam(dirname(__FILE__), "CREATEDB");
$ftmp = fopen($name,"w");
fwrite($ftmp, 
"
	create database \"$test_base\";
	create table test1 (i integer, c varchar(100));
	commit;
   	insert into test1(i, c) values(1,  'test table created with isql');
	exit;
"
);
fclose($ftmp);

/* set the correct binary */
if (is_executable('isql')) {
	$cmd = 'isql';
} else {
	$cmd = '/opt/interbase/bin/isql';
}

exec("$cmd -i $name 2>&1");
@unlink($name);


function out_table($table_name)
{
	echo "--- $table_name ---\n";
	$res = ibase_query("select * from $table_name");
	$f = ibase_num_fields($res);
	while ($r = ibase_fetch_row($res)){
		for($i = 0; $i < $f; $i++)
    		echo "$r[$i]\t";
		echo "\n";
	}
	ibase_free_result($res);
	echo "---\n";
}

function out_result($result, $table_name = "")
{
	echo "--- $table_name ---\n";
	$f = ibase_num_fields($result);
	while ($r = ibase_fetch_row($result)){
		for($i = 0; $i < $f; $i++)
    		echo "$r[$i]\t";
		echo "\n";
	}
	echo "---\n";
}

function out_result_trap_error($result, $table_name = "")
{  
   echo "--- $table_name ---\n";
   while ($r = @ibase_fetch_assoc($result)){
      while (list($k, $v) = each($r) ){
         echo "$r[$k]\t";
      }
      echo "\n";
   }
   echo "errmsg [" . ibase_errmsg() . "]\t\n";
   echo "---\n";
} 

/* M/D/Y H:M:S */
function rand_datetime()
{
    return sprintf("%02d/%02d/%4d %02d:%02d:%02d",
    rand()%12+1, rand()%28+1, rand()%100+1910,
    rand()%24,   rand()%60,  rand()%60);
}

/* random binary string  */
function rand_binstr($max_len)
{
    $len = rand() % $max_len;
    $s = "";
    while($len--)
        $s .= sprintf("%c", rand() % 256);
    return $s;
}

function rand_str($max_len)
{
    $len = rand() % $max_len;
    $s = "";
    while($len--)
        $s .= sprintf("%c", rand() % 26 + 65);;
    return $s;
}

function rand_number($len , $prec = -1, $sign = 1)
{
    if($prec == -1){
        $n = substr(rand() . rand(), 0, rand() % $len + 1);
        if(strlen($n) < $len)
	    	$n .= "." . substr(rand(), 0, rand() % ($len - strlen($n)) + 1);
    }elseif ($prec == 0){
        $n = substr(rand() . rand(), 0, rand() % $len + 1);
    }else{
        $n = substr(rand() . rand(), 0, rand() % ($len - $prec) + 1);
        $n .= "." . substr(rand(), 0, $prec);
    }
    if($sign && (rand() % 3 == 0))
        $n = "-" .$n;
    return $n;
}

?>