mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@10951 201d5d3c-b55e-5fd7-737f-ddc643e51545
53 lines
1.5 KiB
PHP
53 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* @author NHN (developers@xpressengine.com)
|
|
* @package /classes/db/queryparts/table
|
|
* @version 0.1
|
|
*/
|
|
class MssqlTableWithHint extends Table {
|
|
/**
|
|
* table name
|
|
* @var string
|
|
*/
|
|
var $name;
|
|
/**
|
|
* table alias
|
|
* @var string
|
|
*/
|
|
var $alias;
|
|
/**
|
|
* index hint type, ex) IGNORE, FORCE, USE...
|
|
* @var array
|
|
*/
|
|
var $index_hints_list;
|
|
|
|
/**
|
|
* constructor
|
|
* @param string $name
|
|
* @param string $alias
|
|
* @param string $index_hints_list
|
|
* @return void
|
|
*/
|
|
function MssqlTableWithHint($name, $alias = NULL, $index_hints_list){
|
|
parent::Table($name, $alias);
|
|
$this->index_hints_list = $index_hints_list;
|
|
}
|
|
|
|
function toString(){
|
|
$result = parent::toString();
|
|
|
|
$index_hint_string = '';
|
|
$indexTypeList = array('USE'=>1, 'FORCE'=>1);
|
|
foreach($this->index_hints_list as $index_hint){
|
|
$index_hint_type = $index_hint->getIndexHintType();
|
|
if(isset($indexTypeList[$index_hint_type]))
|
|
$index_hint_string .= 'INDEX(' . $index_hint->getIndexName() . '), ';
|
|
}
|
|
if($index_hint_string != ''){
|
|
$result .= ' WITH(' . substr($index_hint_string, 0, -2) . ') ';
|
|
}
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
?>
|