You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							88 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							88 lines
						
					
					
						
							2.1 KiB
						
					
					
				| <?php | |
| 
 | |
| function getmicrotime() | |
| { | |
| 	$t = microtime(); | |
| 	$t = explode(' ',$t); | |
| 	return (float)$t[1]+ (float)$t[0]; | |
| } | |
| 
 | |
| function doloop() | |
| { | |
| global $db,$MAX; | |
| 	 | |
| 	$sql = "select id,firstname,lastname from adoxyz where  | |
| 		firstname not like ? and lastname not like ? and id=?"; | |
| 	$offset = 0; | |
| 	/*$sql = "select * from juris9.employee join juris9.emp_perf_plan on epp_empkey = emp_id  | |
| 		where emp_name not like ? and emp_name not like ? and emp_id=28000+?"; | |
| 	$offset = 28000;*/ | |
| 	for ($i=1; $i <= $MAX; $i++) { | |
| 		$db->Param(false); | |
| 		$x = (rand() % 10) + 1; | |
| 		$db->debug= ($i==1); | |
| 		$id = $db->GetOne($sql, | |
| 			array('Z%','Z%',$x)); | |
| 		if($id != $offset+$x) { | |
| 			print "<p>Error at $x"; | |
| 			break; | |
| 		} | |
| 	} | |
| } | |
| 
 | |
| include_once('../adodb.inc.php'); | |
| $db = NewADOConnection('postgres7'); | |
| $db->PConnect('localhost','tester','test','test') || die("failed connection"); | |
| 
 | |
| $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"; | |
| $val = rawurldecode($enc); | |
| 
 | |
| $MAX = 1000; | |
| 
 | |
| adodb_pr($db->ServerInfo()); | |
| 
 | |
| echo "<h4>Testing PREPARE/EXECUTE PLAN</h4>"; | |
| 
 | |
| 
 | |
| $db->_bindInputArray = true; // requires postgresql 7.3+ and ability to modify database | |
| $t = getmicrotime(); | |
| doloop(); | |
| echo '<p>',$MAX,' times, with plan=',getmicrotime() - $t,'</p>'; | |
| 
 | |
| 
 | |
| $db->_bindInputArray = false; | |
| $t = getmicrotime(); | |
| doloop(); | |
| echo '<p>',$MAX,' times, no plan=',getmicrotime() - $t,'</p>'; | |
| 
 | |
| 
 | |
| 
 | |
| echo "<h4>Testing UPDATEBLOB</h4>"; | |
| $db->debug=1; | |
| 
 | |
| ### TEST BEGINS | |
|  | |
| $db->Execute("insert into photos (id,name) values(9999,'dot.gif')"); | |
| $db->UpdateBlob('photos','photo',$val,'id=9999'); | |
| $v = $db->GetOne('select photo from photos where id=9999'); | |
| 
 | |
| 
 | |
| ### CLEANUP | |
|  | |
| $db->Execute("delete from photos where id=9999"); | |
| 
 | |
| ### VALIDATION | |
|  | |
| if ($v !== $val) echo "<b>*** ERROR: Inserted value does not match downloaded val<b>"; | |
| else echo "<b>*** OK: Passed</b>"; | |
| 
 | |
| echo "<pre>"; | |
| echo "INSERTED: ", $enc; | |
| echo "<hr>"; | |
| echo"RETURNED: ", rawurlencode($v); | |
| echo "<hr><p>"; | |
| echo "INSERTED: ", $val; | |
| echo "<hr>"; | |
| echo "RETURNED: ", $v; | |
| 
 | |
| ?>
 |