[TASK] Update ADOdb to 5.18
[Packages/TYPO3.CMS.git] / typo3 / sysext / adodb / adodb / drivers / adodb-db2ora.inc.php
1 <?php
2 /*
3 V5.18 3 Sep 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
4 Released under both BSD license and Lesser GPL library license.
5 Whenever there is any discrepancy between the two licenses,
6 the BSD license will take precedence.
7 Set tabs to 4 for best viewing.
8
9 Latest version is available at http://adodb.sourceforge.net
10
11 Microsoft Visual FoxPro data driver. Requires ODBC. Works only on MS Windows.
12 */
13
14 // security - hide paths
15 if (!defined('ADODB_DIR')) die();
16 include(ADODB_DIR."/drivers/adodb-db2.inc.php");
17
18
19 if (!defined('ADODB_DB2OCI')){
20 define('ADODB_DB2OCI',1);
21
22
23 function _colontrack($p)
24 {
25 global $_COLONARR,$_COLONSZ;
26 $v = (integer) substr($p,1);
27 if ($v > $_COLONSZ) return $p;
28 $_COLONARR[] = $v;
29 return '?';
30 }
31
32 function _colonscope($sql,$arr)
33 {
34 global $_COLONARR,$_COLONSZ;
35
36 $_COLONARR = array();
37 $_COLONSZ = sizeof($arr);
38
39 $sql2 = preg_replace("/(:[0-9]+)/e","_colontrack('\\1')",$sql);
40
41 if (empty($_COLONARR)) return array($sql,$arr);
42
43 foreach($_COLONARR as $k => $v) {
44 $arr2[] = $arr[$v];
45 }
46
47 return array($sql2,$arr2);
48 }
49
50 class ADODB_db2oci extends ADODB_db2 {
51 var $databaseType = "db2oci";
52 var $sysTimeStamp = 'sysdate';
53 var $sysDate = 'trunc(sysdate)';
54
55 function ADODB_db2oci()
56 {
57 $this->ADODB_db2();
58 }
59
60
61 function _Execute($sql, $inputarr)
62 {
63 if ($inputarr) list($sql,$inputarr) = _colonscope($sql, $inputarr);
64 return parent::_Execute($sql, $inputarr);
65 }
66 };
67
68
69 class ADORecordSet_db2oci extends ADORecordSet_odbc {
70
71 var $databaseType = "db2oci";
72
73 function ADORecordSet_db2oci($id,$mode=false)
74 {
75 return $this->ADORecordSet_db2($id,$mode);
76 }
77 }
78
79 } //define
80 ?>