mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 10:12:41 +01:00
Implement saving queries.
Summary: Enable saved query objects to actually be saved to the database. Test Plan: Insert a call to save() and check that the query is written correctly. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin, AnhNhan Maniphest Tasks: T2625 Differential Revision: https://secure.phabricator.com/D5775 Conflicts: src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php
This commit is contained in:
parent
c7be6f4aa1
commit
7ad2eae47f
3 changed files with 28 additions and 0 deletions
11
resources/sql/patches/20130426.search_savedquery.sql
Normal file
11
resources/sql/patches/20130426.search_savedquery.sql
Normal file
|
@ -0,0 +1,11 @@
|
|||
CREATE TABLE {$NAMESPACE}_search.search_savedquery (
|
||||
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
engineClassName VARCHAR(255) NOT NULL COLLATE utf8_bin,
|
||||
parameters LONGTEXT NOT NULL COLLATE utf8_bin,
|
||||
dateCreated INT(10) UNSIGNED NOT NULL,
|
||||
dateModified INT(10) UNSIGNED NOT NULL,
|
||||
queryKey VARCHAR(12) NOT NULL COLLATE utf8_bin,
|
||||
PRIMARY KEY(id),
|
||||
UNIQUE KEY key_queryKey (queryKey)
|
||||
)
|
||||
ENGINE=InnoDB, COLLATE utf8_general_ci
|
|
@ -6,6 +6,8 @@
|
|||
final class PhabricatorSavedQuery extends PhabricatorSearchDAO {
|
||||
|
||||
protected $parameters = array();
|
||||
protected $queryKey = "";
|
||||
protected $engineClassName = "PhabricatorPasteSearchEngine";
|
||||
|
||||
public function getConfiguration() {
|
||||
return array(
|
||||
|
@ -22,4 +24,15 @@ final class PhabricatorSavedQuery extends PhabricatorSearchDAO {
|
|||
public function getParameter($key, $default = null) {
|
||||
return idx($this->parameters, $key, $default);
|
||||
}
|
||||
|
||||
public function save() {
|
||||
if ($this->getEngineClass() === null) {
|
||||
throw new Exception(pht("Engine class is null."));
|
||||
}
|
||||
|
||||
$serial = $this->getEngineClass().serialize($this->parameters);
|
||||
$this->queryKey = PhabricatorHash::digestForIndex($serial);
|
||||
|
||||
return parent::save();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1254,6 +1254,10 @@ final class PhabricatorBuiltinPatchList extends PhabricatorSQLPatchList {
|
|||
'type' => 'sql',
|
||||
'name' => $this->getPatchPath('20130423.conpherenceindices.sql'),
|
||||
),
|
||||
'20130426.search_savedquery.sql' => array(
|
||||
'type' => 'sql',
|
||||
'name' => $this->getPatchPath('20130426.search_savedquery.sql'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue