C:\xampp\php\pear\adodb\drivers\adodb-pdo_mssql.inc.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php


/*
V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  Released under both BSD license and Lesser GPL library license. 
  Whenever there is any discrepancy between the two licenses, 
  the BSD license will take precedence.
  Set tabs to 8.
 
*/ 

class ADODB_pdo_mssql extends ADODB_pdo {
    
    var 
$hasTop 'top';
    var 
$sysDate 'convert(datetime,convert(char,GetDate(),102),102)';
    var 
$sysTimeStamp 'GetDate()';
    
    
    function 
_init($parentDriver)
    {
    
        
$parentDriver->hasTransactions false## <<< BUG IN PDO mssql driver
        
$parentDriver->_bindInputArray false;
        
$parentDriver->hasInsertID true;
    }
    
    function 
ServerInfo()
    {
        return 
ADOConnection::ServerInfo();
    }
    
    function 
SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
    {
        
$ret ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
        return 
$ret;
    }
    
    function 
SetTransactionMode$transaction_mode 
    {
        
$this->_transmode  $transaction_mode;
        if (empty(
$transaction_mode)) {
            
$this->Execute('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');
            return;
        }
        if (!
stristr($transaction_mode,'isolation')) $transaction_mode 'ISOLATION LEVEL '.$transaction_mode;
        
$this->Execute("SET TRANSACTION ".$transaction_mode);
    }
    
    function 
MetaTables($ttype=false,$showSchema=false,$mask=false
    {
        return 
false;
    }
    
    function 
MetaColumns($table,$normalize=true)
    {
        return 
false;
    }

}
?>
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586