1<?php
2
3
4/*
5@version   v5.20.18  28-Jun-2020
6@copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved.
7@copyright (c) 2014      Damien Regad, Mark Newnham and the ADOdb community
8  Released under both BSD license and Lesser GPL library license.
9  Whenever there is any discrepancy between the two licenses,
10  the BSD license will take precedence.
11  Set tabs to 8.
12
13*/
14
15class ADODB_pdo_mssql extends ADODB_pdo {
16
17	var $hasTop = 'top';
18	var $sysDate = 'convert(datetime,convert(char,GetDate(),102),102)';
19	var $sysTimeStamp = 'GetDate()';
20
21
22	function _init($parentDriver)
23	{
24
25		$parentDriver->hasTransactions = false; ## <<< BUG IN PDO mssql driver
26		$parentDriver->_bindInputArray = false;
27		$parentDriver->hasInsertID = true;
28	}
29
30	function ServerInfo()
31	{
32		return ADOConnection::ServerInfo();
33	}
34
35	function SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
36	{
37		$ret = ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);
38		return $ret;
39	}
40
41	function SetTransactionMode( $transaction_mode )
42	{
43		$this->_transmode  = $transaction_mode;
44		if (empty($transaction_mode)) {
45			$this->Execute('SET TRANSACTION ISOLATION LEVEL READ COMMITTED');
46			return;
47		}
48		if (!stristr($transaction_mode,'isolation')) $transaction_mode = 'ISOLATION LEVEL '.$transaction_mode;
49		$this->Execute("SET TRANSACTION ".$transaction_mode);
50	}
51
52	function MetaTables($ttype=false,$showSchema=false,$mask=false)
53	{
54		return false;
55	}
56
57	function MetaColumns($table,$normalize=true)
58	{
59		return false;
60	}
61
62}
63