mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
sqlite2/3에 index 존재 유무 체크 및 생성 기능 추가 (cubrid에는 생성 코드만 추가. 유무 체크는 차후)
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2388 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
749873e6c1
commit
e5db5d3f2b
3 changed files with 34 additions and 0 deletions
|
|
@ -242,12 +242,17 @@
|
|||
* $is_unique? unique : none
|
||||
**/
|
||||
function addIndex($table_name, $index_name, $target_columns, $is_unique = false) {
|
||||
if(!is_array($target_columns)) $target_columns = array($target_columns);
|
||||
|
||||
$query = sprintf("create %s index %s%s_%s on %s%s (%s);", $is_unique?'unique':'', $this->prefix, $table_name, $index_name, $this->prefix, $table_name, "'".implode("','",$target_columns)."'");
|
||||
$this->_query($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 특정 테이블의 index 정보를 return
|
||||
**/
|
||||
function isIndexExists($table_name, $index_name) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -233,12 +233,25 @@
|
|||
* $is_unique? unique : none
|
||||
**/
|
||||
function addIndex($table_name, $index_name, $target_columns, $is_unique = false) {
|
||||
if(!is_array($target_columns)) $target_columns = array($target_columns);
|
||||
|
||||
$key_name = sprintf('%s%s_%s', $this->prefix, $table_name, $index_name);
|
||||
$query = sprintf("pragma table_info(%s%s)", $this->prefix, $table_name);
|
||||
|
||||
$query = sprintf('CREATE %s INDEX %s ON %s%s (%s)', $is_unique?'UNIQUE':'', $key_name, $this->prefix, $table_name, implode(',',$target_columns));
|
||||
return $this->_query($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 특정 테이블의 index 정보를 return
|
||||
**/
|
||||
function isIndexExists($table_name, $index_name) {
|
||||
$key_name = sprintf('%s%s_%s', $this->prefix, $table_name, $index_name);
|
||||
$query = sprintf("pragma index_info(%s)", $key_name);
|
||||
$result = $this->_query($query);
|
||||
$output = $this->_fetch($result);
|
||||
if($output->name) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -256,12 +256,28 @@
|
|||
* $is_unique? unique : none
|
||||
**/
|
||||
function addIndex($table_name, $index_name, $target_columns, $is_unique = false) {
|
||||
if(!is_array($target_columns)) $target_columns = array($target_columns);
|
||||
|
||||
$key_name = sprintf('%s%s_%s', $this->prefix, $table_name, $index_name);
|
||||
$query = sprintf("pragma table_info(%s%s)", $this->prefix, $table_name);
|
||||
|
||||
$query = sprintf('CREATE %s INDEX %s ON %s%s (%s)', $is_unique?'UNIQUE':'', $key_name, $this->prefix, $table_name, implode(',',$target_columns));
|
||||
$this->_prepare($query);
|
||||
$this->_execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 특정 테이블의 index 정보를 return
|
||||
**/
|
||||
function isIndexExists($table_name, $index_name) {
|
||||
$key_name = sprintf('%s%s_%s', $this->prefix, $table_name, $index_name);
|
||||
|
||||
$query = sprintf("pragma index_info(%s)", $key_name);
|
||||
$this->_prepare($query);
|
||||
$output = $this->_execute();
|
||||
|
||||
if($output->name) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue