if [ "$DBVERSION" -eq 1025 ] ; then
if mysql $* -f <<END-OF-DATA
USE ${db_name};
-CREATE INDEX meta_emailid on MetaEmail (EmailId(255));
-
CREATE TABLE MalwareMD5
(
MD5 char(22) -- Same as in File
CREATE INDEX FileEvents_jobid_idx ON FileEvents (JobId, FileIndex);
CREATE INDEX FileEvents_sourcejobid_idx ON FileEvents (SourceJobId);
+
+DROP INDEX meta_emailsubjectbody ON MetaEmail;
+DROP INDEX meta_emailowner ON MetaEmail;
+DROP INDEX meta_emailconversationid on MetaEmail;
+
ALTER TABLE MetaEmail
MODIFY COLUMN EmailTenant TEXT,
MODIFY COLUMN EmailOwner TEXT,
MODIFY COLUMN EmailConversationId TEXT,
MODIFY COLUMN Plugin TEXT;
+CREATE FULLTEXT INDEX meta_emailsubjectbody ON MetaEmail
+ (EmailSubject, EmailBodyPreview, EmailTo, EmailCc, EmailFrom);
+CREATE INDEX meta_emailowner ON MetaEmail (EmailTenant(255), EmailOwner(255));
+CREATE INDEX meta_emailconversationid on MetaEmail (EmailConversationId(255));
+CREATE INDEX meta_emailid on MetaEmail (EmailId(255));
+
+
DROP INDEX meta_attachmentowner ON MetaAttachment;
DROP INDEX meta_attachmentemailid ON MetaAttachment;
ALTER TABLE Media
ADD COLUMN Protected tinyint default 0,
- ADD COLUMN UseProtect tinyint default 0;
+ ADD COLUMN UseProtect tinyint default 0,
ADD COLUMN VolEncrypted tinyint default 0;
ALTER TABLE Object
ADD COLUMN FileIndex integer not null default 0,
MODIFY COLUMN ObjectSource BLOB,
MODIFY COLUMN ObjectName BLOB,
- MODIFY COLUMN ObjectType BLOB;
- MODIFY COLUMN ObjectCategory BLOB;
+ MODIFY COLUMN ObjectType BLOB,
+ MODIFY COLUMN ObjectCategory BLOB,
MODIFY COLUMN ObjectUUID BLOB;
ALTER TABLE FileSet
if mysql $* -f <<END-OF-DATA
USE ${db_name};
-CREATE INDEX meta_emailid on MetaEmail (EmailId(255));
-
CREATE TABLE MalwareMD5
(
MD5 char(22) -- Same as in File
CREATE INDEX FileEvents_jobid_idx ON FileEvents (JobId, FileIndex);
CREATE INDEX FileEvents_sourcejobid_idx ON FileEvents (SourceJobId);
+
+DROP INDEX meta_emailsubjectbody ON MetaEmail;
+DROP INDEX meta_emailowner ON MetaEmail;
+DROP INDEX meta_emailconversationid on MetaEmail;
+
ALTER TABLE MetaEmail
MODIFY COLUMN EmailTenant TEXT,
MODIFY COLUMN EmailOwner TEXT,
MODIFY COLUMN EmailConversationId TEXT,
MODIFY COLUMN Plugin TEXT;
+CREATE FULLTEXT INDEX meta_emailsubjectbody ON MetaEmail
+ (EmailSubject, EmailBodyPreview, EmailTo, EmailCc, EmailFrom);
+CREATE INDEX meta_emailowner ON MetaEmail (EmailTenant(255), EmailOwner(255));
+CREATE INDEX meta_emailconversationid on MetaEmail (EmailConversationId(255));
+CREATE INDEX meta_emailid on MetaEmail (EmailId(255));
+
DROP INDEX meta_attachmentowner ON MetaAttachment;
DROP INDEX meta_attachmentemailid ON MetaAttachment;
CREATE INDEX meta_attachmentemailid ON MetaAttachment (AttachmentEmailId(255));
ALTER TABLE Media
- MODIFY COLUMN Protected TINYINT DEFAULT 0,
- MODIFY COLUMN UseProtect TINYINT DEFAULT 0,
- MODIFY COLUMN VolEncrypted TINYINT DEFAULT 0;
+ ADD COLUMN Protected tinyint default 0,
+ ADD COLUMN UseProtect tinyint default 0,
+ ADD COLUMN VolEncrypted tinyint default 0;
ALTER TABLE Object
ADD COLUMN FileIndex integer not null default 0,
MODIFY COLUMN ObjectSource BLOB,
MODIFY COLUMN ObjectName BLOB,
- MODIFY COLUMN ObjectType BLOB;
- MODIFY COLUMN ObjectCategory BLOB;
+ MODIFY COLUMN ObjectType BLOB,
+ MODIFY COLUMN ObjectCategory BLOB,
MODIFY COLUMN ObjectUUID BLOB;
ALTER TABLE FileSet
('DU0001', 'catalog_update', NOW(), '*SHELL*', 'update_bacula_tables', 'pid$$', 'Catalog schema was updated to 1026');
UPDATE Version SET VersionId=1026;
-
END-OF-DATA
then
echo "Update of Bacula MySQL tables 1025 to 1026 succeeded."