mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-09 16:32:39 +01:00
Remove the "search_documentfield" table
Summary: Ref T11741. See PHI1276. After the switch to "Ferret", this table has no remaining readers or writers. Test Plan: - Ran `bin/storage upgrade -f`, no warnings. - Grepped for class name, table name, `stemmedCorpus` column; got no relevant hits. - Did a fulltext search. Reviewers: amckinley Reviewed By: amckinley Subscribers: PHID-OPKG-gm6ozazyms6q6i22gyam Maniphest Tasks: T11741 Differential Revision: https://secure.phabricator.com/D20549
This commit is contained in:
parent
aacc62463d
commit
719dd6d3f4
4 changed files with 5 additions and 72 deletions
|
@ -1,34 +1,7 @@
|
|||
<?php
|
||||
|
||||
// See T11741. Long ago, in T11922, we switched from "MyISAM FULLTEXT" to
|
||||
// "InnoDB FULLTEXT". This migration prompted installs to rebuild the index.
|
||||
|
||||
$use_mysql = false;
|
||||
|
||||
$services = PhabricatorSearchService::getAllServices();
|
||||
foreach ($services as $service) {
|
||||
$engine = $service->getEngine();
|
||||
if ($engine instanceof PhabricatorMySQLFulltextStorageEngine) {
|
||||
$use_mysql = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ($use_mysql) {
|
||||
$field = new PhabricatorSearchDocumentField();
|
||||
$conn = $field->establishConnection('r');
|
||||
|
||||
// We're only going to require this if the index isn't empty: if you're on a
|
||||
// fresh install, you don't have to do anything.
|
||||
$any_documents = queryfx_one(
|
||||
$conn,
|
||||
'SELECT * FROM %T LIMIT 1',
|
||||
$field->getTableName());
|
||||
|
||||
if ($any_documents) {
|
||||
try {
|
||||
id(new PhabricatorConfigManualActivity())
|
||||
->setActivityType(PhabricatorConfigManualActivity::TYPE_REINDEX)
|
||||
->save();
|
||||
} catch (AphrontDuplicateKeyQueryException $ex) {
|
||||
// If we've already noted that this activity is required, just move on.
|
||||
}
|
||||
}
|
||||
}
|
||||
// Later, in T12974, we switched from "InnoDB FULLTEXT" to "Ferret", mostly
|
||||
// mooting this. The underlying tables and engines were later removed entirely.
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
DROP TABLE IF EXISTS {$NAMESPACE}_search.search_documentfield;
|
|
@ -4530,7 +4530,6 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSearchDefaultController' => 'applications/search/controller/PhabricatorSearchDefaultController.php',
|
||||
'PhabricatorSearchDeleteController' => 'applications/search/controller/PhabricatorSearchDeleteController.php',
|
||||
'PhabricatorSearchDocument' => 'applications/search/storage/document/PhabricatorSearchDocument.php',
|
||||
'PhabricatorSearchDocumentField' => 'applications/search/storage/document/PhabricatorSearchDocumentField.php',
|
||||
'PhabricatorSearchDocumentFieldType' => 'applications/search/constants/PhabricatorSearchDocumentFieldType.php',
|
||||
'PhabricatorSearchDocumentQuery' => 'applications/search/query/PhabricatorSearchDocumentQuery.php',
|
||||
'PhabricatorSearchDocumentRelationship' => 'applications/search/storage/document/PhabricatorSearchDocumentRelationship.php',
|
||||
|
@ -10874,7 +10873,6 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSearchDefaultController' => 'PhabricatorSearchBaseController',
|
||||
'PhabricatorSearchDeleteController' => 'PhabricatorSearchBaseController',
|
||||
'PhabricatorSearchDocument' => 'PhabricatorSearchDAO',
|
||||
'PhabricatorSearchDocumentField' => 'PhabricatorSearchDAO',
|
||||
'PhabricatorSearchDocumentFieldType' => 'Phobject',
|
||||
'PhabricatorSearchDocumentQuery' => 'PhabricatorPolicyAwareQuery',
|
||||
'PhabricatorSearchDocumentRelationship' => 'PhabricatorSearchDAO',
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
<?php
|
||||
|
||||
final class PhabricatorSearchDocumentField extends PhabricatorSearchDAO {
|
||||
|
||||
protected $phidType;
|
||||
protected $field;
|
||||
protected $auxPHID;
|
||||
protected $corpus;
|
||||
protected $stemmedCorpus;
|
||||
|
||||
protected function getConfiguration() {
|
||||
return array(
|
||||
self::CONFIG_TIMESTAMPS => false,
|
||||
self::CONFIG_IDS => self::IDS_MANUAL,
|
||||
self::CONFIG_COLUMN_SCHEMA => array(
|
||||
'phidType' => 'text4',
|
||||
'field' => 'text4',
|
||||
'auxPHID' => 'phid?',
|
||||
'corpus' => 'fulltext?',
|
||||
'stemmedCorpus' => 'fulltext?',
|
||||
),
|
||||
self::CONFIG_KEY_SCHEMA => array(
|
||||
'key_phid' => null,
|
||||
'phid' => array(
|
||||
'columns' => array('phid'),
|
||||
),
|
||||
'key_corpus' => array(
|
||||
'columns' => array('corpus', 'stemmedCorpus'),
|
||||
'type' => 'FULLTEXT',
|
||||
),
|
||||
),
|
||||
) + parent::getConfiguration();
|
||||
}
|
||||
|
||||
public function getIDKey() {
|
||||
return 'phid';
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue