123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- /**
- * CMssqlPdo class file
- *
- * @author Christophe Boulain <Christophe.Boulain@gmail.com>
- * @link http://www.yiiframework.com/
- * @copyright 2008-2013 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 <Christophe.Boulain@gmail.com>
- * @package system.db.schema.mssql
- */
- class CMssqlPdoAdapter extends PDO
- {
- /**
- * Get the last inserted id value
- * MSSQL doesn't support sequence, so, argument is ignored
- *
- * @param string|null sequence name. Defaults to null
- * @return integer last inserted id
- */
- public function lastInsertId ($sequence=NULL)
- {
- return $this->query('SELECT CAST(COALESCE(SCOPE_IDENTITY(), @@IDENTITY) AS bigint)')->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;
- }
- }
|