ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/WEBCONDDB/php_CondDB/adodb/tests/test-pgblob.php
Revision: 1.1
Committed: Fri Jun 29 07:49:42 2007 UTC (17 years, 10 months ago) by kdziedzi
Branch: MAIN
CVS Tags: V01-01-02, V01-01-01, V1_01_00, V01-01-00, V1_00_01, HEAD
Log Message:
Introducing new order in project

File Contents

# User Rev Content
1 kdziedzi 1.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     ?>