Changeset 34 for trunk/phpgwapi/inc/adodb/drivers/adodb-odbc_mssql.inc.php
- Timestamp:
- 06/29/07 15:17:46 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/phpgwapi/inc/adodb/drivers/adodb-odbc_mssql.inc.php
r2 r34 1 1 <?php 2 2 /* 3 V4. 51 29 July 2004 (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved.3 V4.94 23 Jan 2007 (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved. 4 4 Released under both BSD license and Lesser GPL library license. 5 5 Whenever there is any discrepancy between the two licenses, … … 24 24 var $databaseType = 'odbc_mssql'; 25 25 var $fmtDate = "'Y-m-d'"; 26 var $fmtTimeStamp = "'Y-m-d h:i:sA'";26 var $fmtTimeStamp = "'Y-m-d H:i:s'"; 27 27 var $_bindInputArray = true; 28 28 var $metaTablesSQL="select name,case when type='U' then 'T' else 'V' end from sysobjects where (type='U' or type='V') and (name not in ('sysallocations','syscolumns','syscomments','sysdepends','sysfilegroups','sysfiles','sysfiles1','sysforeignkeys','sysfulltextcatalogs','sysindexes','sysindexkeys','sysmembers','sysobjects','syspermissions','sysprotects','sysreferences','systypes','sysusers','sysalternates','sysconstraints','syssegments','REFERENTIAL_CONSTRAINTS','CHECK_CONSTRAINTS','CONSTRAINT_TABLE_USAGE','CONSTRAINT_COLUMN_USAGE','VIEWS','VIEW_TABLE_USAGE','VIEW_COLUMN_USAGE','SCHEMATA','TABLES','TABLE_CONSTRAINTS','TABLE_PRIVILEGES','COLUMNS','COLUMN_DOMAIN_USAGE','COLUMN_PRIVILEGES','DOMAINS','DOMAIN_CONSTRAINTS','KEY_COLUMN_USAGE'))"; … … 44 44 { 45 45 $this->ADODB_odbc(); 46 $this->curmode = SQL_CUR_USE_ODBC;46 //$this->curmode = SQL_CUR_USE_ODBC; 47 47 } 48 48 … … 133 133 function &MetaColumns($table) 134 134 { 135 return ADOConnection::MetaColumns($table); 135 $arr = ADOConnection::MetaColumns($table); 136 return $arr; 137 } 138 139 140 function &MetaIndexes($table,$primary=false) 141 { 142 $table = $this->qstr($table); 143 144 $sql = "SELECT i.name AS ind_name, C.name AS col_name, USER_NAME(O.uid) AS Owner, c.colid, k.Keyno, 145 CASE WHEN I.indid BETWEEN 1 AND 254 AND (I.status & 2048 = 2048 OR I.Status = 16402 AND O.XType = 'V') THEN 1 ELSE 0 END AS IsPK, 146 CASE WHEN I.status & 2 = 2 THEN 1 ELSE 0 END AS IsUnique 147 FROM dbo.sysobjects o INNER JOIN dbo.sysindexes I ON o.id = i.id 148 INNER JOIN dbo.sysindexkeys K ON I.id = K.id AND I.Indid = K.Indid 149 INNER JOIN dbo.syscolumns c ON K.id = C.id AND K.colid = C.Colid 150 WHERE LEFT(i.name, 8) <> '_WA_Sys_' AND o.status >= 0 AND O.Name LIKE $table 151 ORDER BY O.name, I.Name, K.keyno"; 152 153 global $ADODB_FETCH_MODE; 154 $save = $ADODB_FETCH_MODE; 155 $ADODB_FETCH_MODE = ADODB_FETCH_NUM; 156 if ($this->fetchMode !== FALSE) { 157 $savem = $this->SetFetchMode(FALSE); 158 } 159 160 $rs = $this->Execute($sql); 161 if (isset($savem)) { 162 $this->SetFetchMode($savem); 163 } 164 $ADODB_FETCH_MODE = $save; 165 166 if (!is_object($rs)) { 167 return FALSE; 168 } 169 170 $indexes = array(); 171 while ($row = $rs->FetchRow()) { 172 if (!$primary && $row[5]) continue; 173 174 $indexes[$row[0]]['unique'] = $row[6]; 175 $indexes[$row[0]]['columns'][] = $row[1]; 176 } 177 return $indexes; 136 178 } 137 179 … … 140 182 if (is_string($sql)) $sql = str_replace('||','+',$sql); 141 183 return ADODB_odbc::_query($sql,$inputarr); 184 } 185 186 function SetTransactionMode( $transaction_mode ) 187 { 188 $this->_transmode = $transaction_mode; 189 if (empty($transaction_mode)) { 190 $this->Execute('SET TRANSACTION ISOLATION LEVEL READ COMMITTED'); 191 return; 192 } 193 if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode; 194 $this->Execute("SET TRANSACTION ".$transaction_mode); 142 195 } 143 196 … … 164 217 165 218 if ($a && sizeof($a)>0) return $a; 166 return false; 219 $false = false; 220 return $false; 167 221 } 168 222
Note: See TracChangeset
for help on using the changeset viewer.