Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Consolidated DB update scripts
The DB update scripts 2004_2170 and 2170_2171 have been consolidated
into 2004_2171. This saves time for the DB update process when
updating from Bareos 16.2 to 17.2.

Also unified the column order in the File table and cleaned up indexes.
  • Loading branch information
sduehr committed Oct 15, 2017
1 parent 8610c0d commit 914a57d
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 64 deletions.
4 changes: 2 additions & 2 deletions src/cats/ddl/creates/mysql.sql
Expand Up @@ -35,10 +35,10 @@ CREATE TABLE File (
PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
MarkId INTEGER UNSIGNED DEFAULT 0,
LStat TINYBLOB NOT NULL,
MD5 TINYBLOB NOT NULL,
Fhinfo NUMERIC(20) DEFAULT 0,
Fhnode NUMERIC(20) DEFAULT 0,
LStat TINYBLOB NOT NULL,
MD5 TINYBLOB NOT NULL,
Name BLOB NOT NULL,
PRIMARY KEY (FileId),
INDEX (JobId, PathId, Name(255)),
Expand Down
6 changes: 3 additions & 3 deletions src/cats/ddl/creates/postgresql.sql
Expand Up @@ -29,10 +29,10 @@ CREATE TABLE File (
PathId INTEGER NOT NULL,
DeltaSeq SMALLINT NOT NULL DEFAULT 0,
MarkId INTEGER NOT NULL DEFAULT 0,
LStat TEXT NOT NULL,
Md5 TEXT NOT NULL,
Fhinfo NUMERIC(20) NOT NULL DEFAULT 0,
Fhnode NUMERIC(20) NOT NULL DEFAULT 0,
LStat TEXT NOT NULL,
Md5 TEXT NOT NULL,
Name TEXT NOT NULL,
PRIMARY KEY (FileId)
);
Expand All @@ -43,7 +43,7 @@ CREATE INDEX file_jpfid_idx ON File (JobId, PathId, Name);
-- from accurate jobs with delete directories, so that the
-- impact on backups will be low. Nevertheless, it will
-- improve the performance, even when not using accurate.
CREATE INDEX file_jidpart_idx ON File(JobId) WHERE FileIndex = 0 AND Name = '';
CREATE INDEX file_pjidpart_idx ON File(PathId,JobId) WHERE FileIndex = 0 AND Name = '';

--
-- Add this if you have a good number of job
Expand Down
9 changes: 4 additions & 5 deletions src/cats/ddl/creates/sqlite3.sql
Expand Up @@ -21,18 +21,17 @@ CREATE TABLE File (
FileIndex INTEGER UNSIGNED DEFAULT 0,
JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
Name BLOB NOT NULL,
DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
MarkId INTEGER UNSIGNED DEFAULT 0,
LStat TINYBLOB NOT NULL,
MD5 TINYBLOB NOT NULL,
Fhinfo TEXT DEFAULT 0,
Fhnode TEXT DEFAULT 0,
LStat TINYBLOB NOT NULL,
MD5 TINYBLOB NOT NULL,
Name BLOB NOT NULL,
PRIMARY KEY (FileId)
);
CREATE INDEX File_JobId ON File (JobId);
CREATE INDEX File_JobId_PathId_Name ON File (JobId, PathId, Name);

CREATE INDEX PathId_JobId_FileIndex ON File (PathId, JobId, FileIndex);

CREATE TABLE RestoreObject (
RestoreObjectId INTEGER,
Expand Down
Expand Up @@ -22,6 +22,8 @@ CREATE TABLE TmpMergeFilenameIntoFileTable (
PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
MarkId INTEGER UNSIGNED DEFAULT 0,
Fhinfo NUMERIC(20) DEFAULT 0,
Fhnode NUMERIC(20) DEFAULT 0,
LStat TINYBLOB NOT NULL,
MD5 TINYBLOB NOT NULL,
Name BLOB NOT NULL,
Expand All @@ -43,6 +45,9 @@ ALTER TABLE TmpMergeFilenameIntoFileTable RENAME TO File;
CREATE INDEX JobId_PathId_Name ON File (JobId, PathId, Name(255));
CREATE INDEX PathId_JobId_FileIndex ON File (PathId, JobId, FileIndex);

UPDATE Version SET VersionId = 2170;
-- Add JobMedia JobBytes info, also used by NDMP DAR
ALTER TABLE JobMedia ADD COLUMN JobBytes NUMERIC(20) DEFAULT 0;

UPDATE Version SET VersionId = 2171;

COMMIT;
14 changes: 0 additions & 14 deletions src/cats/ddl/updates/mysql.2170_2171.sql

This file was deleted.

Expand Up @@ -28,6 +28,8 @@ CREATE TABLE TmpMergeFilenameIntoFileTable (
PathId INTEGER NOT NULL,
DeltaSeq SMALLINT NOT NULL DEFAULT 0,
MarkId INTEGER NOT NULL DEFAULT 0,
Fhinfo NUMERIC(20) NOT NULL DEFAULT 0,
Fhnode NUMERIC(20) NOT NULL DEFAULT 0,
LStat TEXT NOT NULL,
Md5 TEXT NOT NULL,
Name TEXT NOT NULL,
Expand All @@ -51,9 +53,12 @@ CREATE INDEX file_jobid_idx ON File (JobId);
ALTER SEQUENCE TmpMergeFilenameIntoFileTable_fileid_seq RENAME TO file_fileid_seq;
SELECT setval('file_fileid_seq', (SELECT max(fileid) from file));
CREATE INDEX file_jpfid_idx ON File (JobId, PathId, Name);
CREATE INDEX file_jidpart_idx ON File(JobId) WHERE FileIndex = 0 AND Name = '';
CREATE INDEX file_pjidpart_idx ON File(PathId,JobId) WHERE FileIndex = 0 AND Name = '';

UPDATE Version SET VersionId = 2170;
-- Add JobMedia JobBytes info, also used by NDMP DAR
ALTER TABLE JobMedia ADD COLUMN JobBytes NUMERIC(20) DEFAULT 0;

UPDATE Version SET VersionId = 2171;

COMMIT;

Expand Down
19 changes: 0 additions & 19 deletions src/cats/ddl/updates/postgresql.2170_2171.sql

This file was deleted.

Expand Up @@ -21,11 +21,13 @@ CREATE TABLE TmpMergeFilenameIntoFileTable (
FileIndex INTEGER UNSIGNED DEFAULT 0,
JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
Name BLOB NOT NULL,
DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
MarkId INTEGER UNSIGNED DEFAULT 0,
Fhinfo TEXT DEFAULT 0,
Fhnode TEXT DEFAULT 0,
LStat TINYBLOB NOT NULL,
MD5 TINYBLOB NOT NULL,
Name BLOB NOT NULL,
PRIMARY KEY (FileId)
);

Expand All @@ -41,9 +43,12 @@ DROP TABLE File;
ALTER TABLE TmpMergeFilenameIntoFileTable RENAME TO File;

-- adapt index
CREATE INDEX File_JobId ON File (JobId);
CREATE INDEX File_JobId_PathId_Name ON File (JobId, PathId, Name);
CREATE INDEX PathId_JobId_FileIndex ON File (PathId, JobId, FileIndex);

-- Add JobMedia JobBytes info, also used by NDMP DAR
ALTER TABLE JobMedia ADD COLUMN JobBytes TEXT DEFAULT 0;

UPDATE Version SET VersionId = 2170;
UPDATE Version SET VersionId = 2171;

COMMIT;
15 changes: 0 additions & 15 deletions src/cats/ddl/updates/sqlite3.2170_2171.sql

This file was deleted.

0 comments on commit 914a57d

Please sign in to comment.