View file system/db/schema/mssql/CMssqlSqlsrvPdoAdapter.php

File size: 1.12Kb
<?php
/**
 * CMssqlSqlsrvPdoAdapter class file.
 *
 * @author Timur Ruziev <[email protected]>
 * @link http://www.yiiframework.com/
 * @copyright Copyright &copy; 2008-2012 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

/**
 * This is an extension of default PDO class for MSSQL SQLSRV driver only.
 * It provides workaround of the improperly implemented functionalities of PDO SQLSRV driver.
 *
 * @author Timur Ruziev <[email protected]>
 * @package system.db.schema.mssql
 * @since 1.1.13
 */
class CMssqlSqlsrvPdoAdapter extends PDO
{
	/**
	 * Returns last inserted ID value.
	 * SQLSRV driver supports PDO::lastInsertId() with one peculiarity: when $sequence's value is null or empty
	 * string it returns empty string. But when parameter is not specified at all it's working as expected
	 * and returns actual last inserted ID (like other PDO drivers).
	 *
	 * @param string|null the sequence name. Defaults to null.
	 * @return integer last inserted ID value.
	 */
	public function lastInsertId($sequence=null)
	{
		if(!$sequence)
			return parent::lastInsertId();
		return parent::lastInsertId($sequence);
	}
}