1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-22 13:30:55 +01:00
phorge-phorge/resources/sql/patches/006.repository.sql
epriestley 614f911217 Regenerate Quickstart SQL
Summary:
One advantage I wanted to get out of T1191 is automated rebuilds of `quickstart.sql`. If they don't actually work, I'd like to know sooner rather than later. We haven't rebuilt in a couple months, so give it a shot.

Ran into two issues:

  - Some very old patches specify overlong keys which don't work if your default charsets are utf8mb4. Shorten these. No real users have applied these in a very long time.
  - Some gymnastics around `corpus` for the new Conpherence search index.

Test Plan:
  - Ran `arc unit --everything`, got clean results.
  - Cost to do a storage upgrade on an empty namespace dropped from ~4s to ~3s.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Differential Revision: https://secure.phabricator.com/D11454
2015-01-22 16:10:26 -08:00

56 lines
2 KiB
SQL

create table {$NAMESPACE}_repository.repository_commitdata (
id int unsigned not null auto_increment primary key,
commitID int unsigned not null,
authorName varchar(255) not null,
commitMessage longblob not null,
unique key (commitID),
key (authorName(128))
);
ALTER TABLE {$NAMESPACE}_worker.worker_task drop priority;
ALTER TABLE {$NAMESPACE}_worker.worker_task drop key leaseOwner;
ALTER TABLE {$NAMESPACE}_worker.worker_task add key (leaseOwner(16));
create table {$NAMESPACE}_repository.repository_path (
id int unsigned not null auto_increment primary key,
path varchar(128) binary not null,
unique key (path)
);
create table {$NAMESPACE}_repository.repository_pathchange (
repositoryID int unsigned NOT NULL,
pathID int unsigned NOT NULL,
commitID int unsigned NOT NULL,
targetPathID int unsigned,
targetCommitID int unsigned,
changeType int unsigned NOT NULL,
fileType int unsigned NOT NULL,
isDirect bool NOT NULL,
commitSequence int unsigned NOT NULL,
primary key (commitID, pathID),
key (repositoryID, pathID, commitSequence)
);
create table {$NAMESPACE}_repository.repository_filesystem (
repositoryID int unsigned not null,
parentID int unsigned not null,
svnCommit int unsigned not null,
pathID int unsigned not null,
existed bool not null,
fileType int unsigned not null,
primary key (repositoryID, parentID, svnCommit, pathID)
);
alter table {$NAMESPACE}_repository.repository_filesystem add key (repositoryID, svnCommit);
truncate {$NAMESPACE}_repository.repository_commit;
alter table {$NAMESPACE}_repository.repository_commit
change repositoryPHID repositoryID int unsigned not null;
alter table {$NAMESPACE}_repository.repository_commit drop key repositoryPHID;
alter table {$NAMESPACE}_repository.repository_commit add unique key
(repositoryID, commitIdentifier(16));
alter table {$NAMESPACE}_repository.repository_commit add key
(repositoryID, epoch);
alter table {$NAMESPACE}_repository.repository_filesystem
add key (repositoryID, pathID, svnCommit);