]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/cats/make_sqlite3_tables.in
Tweak mutex order for SD
[bacula/bacula] / bacula / src / cats / make_sqlite3_tables.in
index d997317102afc685fae225f513a35995ee487977..78b97c7fef8192faeca439f8d2dcc03f377fcf47 100644 (file)
@@ -24,7 +24,9 @@ CREATE TABLE Path (
 
 CREATE INDEX inx2 ON Path (Path);
 
-
+-- In File table
+-- FileIndex can be 0 for FT_DELETED files
+-- FileNameId can link to Filename.Name='' for directories
 CREATE TABLE File (
    FileId INTEGER,
    FileIndex INTEGER UNSIGNED NOT NULL,
@@ -38,14 +40,13 @@ CREATE TABLE File (
    );
 
 CREATE INDEX inx3 ON File (JobId);
-CREATE INDEX inx4 ON File (FilenameId, PathId);
+CREATE INDEX file_jpf_idx ON File (JobId, PathId, FilenameId);
 --
 -- Possibly add one or more of the following indexes
 --  if your Verifies are too slow.
 --
 -- CREATE INDEX inx4 ON File (PathId);
 -- CREATE INDEX inx5 ON File (FileNameId);
--- CREATE INDEX inx9 ON File (JobId, PathId, FilenameId);
 
 CREATE TABLE Job (
    JobId INTEGER,
@@ -64,6 +65,7 @@ CREATE TABLE Job (
    VolSessionTime INTEGER UNSIGNED DEFAULT 0,
    JobFiles INTEGER UNSIGNED DEFAULT 0,
    JobBytes BIGINT UNSIGNED DEFAULT 0,
+   ReadBytes BIGINT UNSIGNED DEFAULT 0,
    JobErrors INTEGER UNSIGNED DEFAULT 0,
    JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
    PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
@@ -76,13 +78,13 @@ CREATE TABLE Job (
 CREATE INDEX inx6 ON Job (Name);
 
 -- Create a table like Job for long term statistics 
-CREATE TABLE JobHistory (
+CREATE TABLE JobHisto (
    JobId INTEGER,
    Job VARCHAR(128) NOT NULL,
    Name VARCHAR(128) NOT NULL,
    Type CHAR(1) NOT NULL,
    Level CHAR(1) NOT NULL,
-   ClientId INTEGER REFERENCES Client DEFAULT 0,
+   ClientId INTEGER DEFAULT 0,
    JobStatus CHAR(1) NOT NULL,
    SchedTime DATETIME NOT NULL,
    StartTime DATETIME DEFAULT 0,
@@ -93,16 +95,16 @@ CREATE TABLE JobHistory (
    VolSessionTime INTEGER UNSIGNED DEFAULT 0,
    JobFiles INTEGER UNSIGNED DEFAULT 0,
    JobBytes BIGINT UNSIGNED DEFAULT 0,
+   ReadBytes BIGINT UNSIGNED DEFAULT 0,
    JobErrors INTEGER UNSIGNED DEFAULT 0,
    JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
-   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
-   FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0,
-   PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
+   PoolId INTEGER UNSIGNED DEFAULT 0,
+   FileSetId INTEGER UNSIGNED DEFAULT 0,
+   PriorJobId INTEGER UNSIGNED DEFAULT 0,
    PurgedFiles TINYINT DEFAULT 0,
-   HasBase TINYINT DEFAULT 0,
-   PRIMARY KEY(JobId) 
+   HasBase TINYINT DEFAULT 0
    );
-CREATE INDEX inx61 ON JobHistory (Name);
+CREATE INDEX inx61 ON JobHisto (StartTime);
 
 CREATE TABLE Location (
    LocationId INTEGER,
@@ -183,6 +185,7 @@ CREATE TABLE Media (
    VolStatus VARCHAR(20) NOT NULL,
    Enabled TINYINT DEFAULT 1,
    Recycle TINYINT DEFAULT 0,
+   ActionOnPurge     TINYINT    DEFAULT 0,
    VolRetention BIGINT UNSIGNED DEFAULT 0,
    VolUseDuration BIGINT UNSIGNED DEFAULT 0,
    MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
@@ -256,6 +259,7 @@ CREATE TABLE Pool (
    MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
    AutoPrune TINYINT DEFAULT 0,
    Recycle TINYINT DEFAULT 0,
+   ActionOnPurge     TINYINT    DEFAULT 0,
    PoolType VARCHAR(20) NOT NULL,
    LabelType TINYINT DEFAULT 0,
    LabelFormat VARCHAR(128) NOT NULL,
@@ -383,7 +387,7 @@ INSERT INTO Status (JobStatus,JobStatusLong) VALUES
 
 
 -- Initialize Version           
-INSERT INTO Version (VersionId) VALUES (10);
+INSERT INTO Version (VersionId) VALUES (11);
 
 
 PRAGMA default_cache_size = 100000;