15 if (!defined(
'ADODB_DIR'))
die();
16 include(ADODB_DIR.
"/drivers/adodb-db2.inc.php");
19 if (!defined(
'ADODB_DB2OCI')){
20 define(
'ADODB_DB2OCI',1);
59 function _colonparser(
$sql,$arr)
61 $lensql = strlen(
$sql);
62 $arrsize =
sizeof($arr);
76 if ($state ==
'NORM' && $ch2 ==
'*') {
81 $ch2 = $at < $lensql ?
$sql[$at] :
'';
86 if ($state ==
'COMMENT' && $ch2 ==
'/') {
91 $ch2 = $at < $lensql ?
$sql[$at] :
'';
97 if ($state ==
'COMMENT2') $state =
'NORM';
104 $ch2 = $at < $lensql ?
$sql[$at] :
'';
105 }
while ($ch !==
"'");
109 if ($state ==
'COMMENT' || $state ==
'COMMENT2')
break;
112 if (
'0' <= $ch2 && $ch2 <=
'9') {
119 $ch2 = $at < $lensql ?
$sql[$at] :
'';
120 }
while (
'0' <= $ch && $ch <=
'9');
121 #echo "$n $arrsize ] "; 124 $sql2 .= substr(
$sql,$nprev,$nat-$nprev-1).
'?';
132 if ($state ==
'NORM') {
133 if ($ch2 ==
'-') $state =
'COMMENT2';
136 $ch2 = $at < $lensql ?
$sql[$at] :
'';
143 $ch2 = $at < $lensql ?
$sql[$at] :
'';
149 $sql2 .= substr(
$sql,$nprev);
152 return array($sql2,$arr2);
156 var $databaseType =
"db2oci";
157 var $sysTimeStamp =
'sysdate';
158 var $sysDate =
'trunc(sysdate)';
159 var $_bindInputArray =
true;
161 function ADODB_db2oci()
166 function Param($name,$type=
'C')
172 function MetaTables($ttype=
false,$schema=
false)
174 global $ADODB_FETCH_MODE;
176 $savem = $ADODB_FETCH_MODE;
177 $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
178 $qid = db2_tables($this->_connectionID);
182 $ADODB_FETCH_MODE = $savem;
188 $arr =
$rs->GetArray();
193 $isview = strncmp($ttype,
'V',1) === 0;
195 for ($i=0; $i <
sizeof($arr); $i++) {
196 if (!$arr[$i][2])
continue;
198 $schemaval = ($schema) ? $arr[$i][1].
'.' :
'';
199 $name = $schemaval.$arr[$i][2];
200 $owner = $arr[$i][1];
201 if (substr($name,0,8) ==
'EXPLAIN_')
continue;
204 if (strncmp($type,
'V',1) === 0) $arr2[] = $name;
205 }
else if (strncmp($type,
'T',1) === 0 && strncmp($owner,
'SYS',3) !== 0) $arr2[] = $name;
206 }
else if (strncmp($type,
'T',1) === 0 && strncmp($owner,
'SYS',3) !== 0) $arr2[] = $name;
211 function _Execute(
$sql, $inputarr=
false )
213 if ($inputarr) list(
$sql,$inputarr) = _colonparser(
$sql, $inputarr);
214 return parent::_Execute(
$sql, $inputarr);
221 var $databaseType =
"db2oci";
223 function ADORecordSet_db2oci($id,$mode=
false)
if(isset($_REQUEST['nrows'])) else $rs
MetaTables($ttype=false, $schema=false)