37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * CMssqlSqlsrvPdoAdapter class file.
 | |
|  *
 | |
|  * @author Timur Ruziev <resurtm@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 SQLSRV driver only.
 | |
|  * It provides workaround of the improperly implemented functionalities of PDO SQLSRV driver.
 | |
|  *
 | |
|  * @author Timur Ruziev <resurtm@gmail.com>
 | |
|  * @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 $sequence 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);
 | |
| 	}
 | |
| }
 |