diff options
author | Frédéric Guillot <fred@kanboard.net> | 2018-06-21 14:13:41 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2018-06-21 14:13:41 -0700 |
commit | a491348d442ab8e6cd2fa403d4365cdad78e52ce (patch) | |
tree | a00f575d82afb2c9051bad95398b4250f4a3d44d /vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php | |
parent | c73ac5f1f818b6b21083f6785b4b2f6d778a6496 (diff) |
Vendoring deprecated composer libs
Diffstat (limited to 'vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php')
-rw-r--r-- | vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php b/vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php deleted file mode 100644 index 83e75af2..00000000 --- a/vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php +++ /dev/null @@ -1,178 +0,0 @@ -<?php - -namespace PicoDb\Driver; - -use PDO; - -/** - * Microsoft SQL Server Driver - * - * @package PicoDb\Driver - * @author Algy Taylor <thomas.taylor@cmft.nhs.uk> - */ -class Mssql extends Base -{ - /** - * List of required settings options - * - * @access protected - * @var array - */ - protected $requiredAttributes = array( - 'hostname', - 'username', - 'password', - 'database', - ); - - /** - * Table to store the schema version - * - * @access private - * @var array - */ - private $schemaTable = 'schema_version'; - - /** - * Create a new PDO connection - * - * @access public - * @param array $settings - */ - public function createConnection(array $settings) - { - $dsn = 'sqlsrv:Server=' . $settings['hostname'] . ';Database=' . $settings['database']; - - if (! empty($settings['port'])) { - $dsn .= ';port=' . $settings['port']; - } - - $this->pdo = new PDO($dsn, $settings['username'], $settings['password']); - - if (isset($settings['schema_table'])) { - $this->schemaTable = $settings['schema_table']; - } - } - - /** - * Enable foreign keys - * - * @access public - */ - public function enableForeignKeys() - { - $this->pdo->exec('EXEC sp_MSforeachtable @command1="ALTER TABLE ? CHECK CONSTRAINT ALL"; GO;'); - } - - /** - * Disable foreign keys - * - * @access public - */ - public function disableForeignKeys() - { - $this->pdo->exec('EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"; GO;'); - } - - /** - * Return true if the error code is a duplicate key - * - * @access public - * @param integer $code - * @return boolean - */ - public function isDuplicateKeyError($code) - { - return $code == 2601; - } - - /** - * Escape identifier - * - * https://msdn.microsoft.com/en-us/library/ms175874.aspx - * - * @access public - * @param string $identifier - * @return string - */ - public function escape($identifier) - { - return '['.$identifier.']'; - } - - /** - * Get non standard operator - * - * @access public - * @param string $operator - * @return string - */ - public function getOperator($operator) - { - if ($operator === 'LIKE' || $operator === 'ILIKE') { - return 'LIKE'; - } - - return ''; - } - - /** - * Get last inserted id - * - * @access public - * @return integer - */ - public function getLastId() - { - return $this->pdo->lastInsertId(); - } - - /** - * Get current schema version - * - * @access public - * @return integer - */ - public function getSchemaVersion() - { - $this->pdo->exec("CREATE TABLE IF NOT EXISTS [".$this->schemaTable."] ([version] INT DEFAULT '0')"); - - $rq = $this->pdo->prepare('SELECT [version] FROM ['.$this->schemaTable.']'); - $rq->execute(); - $result = $rq->fetchColumn(); - - if ($result !== false) { - return (int) $result; - } - else { - $this->pdo->exec('INSERT INTO ['.$this->schemaTable.'] VALUES(0)'); - } - - return 0; - } - - /** - * Set current schema version - * - * @access public - * @param integer $version - */ - public function setSchemaVersion($version) - { - $rq = $this->pdo->prepare('UPDATE ['.$this->schemaTable.'] SET [version]=?'); - $rq->execute(array($version)); - } - - /** - * Run EXPLAIN command - * - * @param string $sql - * @param array $values - * @return array - */ - public function explain($sql, array $values) - { - $this->getConnection()->exec('SET SHOWPLAN_ALL ON'); - return $this->getConnection()->query($this->getSqlFromPreparedStatement($sql, $values))->fetchAll(PDO::FETCH_ASSOC); - } -} |