This commit is contained in:
Zel
2025-02-23 18:47:21 +08:00
parent eaaffeeccb
commit e46a7ca31c
104 changed files with 2630 additions and 2516 deletions

View File

@@ -1,4 +1,3 @@
--Remove the previous page file revision attachment, if any.
DELETE FROM PageRevisionAttachment
WHERE
PageId = @PageId
@@ -6,7 +5,7 @@ WHERE
AND FileRevision = @PreviousFileRevision
AND PageRevision = @PageRevision;
--Associate the file revision record with the page revision.
INSERT INTO PageRevisionAttachment
(
PageId,

View File

@@ -1,5 +1,3 @@
--This proc is exactly like GetAllUsersPaged except it has no filter on personal infomation so it can be used for public info.
SELECT
U.UserId,
U.AccountName,

View File

@@ -9,7 +9,6 @@ FROM
T.PageId,
COUNT(DISTINCT T.Token) / (@TokenCount + 0.0) as [Match],
SUM(T.[Weight] * 1.5) as [Weight],
--Extra weight on score for exact matches:
SUM(T.[Weight] * 1.5) * (COUNT(DISTINCT T.Token) / (@TokenCount + 0.0)) as [Score]
FROM
PageToken as T

View File

@@ -9,7 +9,6 @@ FROM
T.PageId,
COUNT(DISTINCT T.DoubleMetaphone) / (@TokenCount + 0.0) as [Match],
SUM(T.[Weight] * 1.0) as [Weight],
--No weight benefits on score for fuzzy matching weight for exact matches:
(COUNT(DISTINCT T.DoubleMetaphone) / (@TokenCount + 0.0)) as [Score]
FROM
PageToken as T

View File

@@ -19,7 +19,7 @@ INNER JOIN PageRevisionAttachment as PRA
ON PRA.PageId = P.Id
AND PRA.PageFileId = PF.Id
AND PRA.PageRevision = PR.Revision
AND PRA.FileRevision = PF.Revision --Latest file revision.
AND PRA.FileRevision = PF.Revision
INNER JOIN PageFileRevision as PFR
ON PFR.PageFileId = PF.Id
AND PFR.Revision = PRA.FileRevision

View File

@@ -23,7 +23,7 @@ SELECT
ON PRA.PageId = P.Id
AND PRA.PageFileId = PF.Id
AND PRA.PageRevision = PR.Revision
AND PRA.FileRevision = PF.Revision --Latest file revision.
AND PRA.FileRevision = PF.Revision
INNER JOIN PageFileRevision as PFR
ON PFR.PageFileId = PF.Id
AND PFR.Revision = PRA.FileRevision

View File

@@ -1,14 +0,0 @@
# Database Upgrade Initialization
When TightWiki is run, any scripts in the folders contained in "TightWiki.Repository\Scripts\Initialization\Versions"
are executed. The "previous version" of TightWiki is stored in the Config database VersionState table.
The scripts are executed in the order denoted by the name of the folders in "Version\*", these folders are
expected to be named with a three-part version scheme. MM.mm.pp (major.minor.patch).
The scripts are only executed if the three-part folder version is
greater than the "previous version" from the VersionState table.
Theses scripts are executed in the order of their name as well, their name consists of three parts:
"\^EXECUTION_ORDER\^DATABASE_NAME\^SCRIPT_NAME" where the execution order should be a zero padded numeric string,
database name is the key from ManagedDataStorage.Collection, and script name is whatever you want to call it.

View File

@@ -1,4 +1,3 @@
--Insert the actual file data.
INSERT INTO PageFileRevision
(
PageFileId,

View File

@@ -5,7 +5,6 @@ INSERT INTO deletedpages_db.[PageFileRevision] SELECT * FROM PageFileRevision WH
INSERT INTO deletedpages_db.[PageFile] SELECT * FROM [PageFile] WHERE PageId = @PageId;
INSERT INTO deletedpages_db.[Page] SELECT * FROM [Page] WHERE Id = @PageId;
--We save these so we can search for deleted pages.
INSERT INTO deletedpages_db.[PageTag] SELECT * FROM [PageTag] WHERE PageId = @PageId;
INSERT INTO deletedpages_db.[PageToken] SELECT * FROM [PageToken] WHERE PageId = @PageId;
INSERT INTO deletedpages_db.[PageProcessingInstruction] SELECT * FROM [PageProcessingInstruction] WHERE PageId = @PageId;

View File

@@ -1,4 +1,4 @@
--Cleanup
DELETE FROM DeletionMeta WHERE PageId = @PageId;
DELETE FROM [PageTag] WHERE PageId = @PageId;

View File

@@ -1,9 +1,7 @@
BEGIN TRANSACTION;
--Delete orphaned PageFileRevision.
DELETE FROM PageFileRevision WHERE PageFileId = @PageFileId AND Revision = @Revision;
--Delete orphaned PageFile.
DELETE FROM PageFile
WHERE Id = @PageFileId
AND Id NOT IN (SELECT PFR.PageFileId FROM PageFileRevision as PFR WHERE PFR.PageFileId = @PageFileId);

View File

@@ -1,6 +1,6 @@
BEGIN TRANSACTION;
--Delete orphaned PageFileRevision.
DELETE FROM PageFileRevision
WHERE (PageFileId, Revision) IN (
SELECT
@@ -19,7 +19,7 @@ WHERE (PageFileId, Revision) IN (
PRA.PageFileId IS NULL
);
--Delete orphaned PageFile.
DELETE FROM PageFile
WHERE Id NOT IN (SELECT PageFileId FROM PageFileRevision);

View File

@@ -1,4 +1,4 @@
--Restore:
INSERT INTO [Page] SELECT * FROM deletedpages_db.[Page] WHERE Id = @PageId;
INSERT INTO [PageRevision] SELECT * FROM deletedpages_db.[PageRevision] WHERE PageId = @PageId;
INSERT INTO [PageFile] SELECT * FROM deletedpages_db.[PageFile] WHERE PageId = @PageId;
@@ -6,7 +6,7 @@ INSERT INTO [PageFileRevision] SELECT * FROM deletedpages_db.PageFileRevision WH
INSERT INTO [PageRevisionAttachment] SELECT * FROM deletedpages_db.[PageRevisionAttachment] WHERE PageId = @PageId;
INSERT INTO [PageComment] SELECT * FROM deletedpages_db.[PageComment] WHERE PageId = @PageId;
--Cleanup
DELETE FROM deletedpages_db.DeletionMeta WHERE PageId = @PageId;
DELETE FROM deletedpages_db.[PageTag] WHERE PageId = @PageId;

View File

@@ -1,4 +1,3 @@
-- Deleting non-current page revisions
DELETE FROM PageRevision
WHERE EXISTS (
SELECT 1
@@ -11,7 +10,6 @@ WHERE EXISTS (
AND PageRevision.Revision < MostRecent.MaxRevision
);
-- Deleting non-current attachments.
DELETE FROM PageRevisionAttachment
WHERE EXISTS (
SELECT 1
@@ -25,7 +23,6 @@ WHERE EXISTS (
AND PageRevisionAttachment.FileRevision < MostRecent.MaxFileRevision
);
-- Deleting non-current page revision attachments
DELETE FROM PageRevisionAttachment
WHERE EXISTS (
SELECT 1
@@ -39,7 +36,6 @@ WHERE EXISTS (
AND PageRevisionAttachment.PageRevision < MostRecent.MaxPageRevision
);
-- Deleting non-current page file revisions.
DELETE FROM PageFileRevision
WHERE EXISTS (
SELECT 1
@@ -52,19 +48,16 @@ WHERE EXISTS (
AND PageFileRevision.Revision < MostRecent.MaxPageRevision
);
-- Delete orphaned PageFileRevision
DELETE FROM PageFileRevision
WHERE PageFileId NOT IN (
SELECT PageFileId FROM PageRevisionAttachment
);
-- Delete orphaned PageFile
DELETE FROM PageFile
WHERE Id NOT IN (
SELECT PageFileId FROM PageRevisionAttachment
);
-- Assuming everything else worked, lets set all of the revisions back to 1.
UPDATE [Page] SET Revision = 1;
UPDATE PageRevision SET Revision = 1;
UPDATE PageRevisionAttachment SET PageRevision = 1, FileRevision = 1;

View File

@@ -1,4 +1,3 @@
--The ReferencesPageId is NULL by default and needs to be filled in for pages that referece orphaned pages.
UPDATE
PageReference
SET

View File

@@ -11,7 +11,6 @@ DELETE FROM EmojiCategory WHERE Id IN
AND TC.Value IS NULL
);
--Insert previously non-existing categories.
INSERT INTO EmojiCategory
(
EmojiId,