[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 3 4 /* 5 V5.19 23-Apr-2014 (c) 2000-2014 John Lim (jlim#natsoft.com). All rights reserved. 6 Released under both BSD license and Lesser GPL library license. 7 Whenever there is any discrepancy between the two licenses, 8 the BSD license will take precedence. 9 Set tabs to 8. 10 11 */ 12 13 class ADODB_pdo_oci extends ADODB_pdo_base { 14 15 var $concat_operator='||'; 16 var $sysDate = "TRUNC(SYSDATE)"; 17 var $sysTimeStamp = 'SYSDATE'; 18 var $NLS_DATE_FORMAT = 'YYYY-MM-DD'; // To include time, use 'RRRR-MM-DD HH24:MI:SS' 19 var $random = "abs(mod(DBMS_RANDOM.RANDOM,10000001)/10000000)"; 20 var $metaTablesSQL = "select table_name,table_type from cat where table_type in ('TABLE','VIEW')"; 21 var $metaColumnsSQL = "select cname,coltype,width, SCALE, PRECISION, NULLS, DEFAULTVAL from col where tname='%s' order by colno"; 22 23 var $_initdate = true; 24 var $_hasdual = true; 25 26 function _init($parentDriver) 27 { 28 $parentDriver->_bindInputArray = true; 29 $parentDriver->_nestedSQL = true; 30 if ($this->_initdate) { 31 $parentDriver->Execute("ALTER SESSION SET NLS_DATE_FORMAT='".$this->NLS_DATE_FORMAT."'"); 32 } 33 } 34 35 function MetaTables($ttype=false,$showSchema=false,$mask=false) 36 { 37 if ($mask) { 38 $save = $this->metaTablesSQL; 39 $mask = $this->qstr(strtoupper($mask)); 40 $this->metaTablesSQL .= " AND table_name like $mask"; 41 } 42 $ret = ADOConnection::MetaTables($ttype,$showSchema); 43 44 if ($mask) { 45 $this->metaTablesSQL = $save; 46 } 47 return $ret; 48 } 49 50 function MetaColumns($table,$normalize=true) 51 { 52 global $ADODB_FETCH_MODE; 53 54 $false = false; 55 $save = $ADODB_FETCH_MODE; 56 $ADODB_FETCH_MODE = ADODB_FETCH_NUM; 57 if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false); 58 59 $rs = $this->Execute(sprintf($this->metaColumnsSQL,strtoupper($table))); 60 61 if (isset($savem)) $this->SetFetchMode($savem); 62 $ADODB_FETCH_MODE = $save; 63 if (!$rs) { 64 return $false; 65 } 66 $retarr = array(); 67 while (!$rs->EOF) { //print_r($rs->fields); 68 $fld = new ADOFieldObject(); 69 $fld->name = $rs->fields[0]; 70 $fld->type = $rs->fields[1]; 71 $fld->max_length = $rs->fields[2]; 72 $fld->scale = $rs->fields[3]; 73 if ($rs->fields[1] == 'NUMBER' && $rs->fields[3] == 0) { 74 $fld->type ='INT'; 75 $fld->max_length = $rs->fields[4]; 76 } 77 $fld->not_null = (strncmp($rs->fields[5], 'NOT',3) === 0); 78 $fld->binary = (strpos($fld->type,'BLOB') !== false); 79 $fld->default_value = $rs->fields[6]; 80 81 if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld; 82 else $retarr[strtoupper($fld->name)] = $fld; 83 $rs->MoveNext(); 84 } 85 $rs->Close(); 86 if (empty($retarr)) 87 return $false; 88 else 89 return $retarr; 90 } 91 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |