Use parseIndexSpec to cleanup fulltext specification

This commit is contained in:
Damian Mooyman 2014-10-15 10:32:44 +13:00
parent fba93bba72
commit 48c07ad1ab

View File

@ -477,23 +477,12 @@ class PostgreSQLDatabase extends SS_Database {
$fulltexts='';
$triggers='';
if($indexes){
foreach($indexes as $name=>$this_index){
if(is_array($this_index) && $this_index['type']=='fulltext'){
$ts_details=$this->fulltext($this_index, $tableName, $name);
$fulltexts.=$ts_details['fulltexts'] . ', ';
$triggers.=$ts_details['triggers'];
} else if(is_string($this_index)) {
preg_match('/^fulltext\ \((.+)\)$/i', $this_index, $matches);
if(count($matches) == 2) {
$index = array(
'type' => 'fulltext',
'name' => $name,
'value' => $matches[1]
);
$ts_details=$this->fulltext($index, $tableName, $name);
$fulltexts.=$ts_details['fulltexts'] . ', ';
$triggers.=$ts_details['triggers'];
}
foreach($indexes as $name => $indexSpec) {
$indexSpec = $this->parseIndexSpec($name, $indexSpec);
if($indexSpec['type'] === 'fulltext') {
$ts_details = $this->fulltext($indexSpec, $tableName, $name);
$fulltexts .= $ts_details['fulltexts'] . ', ';
$triggers .= $ts_details['triggers'];
}
}
}