X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fschema.php;h=2e27955881c235450bbc383ad3e75791cfe11031;hb=a3c4dca90dd2eec92ff600393d09204ba10df230;hp=671af8a210503d3aeaf8f0e26317636cccb1ecb2;hpb=345b7d33b8f641f23157fb7d73740f24169b46f9;p=quix0rs-gnu-social.git diff --git a/lib/schema.php b/lib/schema.php index 671af8a210..2e27955881 100644 --- a/lib/schema.php +++ b/lib/schema.php @@ -168,17 +168,24 @@ class Schema } } - // Multi-value indexes are advisory and for best portability - // should be created as separate statements. + // Wrap the CREATE TABLE around the main body chunks... $statements = array(); $statements[] = $this->startCreateTable($name, $def) . "\n" . implode($sql, ",\n") . "\n" . $this->endCreateTable($name, $def); + + // Multi-value indexes are advisory and for best portability + // should be created as separate statements. if (!empty($def['indexes'])) { foreach ($def['indexes'] as $col => $colDef) { $this->appendCreateIndex($statements, $name, $col, $colDef); } } + if (!empty($def['fulltext indexes'])) { + foreach ($def['fulltext indexes'] as $col => $colDef) { + $this->appendCreateFulltextIndex($statements, $name, $col, $colDef); + } + } return $statements; } @@ -282,6 +289,20 @@ class Schema $statements[] = "CREATE INDEX $name ON $table " . $this->buildIndexList($def); } + /** + * Append an SQL statement with an index definition for a full-text search + * index over one or more columns on a table. + * + * @param array $statements + * @param string $table + * @param string $name + * @param array $def + */ + function appendCreateFulltextIndex(array &$statements, $table, $name, array $def) + { + throw new Exception("Fulltext index not supported in this database"); + } + /** * Append an SQL statement to drop an index from a table. *