* @link http://www.yiiframework.com/ * @copyright Copyright © 2008-2009 Yii Software LLC * @license http://www.yiiframework.com/license/ */ /** * This is an extension of default PDO class for mssql driver only * It provides some missing functionalities of pdo driver * @author Christophe Boulain * @version $Id: TMssqlPdoAdapter.php 2679 2009-06-15 07:49:42Z Christophe.Boulain $ * @package System.Testing.Data.schema.mssql * @since 1.0.4 */ class TMssqlPdoAdapter extends PDO { /** * Get the last inserted id value * MSSQL doesn't support sequence, so, argument is ignored * * @param string sequence name. Defaults to null * @return int last inserted id */ public function lastInsertId ($sequence=NULL) { return $this->query('SELECT SCOPE_IDENTITY()')->fetchColumn(); } /** * Begin a transaction * * Is is necessary to override pdo's method, as mssql pdo drivers * does not support transaction * * @return boolean */ public function beginTransaction () { $this->exec('BEGIN TRANSACTION'); return true; } /** * Commit a transaction * * Is is necessary to override pdo's method, as mssql pdo drivers * does not support transaction * * @return boolean */ public function commit () { $this->exec('COMMIT TRANSACTION'); return true; } /** * Rollback a transaction * * Is is necessary to override pdo's method, ac mssql pdo drivers * does not support transaction * * @return boolean */ public function rollBack () { $this->exec('ROLLBACK TRANSACTION'); return true; } }