-ALTER TABLE Media ADD COLUMN MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType;
-ALTER TABLE Media ADD COLUMN DeviceId INTEGER UNSIGNED DEFAULT 0 REFERENCES Device;
-ALTER TABLE Media ADD COLUMN LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location;
-ALTER TABLE Media ADD COLUMN RecycleCount INTEGER UNSIGNED DEFAULT 0;
-ALTER TABLE Media ADD COLUMN InitialWrite DATETIME DEFAULT 0;
-ALTER TABLE Media ADD COLUMN ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
-ALTER TABLE Media ADD COLUMN RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
-ALTER TABLE Media ADD COLUMN Enabled TINYINT DEFAULT 1;
-ALTER TABLE Media ADD COLUMN Comment BLOB;
+CREATE INDEX jobhisto_jobid_idx ON JobHisto (JobId);
+UPDATE Version SET VersionId=13;
+
+END-OF-DATA
+ then
+ echo "Update of Bacula MySQL tables from 12 to 13 succeeded."
+ getVersion
+ else
+ echo "Update of Bacula MySQL tables from 12 to 13 failed."
+ exit 1
+ fi
+fi
+
+if [ "$DBVERSION" -eq 13 ] ; then
+ if mysql $* -f <<END-OF-DATA
+USE ${db_name};
+
+ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;
+UPDATE Version SET VersionId=14;
+
+END-OF-DATA
+ then
+ echo "Update of Bacula MySQL tables from 13 to 14 succeeded."
+ getVersion
+ else
+ echo "Update of Bacula MySQL tables from 13 to 14 failed."
+ exit 1
+ fi
+fi
+
+if [ "$DBVERSION" -eq 14 ] ; then
+ if mysql $* -f <<END-OF-DATA
+USE ${db_name};
+
+INSERT INTO Status (JobStatus,JobStatusLong,Severity) VALUES
+ ('I', 'Incomplete Job',25);
+ALTER TABLE Media ADD COLUMN VolABytes BIGINT UNSIGNED DEFAULT 0;
+ALTER TABLE Media ADD COLUMN VolAPadding BIGINT UNSIGNED DEFAULT 0;
+ALTER TABLE Media ADD COLUMN VolHoleBytes BIGINT UNSIGNED DEFAULT 0;
+ALTER TABLE Media ADD COLUMN VolHoles INTEGER UNSIGNED DEFAULT 0;
+ALTER TABLE Media CHANGE VolWrites VolWrites BIGINT UNSIGNED;
+
+CREATE TABLE Snapshot (
+ SnapshotId INTEGER UNSIGNED AUTO_INCREMENT,
+ Name TINYBLOB NOT NULL,
+ JobId INTEGER UNSIGNED DEFAULT 0,
+ FileSetId INTEGER UNSIGNED DEFAULT 0,
+ CreateTDate BIGINT NOT NULL,
+ CreateDate DATETIME NOT NULL,
+ ClientId INTEGER UNSIGNED DEFAULT 0,
+ Volume TINYBLOB NOT NULL,
+ Device TINYBLOB NOT NULL,
+ Type TINYBLOB NOT NULL,
+ Retention INTEGER DEFAULT 0,
+ Comment BLOB,
+ primary key (SnapshotId)
+);
+
+CREATE UNIQUE INDEX snapshot_idx ON Snapshot (Device(255), Volume(255), Name(255));