]> git.sur5r.net Git - bacula/bacula/blob - bacula/patches/testing/add_product_name_in_version.patch
Cleanup patches a bit
[bacula/bacula] / bacula / patches / testing / add_product_name_in_version.patch
1 Index: src/cats/sql.c
2 ===================================================================
3 --- src/cats/sql.c      (révision 5461)
4 +++ src/cats/sql.c      (copie de travail)
5 @@ -111,7 +111,8 @@
6  /* Check that the tables correspond to the version we want */
7  bool check_tables_version(JCR *jcr, B_DB *mdb)
8  {
9 -   const char *query = "SELECT VersionId FROM Version";
10 +   const char *query = "SELECT VersionId FROM Version " 
11 +                      " WHERE Product = 'bacula'";
12  
13     bacula_db_version = 0;
14     if (!db_sql_query(mdb, query, int_handler, (void *)&bacula_db_version)) {
15 Index: src/cats/update_postgresql_tables.in
16 ===================================================================
17 --- src/cats/update_postgresql_tables.in        (révision 5461)
18 +++ src/cats/update_postgresql_tables.in        (copie de travail)
19 @@ -1,10 +1,10 @@
20  #!/bin/sh
21  #
22 -# Shell script to update PostgreSQL tables from version 1.38 to 2.0.0 or higher
23 +# Shell script to update PostgreSQL tables from version 2.2 to 3 or higher
24  #
25  echo " "
26 -echo "This script will update a Bacula PostgreSQL database from version 9 to 10"
27 -echo " which is needed to convert from Bacula version 1.38.x to 2.0.0 or higher"
28 +echo "This script will update a Bacula PostgreSQL database from version 10 to 11"
29 +echo " which is needed to convert from Bacula version 2.2 to 3 or higher"
30  echo "Depending on the size of your database,"
31  echo "this script may take several minutes to run."
32  echo " "
33 @@ -13,65 +13,10 @@
34  
35  if $bindir/psql -f - -d ${db_name} $* <<END-OF-DATA
36  
37 -ALTER TABLE media ADD COLUMN DeviceId integer;
38 -UPDATE media SET DeviceId=0;
39 -ALTER TABLE media ADD COLUMN MediaTypeId integer;
40 -UPDATE media SET MediaTypeId=0;
41 -ALTER TABLE media ADD COLUMN LocationId integer;
42 -UPDATE media SET LocationId=0;
43 -ALTER TABLE media ADD COLUMN RecycleCount integer;
44 -UPDATE media SET RecycleCount=0;
45 -ALTER TABLE media ADD COLUMN InitialWrite timestamp without time zone;
46 -ALTER TABLE media ADD COLUMN scratchpoolid integer;
47 -UPDATE media SET scratchpoolid=0;
48 -ALTER TABLE media ADD COLUMN recyclepoolid integer;
49 -UPDATE media SET recyclepoolid=0;
50 -ALTER TABLE media ADD COLUMN enabled integer;
51 -UPDATE media SET enabled=1;
52 -ALTER TABLE media ADD COLUMN Comment TEXT;
53 +ALTER TABLE version ADD COLUMN product char(8);
54  
55 -ALTER TABLE job ADD COLUMN RealEndTime timestamp without time zone;
56 -ALTER TABLE job ADD COLUMN PriorJobId integer;
57 -UPDATE job SET PriorJobId=0;
58 -
59 -ALTER TABLE jobmedia DROP COLUMN Stripe;
60 -
61 -CREATE TABLE Location (
62 -   LocationId SERIAL NOT NULL,
63 -   Location TEXT NOT NULL,
64 -   Cost integer default 0,
65 -   Enabled integer,
66 -   PRIMARY KEY (LocationId)
67 -);
68 -
69 -CREATE TABLE LocationLog (
70 -   LocLogId SERIAL NOT NULL,
71 -   Date timestamp   without time zone,
72 -   Comment TEXT NOT NULL,
73 -   MediaId INTEGER DEFAULT 0,
74 -   LocationId INTEGER DEFAULT 0,
75 -   newvolstatus text not null
76 -       check (newvolstatus in ('Full','Archive','Append',
77 -             'Recycle','Purged','Read-Only','Disabled',
78 -             'Error','Busy','Used','Cleaning','Scratch')),
79 -   newenabled smallint,
80 -   PRIMARY KEY(LocLogId)
81 -);
82 -
83 -
84 -CREATE TABLE Log
85 -(
86 -    LogId            serial      not null,
87 -    JobId            integer     not null,
88 -    Time             timestamp   without time zone,
89 -    LogText          text        not null,
90 -    primary key (LogId)
91 -);
92 -create index log_name_idx on Log (JobId);
93 -
94 -
95  DELETE FROM version;
96 -INSERT INTO version (versionId) VALUES (10);
97 +INSERT INTO version (product, versionId) VALUES ('bacula', 11);
98  
99  vacuum;
100  
101 Index: src/cats/make_sqlite3_tables.in
102 ===================================================================
103 --- src/cats/make_sqlite3_tables.in     (révision 5461)
104 +++ src/cats/make_sqlite3_tables.in     (copie de travail)
105 @@ -283,6 +283,7 @@
106  INSERT INTO NextId (id, TableName) VALUES (1, "Job");
107  
108  CREATE TABLE Version (
109 +   Product CHAR(8),
110     VersionId INTEGER UNSIGNED NOT NULL 
111     );
112  
113 @@ -350,7 +351,7 @@
114  
115  
116  -- Initialize Version           
117 -INSERT INTO Version (VersionId) VALUES (10);
118 +INSERT INTO Version (Product, VersionId) VALUES ('bacula', 11);
119  
120  
121  PRAGMA default_cache_size = 100000;
122 Index: src/cats/update_sqlite3_tables.in
123 ===================================================================
124 --- src/cats/update_sqlite3_tables.in   (révision 5461)
125 +++ src/cats/update_sqlite3_tables.in   (copie de travail)
126 @@ -1,10 +1,10 @@
127  #!/bin/sh
128  #
129 -# shell script to update SQLite from version 1.38 to 2.0
130 +# shell script to update SQLite from version 2.2 to 3
131  #
132  echo " "
133 -echo "This script will update a Bacula SQLite database from version 9 to 10"
134 -echo " which is needed to convert from Bacula version 1.38.x to 2.0.x or higher"
135 +echo "This script will update a Bacula SQLite database from version 10 to 11"
136 +echo " which is needed to convert from Bacula version 2.2 to 3 or higher"
137  echo "Depending on the size of your database,"
138  echo "this script may take several minutes to run."
139  echo " "
140 @@ -17,236 +17,15 @@
141  ${bindir}/${sqlite} $* ${db_name}.db <<END-OF-DATA
142  BEGIN TRANSACTION;
143  
144 -CREATE TEMPORARY TABLE Media_backup (
145 -   MediaId INTEGER UNSIGNED AUTOINCREMENT,
146 -   VolumeName VARCHAR(128) NOT NULL,
147 -   Slot INTEGER DEFAULT 0,
148 -   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
149 -   MediaType VARCHAR(128) NOT NULL,
150 -   MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0,
151 -   LabelType TINYINT DEFAULT 0,
152 -   FirstWritten DATETIME DEFAULT 0,
153 -   LastWritten DATETIME DEFAULT 0,
154 -   LabelDate DATETIME DEFAULT 0,
155 -   VolJobs INTEGER UNSIGNED DEFAULT 0,
156 -   VolFiles INTEGER UNSIGNED DEFAULT 0,
157 -   VolBlocks INTEGER UNSIGNED DEFAULT 0,
158 -   VolMounts INTEGER UNSIGNED DEFAULT 0,
159 -   VolBytes BIGINT UNSIGNED DEFAULT 0,
160 -   VolParts INTEGER UNSIGNED DEFAULT 0,
161 -   VolErrors INTEGER UNSIGNED DEFAULT 0,
162 -   VolWrites INTEGER UNSIGNED DEFAULT 0,
163 -   VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
164 -   VolStatus VARCHAR(20) NOT NULL,
165 -   Enabled TINYINT DEFAULT 1,
166 -   Recycle TINYINT DEFAULT 0,
167 -   VolRetention BIGINT UNSIGNED DEFAULT 0,
168 -   VolUseDuration BIGINT UNSIGNED DEFAULT 0,
169 -   MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
170 -   MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
171 -   MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
172 -   InChanger TINYINT DEFAULT 0,
173 -   StorageId INTEGER UNSIGNED REFERENCES Storage,
174 -   DeviceId INTEGER UNSIGNED REFERENCES Device,
175 -   MediaAddressing TINYINT DEFAULT 0,
176 -   VolReadTime BIGINT UNSIGNED DEFAULT 0,
177 -   VolWriteTime BIGINT UNSIGNED DEFAULT 0,
178 -   EndFile INTEGER UNSIGNED DEFAULT 0,
179 -   EndBlock INTEGER UNSIGNED DEFAULT 0,
180 -   LocationId INTEGER UNSIGNED REFERENCES Location,
181 -   RecycleCount INTEGER UNSIGNED DEFAULT 0,
182 -   InitialWrite DATETIME DEFAULT 0,
183 -   ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
184 -   RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
185 -   PRIMARY KEY(MediaId)
186 -   );
187 +DROP TABLE Version;
188  
189 -INSERT INTO Media_backup SELECT 
190 -   MediaId, VolumeName, Slot, PoolId,
191 -   MediaType, LabelType, 0, FirstWritten, LastWritten,
192 -   LabelDate, VolJobs, VolFiles, VolBlocks,
193 -   VolMounts, VolBytes, VolParts, VolErrors, VolWrites,
194 -   VolCapacityBytes, VolStatus, 1, Recycle,
195 -   VolRetention, VolUseDuration, MaxVolJobs,
196 -   MaxVolFiles, MaxVolBytes, InChanger, 
197 -   StorageId, 0, MediaAddressing,
198 -   VolReadTime, VolWriteTime, EndFile, EndBlock, 0, 0, 0, 0, 0
199 -   FROM Media;
200 -
201 -
202 -DROP TABLE Media;
203 -
204 -CREATE TABLE Media (
205 -   MediaId INTEGER,
206 -   VolumeName VARCHAR(128) NOT NULL,
207 -   Slot INTEGER DEFAULT 0,
208 -   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
209 -   MediaType VARCHAR(128) NOT NULL,
210 -   MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0,
211 -   LabelType TINYINT DEFAULT 0,
212 -   FirstWritten DATETIME DEFAULT 0,
213 -   LastWritten DATETIME DEFAULT 0,
214 -   LabelDate DATETIME DEFAULT 0,
215 -   VolJobs INTEGER UNSIGNED DEFAULT 0,
216 -   VolFiles INTEGER UNSIGNED DEFAULT 0,
217 -   VolBlocks INTEGER UNSIGNED DEFAULT 0,
218 -   VolMounts INTEGER UNSIGNED DEFAULT 0,
219 -   VolBytes BIGINT UNSIGNED DEFAULT 0,
220 -   VolParts INTEGER UNSIGNED DEFAULT 0,
221 -   VolErrors INTEGER UNSIGNED DEFAULT 0,
222 -   VolWrites INTEGER UNSIGNED DEFAULT 0,
223 -   VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
224 -   VolStatus VARCHAR(20) NOT NULL,
225 -   Enabled TINYINT DEFAULT 1,
226 -   Recycle TINYINT DEFAULT 0,
227 -   VolRetention BIGINT UNSIGNED DEFAULT 0,
228 -   VolUseDuration BIGINT UNSIGNED DEFAULT 0,
229 -   MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
230 -   MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
231 -   MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
232 -   InChanger TINYINT DEFAULT 0,
233 -   StorageId INTEGER UNSIGNED REFERENCES Storage DEFAULT 0,
234 -   DeviceId INTEGER UNSIGNED REFERENCES Device DEFAULT 0,
235 -   MediaAddressing TINYINT DEFAULT 0,
236 -   VolReadTime BIGINT UNSIGNED DEFAULT 0,
237 -   VolWriteTime BIGINT UNSIGNED DEFAULT 0,
238 -   EndFile INTEGER UNSIGNED DEFAULT 0,
239 -   EndBlock INTEGER UNSIGNED DEFAULT 0,
240 -   LocationId INTEGER UNSIGNED REFERENCES Location DEFAULT 0,
241 -   RecycleCount INTEGER UNSIGNED DEFAULT 0,
242 -   InitialWrite DATETIME DEFAULT 0,
243 -   ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
244 -   RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
245 -   Comment TEXT,
246 -   PRIMARY KEY(MediaId)
247 +CREATE TABLE Version (
248 +   Product CHAR(8),
249 +   VersionId INTEGER UNSIGNED NOT NULL 
250     );
251  
252 -INSERT INTO Media (
253 -   MediaId, VolumeName, Slot, PoolId,
254 -   MediaType, MediaTypeId, LabelType, FirstWritten, LastWritten,
255 -   LabelDate, VolJobs, VolFiles, VolBlocks,
256 -   VolMounts, VolBytes, VolParts, VolErrors, VolWrites,
257 -   VolCapacityBytes, VolStatus, Enabled, Recycle,
258 -   VolRetention, VolUseDuration, MaxVolJobs,
259 -   MaxVolFiles, MaxVolBytes,
260 -   InChanger, StorageId, DeviceId, MediaAddressing,
261 -   VolReadTime, VolWriteTime,      
262 -   EndFile, EndBlock, LocationId, RecycleCount, InitialWrite,    
263 -   ScratchPoolId, RecyclePoolId)
264 -   SELECT * FROM Media_backup;
265 +INSERT INTO Version (Product, VersionId) VALUES ('bacula', 11);
266  
267 -
268 -DROP TABLE Media_backup;
269 -CREATE INDEX inx8 ON Media (PoolId);
270 -
271 -CREATE TEMPORARY TABLE job_backup
272 -(
273 -   JobId INTEGER,
274 -   Job VARCHAR(128) NOT NULL,
275 -   Name VARCHAR(128) NOT NULL,
276 -   Type CHAR NOT NULL,
277 -   Level CHAR NOT NULL,
278 -   ClientId INTEGER REFERENCES Client DEFAULT 0,
279 -   JobStatus CHAR NOT NULL,
280 -   SchedTime DATETIME NOT NULL,
281 -   StartTime DATETIME DEFAULT 0,
282 -   EndTime DATETIME DEFAULT 0,
283 -   RealEndTime DATETIME DEFAULT 0,
284 -   JobTDate BIGINT UNSIGNED DEFAULT 0,
285 -   VolSessionId INTEGER UNSIGNED DEFAULT 0,
286 -   VolSessionTime INTEGER UNSIGNED DEFAULT 0,
287 -   JobFiles INTEGER UNSIGNED DEFAULT 0,
288 -   JobBytes BIGINT UNSIGNED DEFAULT 0,
289 -   JobErrors INTEGER UNSIGNED DEFAULT 0,
290 -   JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
291 -   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
292 -   FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0,
293 -   PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
294 -   PurgedFiles TINYINT DEFAULT 0,
295 -   HasBase TINYINT DEFAULT 0 
296 -   );
297 -
298 -INSERT INTO Job_backup SELECT 
299 -   JobId, Job, Name, Type, Level, ClientId, JobStatus,
300 -   SchedTime, StartTime, EndTime, 0,
301 -   JobTDate, VolSessionId, VolSessionTime, 
302 -   JobFiles, JobBytes, JobErrors, JobMissingFiles, 
303 -   PoolId, FileSetId, 0, PurgedFiles, HasBase
304 -   FROM Job;
305 -
306 -DROP TABLE Job;
307 -
308 -CREATE TABLE Job
309 -(
310 -   JobId INTEGER,
311 -   Job VARCHAR(128) NOT NULL,
312 -   Name VARCHAR(128) NOT NULL,
313 -   Type CHAR NOT NULL,
314 -   Level CHAR NOT NULL,
315 -   ClientId INTEGER REFERENCES Client DEFAULT 0,
316 -   JobStatus CHAR NOT NULL,
317 -   SchedTime DATETIME NOT NULL,
318 -   StartTime DATETIME DEFAULT 0,
319 -   EndTime DATETIME DEFAULT 0,
320 -   RealEndTime DATETIME DEFAULT 0,
321 -   JobTDate BIGINT UNSIGNED DEFAULT 0,
322 -   VolSessionId INTEGER UNSIGNED DEFAULT 0,
323 -   VolSessionTime INTEGER UNSIGNED DEFAULT 0,
324 -   JobFiles INTEGER UNSIGNED DEFAULT 0,
325 -   JobBytes BIGINT UNSIGNED DEFAULT 0,
326 -   JobErrors INTEGER UNSIGNED DEFAULT 0,
327 -   JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
328 -   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
329 -   FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0,
330 -   PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
331 -   PurgedFiles TINYINT DEFAULT 0,
332 -   HasBase TINYINT DEFAULT 0,
333 -   PRIMARY KEY(JobId)
334 -   );
335 -CREATE INDEX inx6 ON Job (Name);
336 -
337 -INSERT INTO Job (
338 -   JobId, Job, Name, Type, Level, ClientId, JobStatus,
339 -   SchedTime, StartTime, EndTime, RealEndTime,
340 -   JobTDate, VolSessionId, VolSessionTime, 
341 -   JobFiles, JobBytes, JobErrors, JobMissingFiles, 
342 -   PoolId, FileSetId, PriorJobId, PurgedFiles, HasBase)
343 -   SELECT * FROM Job_backup;
344 -
345 -DROP TABLE Job_backup;
346 -
347 -CREATE TABLE LocationLog (
348 -   LocLogId INTEGER,
349 -   Date DATETIME NOT NULL,
350 -   Comment TEXT NOT NULL,
351 -   MediaId INTEGER UNSIGNED REFERENCES Media DEFAULT 0,
352 -   LocationId INTEGER UNSIGNED REFERENCES LocationId DEFAULT 0,
353 -   NewVolStatus VARCHAR(20) NOT NULL,
354 -   NewEnabled TINYINT NOT NULL,
355 -   PRIMARY KEY(LocLogId)
356 -);
357 -
358 -CREATE TABLE Log (
359 -   LogId INTEGER,
360 -   JobId INTEGER UNSIGNED REFERENCES Job NOT NULL,
361 -   Time DATETIME NOT NULL,
362 -   LogText TEXT NOT NULL,
363 -   PRIMARY KEY(LogId) 
364 -   );
365 -CREATE INDEX LogInx1 ON File (JobId);
366 -
367 -CREATE TABLE Location (
368 -   LocationId INTEGER,
369 -   Location TEXT NOT NULL,
370 -   Cost INTEGER DEFAULT 0,
371 -   Enabled TINYINT,
372 -   PRIMARY KEY(LocationId)
373 -   );
374
375 -
376 -DELETE FROM Version;
377 -INSERT INTO Version (VersionId) VALUES (10);
378 -
379  COMMIT;
380  
381  END-OF-DATA
382 Index: src/cats/make_postgresql_tables.in
383 ===================================================================
384 --- src/cats/make_postgresql_tables.in  (révision 5461)
385 +++ src/cats/make_postgresql_tables.in  (copie de travail)
386 @@ -315,6 +315,7 @@
387  
388  CREATE TABLE version
389  (
390 +    product           char(8),
391      versionid        integer               not null
392  );
393  
394 @@ -364,7 +365,7 @@
395     ('p', 'Waiting on higher priority jobs');
396  
397  
398 -INSERT INTO Version (VersionId) VALUES (10);
399 +INSERT INTO Version (Product, VersionId) VALUES ('bacula', 11);
400  
401  -- Make sure we have appropriate permissions
402  
403 Index: src/cats/update_sqlite_tables.in
404 ===================================================================
405 --- src/cats/update_sqlite_tables.in    (révision 5461)
406 +++ src/cats/update_sqlite_tables.in    (copie de travail)
407 @@ -1,10 +1,10 @@
408  #!/bin/sh
409  #
410 -# shell script to update SQLite from version 1.38 to 2.0
411 +# shell script to update SQLite from version 2.2 to 3
412  #
413  echo " "
414 -echo "This script will update a Bacula SQLite database from version 9 to 10"
415 -echo " which is needed to convert from Bacula version 1.38.x to 2.0.x or higher"
416 +echo "This script will update a Bacula SQLite database from version 10 to 11"
417 +echo " which is needed to convert from Bacula version 2.2 to 3 or higher"
418  echo "Depending on the size of your database,"
419  echo "this script may take several minutes to run."
420  echo " "
421 @@ -17,236 +17,15 @@
422  ${bindir}/${sqlite} $* ${db_name}.db <<END-OF-DATA
423  BEGIN TRANSACTION;
424  
425 -CREATE TEMPORARY TABLE Media_backup (
426 -   MediaId INTEGER UNSIGNED AUTOINCREMENT,
427 -   VolumeName VARCHAR(128) NOT NULL,
428 -   Slot INTEGER DEFAULT 0,
429 -   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
430 -   MediaType VARCHAR(128) NOT NULL,
431 -   MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0,
432 -   LabelType TINYINT DEFAULT 0,
433 -   FirstWritten DATETIME DEFAULT 0,
434 -   LastWritten DATETIME DEFAULT 0,
435 -   LabelDate DATETIME DEFAULT 0,
436 -   VolJobs INTEGER UNSIGNED DEFAULT 0,
437 -   VolFiles INTEGER UNSIGNED DEFAULT 0,
438 -   VolBlocks INTEGER UNSIGNED DEFAULT 0,
439 -   VolMounts INTEGER UNSIGNED DEFAULT 0,
440 -   VolBytes BIGINT UNSIGNED DEFAULT 0,
441 -   VolParts INTEGER UNSIGNED DEFAULT 0,
442 -   VolErrors INTEGER UNSIGNED DEFAULT 0,
443 -   VolWrites INTEGER UNSIGNED DEFAULT 0,
444 -   VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
445 -   VolStatus VARCHAR(20) NOT NULL,
446 -   Enabled TINYINT DEFAULT 1,
447 -   Recycle TINYINT DEFAULT 0,
448 -   VolRetention BIGINT UNSIGNED DEFAULT 0,
449 -   VolUseDuration BIGINT UNSIGNED DEFAULT 0,
450 -   MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
451 -   MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
452 -   MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
453 -   InChanger TINYINT DEFAULT 0,
454 -   StorageId INTEGER UNSIGNED REFERENCES Storage,
455 -   DeviceId INTEGER UNSIGNED REFERENCES Device,
456 -   MediaAddressing TINYINT DEFAULT 0,
457 -   VolReadTime BIGINT UNSIGNED DEFAULT 0,
458 -   VolWriteTime BIGINT UNSIGNED DEFAULT 0,
459 -   EndFile INTEGER UNSIGNED DEFAULT 0,
460 -   EndBlock INTEGER UNSIGNED DEFAULT 0,
461 -   LocationId INTEGER UNSIGNED REFERENCES Location,
462 -   RecycleCount INTEGER UNSIGNED DEFAULT 0,
463 -   InitialWrite DATETIME DEFAULT 0,
464 -   ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
465 -   RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
466 -   PRIMARY KEY(MediaId)
467 -   );
468 +DROP TABLE Version;
469  
470 -INSERT INTO Media_backup SELECT 
471 -   MediaId, VolumeName, Slot, PoolId,
472 -   MediaType, LabelType, 0, FirstWritten, LastWritten,
473 -   LabelDate, VolJobs, VolFiles, VolBlocks,
474 -   VolMounts, VolBytes, VolParts, VolErrors, VolWrites,
475 -   VolCapacityBytes, VolStatus, 1, Recycle,
476 -   VolRetention, VolUseDuration, MaxVolJobs,
477 -   MaxVolFiles, MaxVolBytes, InChanger, 
478 -   StorageId, 0, MediaAddressing,
479 -   VolReadTime, VolWriteTime, EndFile, EndBlock, 0, 0, 0, 0, 0
480 -   FROM Media;
481 -
482 -
483 -DROP TABLE Media;
484 -
485 -CREATE TABLE Media (
486 -   MediaId INTEGER,
487 -   VolumeName VARCHAR(128) NOT NULL,
488 -   Slot INTEGER DEFAULT 0,
489 -   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
490 -   MediaType VARCHAR(128) NOT NULL,
491 -   MediaTypeId INTEGER UNSIGNED REFERENCES MediaType DEFAULT 0,
492 -   LabelType TINYINT DEFAULT 0,
493 -   FirstWritten DATETIME DEFAULT 0,
494 -   LastWritten DATETIME DEFAULT 0,
495 -   LabelDate DATETIME DEFAULT 0,
496 -   VolJobs INTEGER UNSIGNED DEFAULT 0,
497 -   VolFiles INTEGER UNSIGNED DEFAULT 0,
498 -   VolBlocks INTEGER UNSIGNED DEFAULT 0,
499 -   VolMounts INTEGER UNSIGNED DEFAULT 0,
500 -   VolBytes BIGINT UNSIGNED DEFAULT 0,
501 -   VolParts INTEGER UNSIGNED DEFAULT 0,
502 -   VolErrors INTEGER UNSIGNED DEFAULT 0,
503 -   VolWrites INTEGER UNSIGNED DEFAULT 0,
504 -   VolCapacityBytes BIGINT UNSIGNED DEFAULT 0,
505 -   VolStatus VARCHAR(20) NOT NULL,
506 -   Enabled TINYINT DEFAULT 1,
507 -   Recycle TINYINT DEFAULT 0,
508 -   VolRetention BIGINT UNSIGNED DEFAULT 0,
509 -   VolUseDuration BIGINT UNSIGNED DEFAULT 0,
510 -   MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
511 -   MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
512 -   MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
513 -   InChanger TINYINT DEFAULT 0,
514 -   StorageId INTEGER UNSIGNED REFERENCES Storage DEFAULT 0,
515 -   DeviceId INTEGER UNSIGNED REFERENCES Device DEFAULT 0,
516 -   MediaAddressing TINYINT DEFAULT 0,
517 -   VolReadTime BIGINT UNSIGNED DEFAULT 0,
518 -   VolWriteTime BIGINT UNSIGNED DEFAULT 0,
519 -   EndFile INTEGER UNSIGNED DEFAULT 0,
520 -   EndBlock INTEGER UNSIGNED DEFAULT 0,
521 -   LocationId INTEGER UNSIGNED REFERENCES Location DEFAULT 0,
522 -   RecycleCount INTEGER UNSIGNED DEFAULT 0,
523 -   InitialWrite DATETIME DEFAULT 0,
524 -   ScratchPoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
525 -   RecyclePoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
526 -   Comment TEXT,
527 -   PRIMARY KEY(MediaId)
528 +CREATE TABLE Version (
529 +   Product CHAR(8),
530 +   VersionId INTEGER UNSIGNED NOT NULL 
531     );
532  
533 -INSERT INTO Media (
534 -   MediaId, VolumeName, Slot, PoolId,
535 -   MediaType, MediaTypeId, LabelType, FirstWritten, LastWritten,
536 -   LabelDate, VolJobs, VolFiles, VolBlocks,
537 -   VolMounts, VolBytes, VolParts, VolErrors, VolWrites,
538 -   VolCapacityBytes, VolStatus, Enabled, Recycle,
539 -   VolRetention, VolUseDuration, MaxVolJobs,
540 -   MaxVolFiles, MaxVolBytes,
541 -   InChanger, StorageId, DeviceId, MediaAddressing,
542 -   VolReadTime, VolWriteTime,      
543 -   EndFile, EndBlock, LocationId, RecycleCount, InitialWrite,    
544 -   ScratchPoolId, RecyclePoolId)
545 -   SELECT * FROM Media_backup;
546 +INSERT INTO Version (Product, VersionId) VALUES ('bacula', 11);
547  
548 -
549 -DROP TABLE Media_backup;
550 -CREATE INDEX inx8 ON Media (PoolId);
551 -
552 -CREATE TEMPORARY TABLE job_backup
553 -(
554 -   JobId INTEGER,
555 -   Job VARCHAR(128) NOT NULL,
556 -   Name VARCHAR(128) NOT NULL,
557 -   Type CHAR NOT NULL,
558 -   Level CHAR NOT NULL,
559 -   ClientId INTEGER REFERENCES Client DEFAULT 0,
560 -   JobStatus CHAR NOT NULL,
561 -   SchedTime DATETIME NOT NULL,
562 -   StartTime DATETIME DEFAULT 0,
563 -   EndTime DATETIME DEFAULT 0,
564 -   RealEndTime DATETIME DEFAULT 0,
565 -   JobTDate BIGINT UNSIGNED DEFAULT 0,
566 -   VolSessionId INTEGER UNSIGNED DEFAULT 0,
567 -   VolSessionTime INTEGER UNSIGNED DEFAULT 0,
568 -   JobFiles INTEGER UNSIGNED DEFAULT 0,
569 -   JobBytes BIGINT UNSIGNED DEFAULT 0,
570 -   JobErrors INTEGER UNSIGNED DEFAULT 0,
571 -   JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
572 -   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
573 -   FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0,
574 -   PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
575 -   PurgedFiles TINYINT DEFAULT 0,
576 -   HasBase TINYINT DEFAULT 0 
577 -   );
578 -
579 -INSERT INTO Job_backup SELECT 
580 -   JobId, Job, Name, Type, Level, ClientId, JobStatus,
581 -   SchedTime, StartTime, EndTime, 0,
582 -   JobTDate, VolSessionId, VolSessionTime, 
583 -   JobFiles, JobBytes, JobErrors, JobMissingFiles, 
584 -   PoolId, FileSetId, 0, PurgedFiles, HasBase
585 -   FROM Job;
586 -
587 -DROP TABLE Job;
588 -
589 -CREATE TABLE Job
590 -(
591 -   JobId INTEGER,
592 -   Job VARCHAR(128) NOT NULL,
593 -   Name VARCHAR(128) NOT NULL,
594 -   Type CHAR NOT NULL,
595 -   Level CHAR NOT NULL,
596 -   ClientId INTEGER REFERENCES Client DEFAULT 0,
597 -   JobStatus CHAR NOT NULL,
598 -   SchedTime DATETIME NOT NULL,
599 -   StartTime DATETIME DEFAULT 0,
600 -   EndTime DATETIME DEFAULT 0,
601 -   RealEndTime DATETIME DEFAULT 0,
602 -   JobTDate BIGINT UNSIGNED DEFAULT 0,
603 -   VolSessionId INTEGER UNSIGNED DEFAULT 0,
604 -   VolSessionTime INTEGER UNSIGNED DEFAULT 0,
605 -   JobFiles INTEGER UNSIGNED DEFAULT 0,
606 -   JobBytes BIGINT UNSIGNED DEFAULT 0,
607 -   JobErrors INTEGER UNSIGNED DEFAULT 0,
608 -   JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
609 -   PoolId INTEGER UNSIGNED REFERENCES Pool DEFAULT 0,
610 -   FileSetId INTEGER UNSIGNED REFERENCES FileSet DEFAULT 0,
611 -   PriorJobId INTEGER UNSIGNED REFERENCES Job DEFAULT 0,
612 -   PurgedFiles TINYINT DEFAULT 0,
613 -   HasBase TINYINT DEFAULT 0,
614 -   PRIMARY KEY(JobId)
615 -   );
616 -CREATE INDEX inx6 ON Job (Name);
617 -
618 -INSERT INTO Job (
619 -   JobId, Job, Name, Type, Level, ClientId, JobStatus,
620 -   SchedTime, StartTime, EndTime, RealEndTime,
621 -   JobTDate, VolSessionId, VolSessionTime, 
622 -   JobFiles, JobBytes, JobErrors, JobMissingFiles, 
623 -   PoolId, FileSetId, PriorJobId, PurgedFiles, HasBase)
624 -   SELECT * FROM Job_backup;
625 -
626 -DROP TABLE Job_backup;
627 -
628 -CREATE TABLE LocationLog (
629 -   LocLogId INTEGER,
630 -   Date DATETIME NOT NULL,
631 -   Comment TEXT NOT NULL,
632 -   MediaId INTEGER UNSIGNED REFERENCES Media DEFAULT 0,
633 -   LocationId INTEGER UNSIGNED REFERENCES LocationId DEFAULT 0,
634 -   NewVolStatus VARCHAR(20) NOT NULL,
635 -   NewEnabled TINYINT NOT NULL,
636 -   PRIMARY KEY(LocLogId)
637 -);
638 -
639 -CREATE TABLE Log (
640 -   LogId INTEGER,
641 -   JobId INTEGER UNSIGNED REFERENCES Job NOT NULL,
642 -   Time DATETIME NOT NULL,
643 -   LogText TEXT NOT NULL,
644 -   PRIMARY KEY(LogId) 
645 -   );
646 -CREATE INDEX LogInx1 ON File (JobId);
647 -
648 -CREATE TABLE Location (
649 -   LocationId INTEGER,
650 -   Location TEXT NOT NULL,
651 -   Cost INTEGER DEFAULT 0,
652 -   Enabled TINYINT,
653 -   PRIMARY KEY(LocationId)
654 -   );
655
656 -
657 -DELETE FROM Version;
658 -INSERT INTO Version (VersionId) VALUES (10);
659 -
660  COMMIT;
661  
662  END-OF-DATA
663 Index: src/cats/update_mysql_tables.in
664 ===================================================================
665 --- src/cats/update_mysql_tables.in     (révision 5461)
666 +++ src/cats/update_mysql_tables.in     (copie de travail)
667 @@ -1,10 +1,10 @@
668  #!/bin/sh
669  #
670 -# Shell script to update MySQL tables from version 1.38 to 2.0 
671 +# Shell script to update MySQL tables from version 2.2 to 3
672  #
673  echo " "
674 -echo "This script will update a Bacula MySQL database from version 9 to 10"
675 -echo " which is needed to convert from Bacula version 1.38.x to 2.0.x or higher"
676 +echo "This script will update a Bacula MySQL database from version 10 to 11"
677 +echo " which is needed to convert from Bacula version 2.2 to 3 or higher"
678  echo "Depending on the size of your database,"
679  echo "this script may take several minutes to run."
680  echo " "
681 @@ -14,59 +14,12 @@
682  if $bindir/mysql $* -f <<END-OF-DATA
683  USE ${db_name};
684  
685 -DROP TABLE IF EXISTS MAC;
686 -DROP TABLE IF EXISTS Log;
687 -DROP TABLE IF EXISTS Location;
688 -DROP TABLE IF EXISTS LocationLog;
689 +ALTER TABLE Version ADD COLUMN Product char(8) default '';
690  
691 -CREATE TABLE Log (
692 -   LogId INTEGER UNSIGNED AUTO_INCREMENT,
693 -   JobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job,
694 -   Time DATETIME DEFAULT 0,
695 -   LogText BLOB NOT NULL,
696 -   PRIMARY KEY(LogId),
697 -   INDEX (JobId)
698 -   );
699  
700 -CREATE TABLE Location (
701 -   LocationId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
702 -   Location TINYBLOB NOT NULL,
703 -   Cost INTEGER DEFAULT 0,
704 -   Enabled TINYINT,
705 -   PRIMARY KEY(LocationId)
706 -   );
707  
708 -CREATE TABLE LocationLog (
709 -   LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
710 -   Date DATETIME DEFAULT 0,
711 -   Comment BLOB,
712 -   MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media,
713 -   LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location,
714 -   NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged',
715 -    'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL,
716 -   NewEnabled TINYINT,
717 -   PRIMARY KEY(LocLogId)
718 -);
719 -
720 -ALTER TABLE Media ADD COLUMN MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType;
721 -ALTER TABLE Media ADD COLUMN DeviceId INTEGER UNSIGNED DEFAULT 0 REFERENCES Device;
722 -ALTER TABLE Media ADD COLUMN LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location;
723 -ALTER TABLE Media ADD COLUMN RecycleCount INTEGER UNSIGNED DEFAULT 0;
724 -ALTER TABLE Media ADD COLUMN InitialWrite DATETIME DEFAULT 0;
725 -ALTER TABLE Media ADD COLUMN ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
726 -ALTER TABLE Media ADD COLUMN RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool;
727 -ALTER TABLE Media ADD COLUMN Enabled TINYINT DEFAULT 1;
728 -ALTER TABLE Media ADD COLUMN Comment BLOB;
729 -
730 -ALTER TABLE JobMedia DROP COLUMN Stripe;
731 -
732 -ALTER TABLE Job ADD COLUMN PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job;
733 -ALTER TABLE Job ADD COLUMN RealEndTime DATETIME DEFAULT 0;
734 -
735 -
736 -
737  DELETE FROM Version;
738 -INSERT INTO Version (VersionId) VALUES (10);
739 +INSERT INTO Version (Product, VersionId) VALUES ('bacula', 11);
740  
741  END-OF-DATA
742  then
743 Index: src/cats/make_sqlite_tables.in
744 ===================================================================
745 --- src/cats/make_sqlite_tables.in      (révision 5461)
746 +++ src/cats/make_sqlite_tables.in      (copie de travail)
747 @@ -283,6 +283,7 @@
748  INSERT INTO NextId (id, TableName) VALUES (1, "Job");
749  
750  CREATE TABLE Version (
751 +   Product CHAR(8),
752     VersionId INTEGER UNSIGNED NOT NULL 
753     );
754  
755 @@ -350,7 +351,7 @@
756  
757  
758  -- Initialize Version           
759 -INSERT INTO Version (VersionId) VALUES (10);
760 +INSERT INTO Version (Product, VersionId) VALUES ('bacula', 11);
761  
762  
763  PRAGMA default_synchronous = OFF;
764 Index: src/cats/make_mysql_tables.in
765 ===================================================================
766 --- src/cats/make_mysql_tables.in       (révision 5461)
767 +++ src/cats/make_mysql_tables.in       (copie de travail)
768 @@ -328,11 +328,12 @@
769     ('p', 'Waiting on higher priority jobs');
770  
771  CREATE TABLE Version (
772 -   VersionId INTEGER UNSIGNED NOT NULL 
773 +   Product CHAR(8),
774 +   VersionId INTEGER UNSIGNED NOT NULL,
775     );
776  
777  -- Initialize Version           
778 -INSERT INTO Version (VersionId) VALUES (10);
779 +INSERT INTO Version (Product, VersionId) VALUES ('bacula', 11);
780  
781  END-OF-DATA
782  then