Add storage for repository symbol tracking
Summary: See T315 for an extensive description of this feature. Adds the descibed storage table. Test Plan: Used phpsh to read/write symbol objects. Reviewers: jungejason, nh, tuomaspelkonen, aran Reviewed By: tuomaspelkonen CC: aran, epriestley, tuomaspelkonen Differential Revision: 897
This commit is contained in:
9
resources/sql/patches/073.reposymbols.sql
Normal file
9
resources/sql/patches/073.reposymbols.sql
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
CREATE TABLE phabricator_repository.repository_symbol (
|
||||||
|
arcanistProjectID INT UNSIGNED NOT NULL,
|
||||||
|
symbolName varchar(128) NOT NULL,
|
||||||
|
KEY (symbolName),
|
||||||
|
symbolType varchar(12) BINARY NOT NULL,
|
||||||
|
symbolLanguage varchar(32) BINARY NOT NULL,
|
||||||
|
pathID INT UNSIGNED NOT NULL,
|
||||||
|
lineNumber INT UNSIGNED NOT NULL
|
||||||
|
) ENGINE=InnoDB;
|
||||||
@@ -577,6 +577,7 @@ phutil_register_library_map(array(
|
|||||||
'PhabricatorRepositorySvnCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/svn',
|
'PhabricatorRepositorySvnCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/svn',
|
||||||
'PhabricatorRepositorySvnCommitDiscoveryDaemon' => 'applications/repository/daemon/commitdiscovery/svn',
|
'PhabricatorRepositorySvnCommitDiscoveryDaemon' => 'applications/repository/daemon/commitdiscovery/svn',
|
||||||
'PhabricatorRepositorySvnCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/svn',
|
'PhabricatorRepositorySvnCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/svn',
|
||||||
|
'PhabricatorRepositorySymbol' => 'applications/repository/storage/symbol',
|
||||||
'PhabricatorRepositoryType' => 'applications/repository/constants/repositorytype',
|
'PhabricatorRepositoryType' => 'applications/repository/constants/repositorytype',
|
||||||
'PhabricatorS3FileStorageEngine' => 'applications/files/engine/s3',
|
'PhabricatorS3FileStorageEngine' => 'applications/files/engine/s3',
|
||||||
'PhabricatorSQLPatchList' => 'infrastructure/setup/sql',
|
'PhabricatorSQLPatchList' => 'infrastructure/setup/sql',
|
||||||
@@ -1170,6 +1171,7 @@ phutil_register_library_map(array(
|
|||||||
'PhabricatorRepositorySvnCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
|
'PhabricatorRepositorySvnCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
|
||||||
'PhabricatorRepositorySvnCommitDiscoveryDaemon' => 'PhabricatorRepositoryCommitDiscoveryDaemon',
|
'PhabricatorRepositorySvnCommitDiscoveryDaemon' => 'PhabricatorRepositoryCommitDiscoveryDaemon',
|
||||||
'PhabricatorRepositorySvnCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
|
'PhabricatorRepositorySvnCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
|
||||||
|
'PhabricatorRepositorySymbol' => 'PhabricatorRepositoryDAO',
|
||||||
'PhabricatorS3FileStorageEngine' => 'PhabricatorFileStorageEngine',
|
'PhabricatorS3FileStorageEngine' => 'PhabricatorFileStorageEngine',
|
||||||
'PhabricatorSearchAttachController' => 'PhabricatorSearchController',
|
'PhabricatorSearchAttachController' => 'PhabricatorSearchController',
|
||||||
'PhabricatorSearchBaseController' => 'PhabricatorController',
|
'PhabricatorSearchBaseController' => 'PhabricatorController',
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2011 Facebook, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class PhabricatorRepositorySymbol extends PhabricatorRepositoryDAO {
|
||||||
|
|
||||||
|
protected $arcanistProjectID;
|
||||||
|
protected $symbolName;
|
||||||
|
protected $symbolType;
|
||||||
|
protected $symbolLanguage;
|
||||||
|
protected $pathID;
|
||||||
|
protected $lineNumber;
|
||||||
|
|
||||||
|
public function getConfiguration() {
|
||||||
|
return array(
|
||||||
|
self::CONFIG_IDS => self::IDS_MANUAL,
|
||||||
|
self::CONFIG_TIMESTAMPS => false,
|
||||||
|
) + parent::getConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
12
src/applications/repository/storage/symbol/__init__.php
Normal file
12
src/applications/repository/storage/symbol/__init__.php
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* This file is automatically generated. Lint this module to rebuild it.
|
||||||
|
* @generated
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phutil_require_module('phabricator', 'applications/repository/storage/base');
|
||||||
|
|
||||||
|
|
||||||
|
phutil_require_source('PhabricatorRepositorySymbol.php');
|
||||||
Reference in New Issue
Block a user