mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-17 07:51:12 +08:00
54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* @link https://www.yiiframework.com/
|
|
* @copyright Copyright (c) 2008 Yii Software LLC
|
|
* @license https://www.yiiframework.com/license/
|
|
*/
|
|
|
|
namespace yiiunit\framework\db\mssql;
|
|
|
|
use yii\caching\FileCache;
|
|
use yii\db\Query;
|
|
use yiiunit\framework\db\DatabaseTestCase;
|
|
|
|
/**
|
|
* @group db
|
|
* @group mssql
|
|
*/
|
|
class QueryCacheTest extends DatabaseTestCase
|
|
{
|
|
protected $driverName = 'sqlsrv';
|
|
|
|
public function testQueryCacheFileCache(): void
|
|
{
|
|
$db = $this->getConnection();
|
|
$db->enableQueryCache = true;
|
|
$db->queryCache = new FileCache(['cachePath' => '@yiiunit/runtime/cache']);
|
|
|
|
$db->createCommand()->delete('type')->execute();
|
|
$db->createCommand()->insert('type', [
|
|
'int_col' => $key = 1,
|
|
'char_col' => '',
|
|
'char_col2' => '6a3ce1a0bffe8eeb6fa986caf443e24c',
|
|
'float_col' => 0.0,
|
|
'blob_col' => 'a:1:{s:13:"template";s:1:"1";}',
|
|
'bool_col' => true,
|
|
])->execute();
|
|
|
|
$function = fn($db) => (new Query())
|
|
->select(['blob_col'])
|
|
->from('type')
|
|
->where(['int_col' => $key])
|
|
->createCommand($db)
|
|
->queryScalar();
|
|
|
|
// First run return
|
|
$result = $db->cache($function);
|
|
$this->assertSame('a:1:{s:13:"template";s:1:"1";}', $result);
|
|
|
|
// After the request has been cached return
|
|
$result = $db->cache($function);
|
|
$this->assertSame('a:1:{s:13:"template";s:1:"1";}', $result);
|
|
}
|
|
}
|