]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - lib/WikiDB/adodb/tests/test-pgblob.php
Upgrade adodb
[SourceForge/phpwiki.git] / lib / WikiDB / adodb / tests / test-pgblob.php
1 <?php
2
3 function getmicrotime()
4 {
5         $t = microtime();
6         $t = explode(' ',$t);
7         return (float)$t[1]+ (float)$t[0];
8 }
9
10 function doloop()
11 {
12 global $db,$MAX;
13         
14         $sql = "select id,firstname,lastname from adoxyz where 
15                 firstname not like ? and lastname not like ? and id=?";
16         $offset = 0;
17         /*$sql = "select * from juris9.employee join juris9.emp_perf_plan on epp_empkey = emp_id 
18                 where emp_name not like ? and emp_name not like ? and emp_id=28000+?";
19         $offset = 28000;*/
20         for ($i=1; $i <= $MAX; $i++) {
21                 $db->Param(false);
22                 $x = (rand() % 10) + 1;
23                 $db->debug= ($i==1);
24                 $id = $db->GetOne($sql,
25                         array('Z%','Z%',$x));
26                 if($id != $offset+$x) {
27                         print "<p>Error at $x";
28                         break;
29                 }
30         }
31 }
32
33 include_once('../adodb.inc.php');
34 $db = NewADOConnection('postgres7');
35 $db->PConnect('localhost','tester','test','test') || die("failed connection");
36
37 $enc = "GIF89a%01%00%01%00%80%FF%00%C0%C0%C0%00%00%00%21%F9%04%01%00%00%00%00%2C%00%00%00%00%01%00%01%00%00%01%012%00%3Bt_clear.gif%0D";
38 $val = rawurldecode($enc);
39
40 $MAX = 1000;
41
42 adodb_pr($db->ServerInfo());
43
44 echo "<h4>Testing PREPARE/EXECUTE PLAN</h4>";
45
46
47 $db->_bindInputArray = true; // requires postgresql 7.3+ and ability to modify database
48 $t = getmicrotime();
49 doloop();
50 echo '<p>',$MAX,' times, with plan=',getmicrotime() - $t,'</p>';
51
52
53 $db->_bindInputArray = false;
54 $t = getmicrotime();
55 doloop();
56 echo '<p>',$MAX,' times, no plan=',getmicrotime() - $t,'</p>';
57
58
59
60 echo "<h4>Testing UPDATEBLOB</h4>";
61 $db->debug=1;
62
63 ### TEST BEGINS
64
65 $db->Execute("insert into photos (id,name) values(9999,'dot.gif')");
66 $db->UpdateBlob('photos','photo',$val,'id=9999');
67 $v = $db->GetOne('select photo from photos where id=9999');
68
69
70 ### CLEANUP
71
72 $db->Execute("delete from photos where id=9999");
73
74 ### VALIDATION
75
76 if ($v !== $val) echo "<b>*** ERROR: Inserted value does not match downloaded val<b>";
77 else echo "<b>*** OK: Passed</b>";
78
79 echo "<pre>";
80 echo "INSERTED: ", $enc;
81 echo "<hr />";
82 echo"RETURNED: ", rawurlencode($v);
83 echo "<hr /><p>";
84 echo "INSERTED: ", $val;
85 echo "<hr />";
86 echo "RETURNED: ", $v;
87
88 ?>