[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bacula-commits
Subject:    [Bacula-commits] [bacula.org] Bacula Community source branch
From:       git () bacula ! org
Date:       2011-04-18 8:44:56
Message-ID: 20110418084456.9F05539B257 () bacula ! bacula ! org
[Download RAW message or body]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Bacula Community source".

The branch, Branch-5.1 has been updated
       via  92589939d54bf6cc149357f410b1f095c6dec3fa (commit)
      from  e97e5912748924f5097daf2cec6a7b6c42db9e75 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 92589939d54bf6cc149357f410b1f095c6dec3fa
Author: Eric Bollengier <eric@eb.homelinux.org>
Date:   Sat Apr 16 08:44:53 2011 +0200

    Update Catalog version and use DeltaSeq instead of MarkId

-----------------------------------------------------------------------

Summary of changes:
diff --git a/bacula/src/cats/cats.h b/bacula/src/cats/cats.h
index b7b13e9..e83287a 100644
--- a/bacula/src/cats/cats.h
+++ b/bacula/src/cats/cats.h
@@ -213,6 +213,7 @@ struct FILE_DBR {
    DBId_t FilenameId;
    DBId_t PathId;
    JobId_t  MarkId;
+   uint32_t DeltaSeq;
    char LStat[256];
    char Digest[BASE64_SIZE(CRYPTO_DIGEST_MAX_SIZE)];
    int DigestType;                    /* NO_SIG/MD5_SIG/SHA1_SIG */
@@ -437,7 +438,7 @@ typedef int (DB_RESULT_HANDLER)(void *, int, char **);
 #define db_unlock(mdb) mdb->_db_unlock(__FILE__, __LINE__)
 
 /* Current database version number for all drivers */
-#define BDB_VERSION 13
+#define BDB_VERSION 14
 
 class B_DB: public SMARTALLOC {
 protected:
diff --git a/bacula/src/cats/dbi.c b/bacula/src/cats/dbi.c
index dc88bfe..714efcc 100644
--- a/bacula/src/cats/dbi.c
+++ b/bacula/src/cats/dbi.c
@@ -1187,7 +1187,7 @@ bool B_DB_DBI::sql_batch_start(JCR *jcr)
                              "Name blob,"
                              "LStat tinyblob,"
                              "MD5 tinyblob,"
-                             "MarkId integer)")) {
+                             "DeltaSeq smallint)")) {
          Dmsg0(500, "sql_batch_start failed\n");
          goto bail_out;
       }
@@ -1252,7 +1252,7 @@ bool B_DB_DBI::sql_batch_start(JCR *jcr)
                              "Name blob,"
                              "LStat tinyblob,"
                              "MD5 tinyblob,"
-                             "MarkId integer)")) {
+                             "DeltaSeq smallint)")) {
          Dmsg0(500, "sql_batch_start failed\n");
          goto bail_out;
       }
diff --git a/bacula/src/cats/ingres.c b/bacula/src/cats/ingres.c
index 1e1e674..0cc52a1 100755
--- a/bacula/src/cats/ingres.c
+++ b/bacula/src/cats/ingres.c
@@ -1014,7 +1014,7 @@ bool B_DB_INGRES::sql_batch_start(JCR *jcr)
                            "Name VARBYTE(32000),"
                            "LStat VARBYTE(255),"
                            "MD5 VARBYTE(255),"
-                           "MarkId INTEGER)"
+                           "DeltaSeq SMALLINT)"
                            " ON COMMIT PRESERVE ROWS WITH NORECOVERY");
    db_unlock(this);
    return ok;
diff --git a/bacula/src/cats/make_mysql_tables.in b/bacula/src/cats/make_mysql_tables.in
index 2a5b688..acced10 100644
--- a/bacula/src/cats/make_mysql_tables.in
+++ b/bacula/src/cats/make_mysql_tables.in
@@ -52,6 +52,7 @@ CREATE TABLE File (
    JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
    PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
    FilenameId INTEGER UNSIGNED NOT NULL REFERENCES Filename,
+   DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
    MarkId INTEGER UNSIGNED DEFAULT 0,
    LStat TINYBLOB NOT NULL,
    MD5 TINYBLOB,
diff --git a/bacula/src/cats/make_postgresql_tables.in b/bacula/src/cats/make_postgresql_tables.in
index 0bb7bfa..cb8d58d 100644
--- a/bacula/src/cats/make_postgresql_tables.in
+++ b/bacula/src/cats/make_postgresql_tables.in
@@ -53,6 +53,7 @@ CREATE TABLE File
     JobId	      integer	  not null,
     PathId	      integer	  not null,
     FilenameId	      integer	  not null,
+    DeltaSeq	      smallint    not null  default 0,
     MarkId	      integer	  not null  default 0,
     LStat	      text	  not null,
     Md5 	      text	  not null,
diff --git a/bacula/src/cats/make_sqlite3_tables.in b/bacula/src/cats/make_sqlite3_tables.in
index e32bc05..6489938 100644
--- a/bacula/src/cats/make_sqlite3_tables.in
+++ b/bacula/src/cats/make_sqlite3_tables.in
@@ -33,6 +33,7 @@ CREATE TABLE File (
    JobId INTEGER UNSIGNED REFERENCES Job NOT NULL,
    PathId INTEGER UNSIGNED REFERENCES Path NOT NULL,
    FilenameId INTEGER UNSIGNED REFERENCES Filename NOT NULL,
+   DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
    MarkId INTEGER UNSIGNED DEFAULT 0,
    LStat VARCHAR(255) NOT NULL,
    MD5 VARCHAR(255) NOT NULL,
diff --git a/bacula/src/cats/mysql.c b/bacula/src/cats/mysql.c
index bc8b3b1..4c5bbfb 100644
--- a/bacula/src/cats/mysql.c
+++ b/bacula/src/cats/mysql.c
@@ -578,7 +578,7 @@ bool B_DB_MYSQL::sql_batch_start(JCR *jcr)
                               "Name blob,"
                               "LStat tinyblob,"
                               "MD5 tinyblob,"
-                              "MarkId integer)");
+                              "DeltaSeq integer)");
    db_unlock(this);
 
    return retval;
diff --git a/bacula/src/cats/postgresql.c b/bacula/src/cats/postgresql.c
index 0e17372..924b754 100644
--- a/bacula/src/cats/postgresql.c
+++ b/bacula/src/cats/postgresql.c
@@ -938,13 +938,13 @@ bool B_DB_POSTGRESQL::sql_batch_start(JCR *jcr)
    Dmsg0(500, "sql_batch_start started\n");
 
    if (!sql_query("CREATE TEMPORARY TABLE batch ("
-                          "fileindex int,"
-                          "jobid int,"
-                          "path varchar,"
-                          "name varchar,"
-                          "lstat varchar,"
-                          "md5 varchar,"
-                          "markid int)")) {
+                          "FileIndex int,"
+                          "JobId int,"
+                          "Path varchar,"
+                          "Name varchar,"
+                          "LStat varchar,"
+                          "Md5 varchar,"
+                          "DeltaSeq smallint)")) {
       Dmsg0(500, "sql_batch_start failed\n");
       return false;
    }
diff --git a/bacula/src/cats/sql_cmds.c b/bacula/src/cats/sql_cmds.c
index 0327e4b..3c91aa4 100644
--- a/bacula/src/cats/sql_cmds.c
+++ b/bacula/src/cats/sql_cmds.c
@@ -263,7 +263,7 @@ const char *uar_jobid_fileindex_from_table =
  */
 const char *select_recent_version_with_basejob_default = 
 "SELECT FileId, Job.JobId AS JobId, FileIndex, File.PathId AS PathId, "
-       "File.FilenameId AS FilenameId, LStat, MD5, MarkId, "
+       "File.FilenameId AS FilenameId, LStat, MD5, DeltaSeq, "
        "Job.JobTDate AS JobTDate "
 "FROM Job, File, ( "
     "SELECT MAX(JobTDate) AS JobTDate, PathId, FilenameId "
@@ -294,13 +294,13 @@ const char *select_recent_version_with_basejob[] = {
 
    /* Postgresql */    /* The DISTINCT ON () permits to avoid extra join */
    "SELECT DISTINCT ON (FilenameId, PathId) JobTDate, JobId, FileId, "
-         "FileIndex, PathId, FilenameId, LStat, MD5, MarkId "
+         "FileIndex, PathId, FilenameId, LStat, MD5, DeltaSeq "
    "FROM "
-     "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5, MarkId "
+     "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5, DeltaSeq "
          "FROM File WHERE JobId IN (%s) "
         "UNION ALL "
        "SELECT File.FileId, File.JobId, PathId, FilenameId, "
-              "File.FileIndex, LStat, MD5, MarkId "
+              "File.FileIndex, LStat, MD5, DeltaSeq "
          "FROM BaseFiles JOIN File USING (FileId) "
         "WHERE BaseFiles.JobId IN (%s) "
        ") AS T JOIN Job USING (JobId) "
@@ -330,22 +330,22 @@ const char *select_recent_version_with_basejob[] = {
  */
 const char *select_recent_version_with_basejob_and_delta_default = 
 "SELECT FileId, Job.JobId AS JobId, FileIndex, File.PathId AS PathId, "
-       "File.FilenameId AS FilenameId, LStat, MD5, File.MarkId AS MarkId, "
+       "File.FilenameId AS FilenameId, LStat, MD5, File.DeltaSeq AS DeltaSeq, "
        "Job.JobTDate AS JobTDate "
 "FROM Job, File, ( "
-    "SELECT MAX(JobTDate) AS JobTDate, PathId, FilenameId, MarkId "
+    "SELECT MAX(JobTDate) AS JobTDate, PathId, FilenameId, DeltaSeq "
       "FROM ( "
-       "SELECT JobTDate, PathId, FilenameId, MarkId " /* Get all normal files */
+       "SELECT JobTDate, PathId, FilenameId, DeltaSeq " /*Get all normal files*/
          "FROM File JOIN Job USING (JobId) "          /* from selected backup */
         "WHERE File.JobId IN (%s) "
          "UNION ALL "
-       "SELECT JobTDate, PathId, FilenameId, MarkId " /* Get all files from */ 
+       "SELECT JobTDate, PathId, FilenameId, DeltaSeq " /*Get all files from */ 
          "FROM BaseFiles "                            /* BaseJob */
               "JOIN File USING (FileId) "
               "JOIN Job  ON    (BaseJobId = Job.JobId) "
         "WHERE BaseFiles.JobId IN (%s) "        /* Use Max(JobTDate) to find */
        ") AS tmp "
-       "GROUP BY PathId, FilenameId, MarkId "    /* the latest file version */
+       "GROUP BY PathId, FilenameId, DeltaSeq "    /* the latest file version */
     ") AS T1 "
 "WHERE (Job.JobId IN ( "  /* Security, we force JobId to be valid */
         "SELECT DISTINCT BaseJobId FROM BaseFiles WHERE JobId IN (%s)) "
@@ -360,18 +360,18 @@ const char *select_recent_version_with_basejob_and_delta[] = {
    select_recent_version_with_basejob_and_delta_default,
 
    /* Postgresql */    /* The DISTINCT ON () permits to avoid extra join */
-   "SELECT DISTINCT ON (FilenameId, PathId, MarkId) JobTDate, JobId, FileId, "
-         "FileIndex, PathId, FilenameId, LStat, MD5, MarkId "
+   "SELECT DISTINCT ON (FilenameId, PathId, DeltaSeq) JobTDate, JobId, FileId, "
+         "FileIndex, PathId, FilenameId, LStat, MD5, DeltaSeq "
    "FROM "
-     "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5, MarkId "
+    "(SELECT FileId, JobId, PathId, FilenameId, FileIndex, LStat, MD5,DeltaSeq "
          "FROM File WHERE JobId IN (%s) "
         "UNION ALL "
        "SELECT File.FileId, File.JobId, PathId, FilenameId, "
-              "File.FileIndex, LStat, MD5, MarkId "
+              "File.FileIndex, LStat, MD5, DeltaSeq "
          "FROM BaseFiles JOIN File USING (FileId) "
         "WHERE BaseFiles.JobId IN (%s) "
        ") AS T JOIN Job USING (JobId) "
-   "ORDER BY FilenameId, PathId, MarkId, JobTDate DESC ",
+   "ORDER BY FilenameId, PathId, DeltaSeq, JobTDate DESC ",
 
    /* SQLite3 */
    select_recent_version_with_basejob_and_delta_default,
diff --git a/bacula/src/cats/sql_create.c b/bacula/src/cats/sql_create.c
index e281548..5c8ec87 100644
--- a/bacula/src/cats/sql_create.c
+++ b/bacula/src/cats/sql_create.c
@@ -849,9 +849,9 @@ bool db_write_batch_file_records(JCR *jcr)
    }
    
    if (!db_sql_query(jcr->db_batch, 
-  "INSERT INTO File (FileIndex, JobId, PathId, FilenameId, LStat, MD5, MarkId) "
+"INSERT INTO File (FileIndex, JobId, PathId, FilenameId, LStat, MD5, DeltaSeq) "
     "SELECT batch.FileIndex, batch.JobId, Path.PathId, "
-           "Filename.FilenameId,batch.LStat, batch.MD5, batch.MarkId "
+           "Filename.FilenameId,batch.LStat, batch.MD5, batch.DeltaSeq "
       "FROM batch "
       "JOIN Path ON (batch.Path = Path.Path) "
       "JOIN Filename ON (batch.Name = Filename.Name)",
@@ -985,7 +985,7 @@ static int db_create_file_record(JCR *jcr, B_DB *mdb, ATTR_DBR *ar)
    /* Must create it */
    Mmsg(mdb->cmd,
         "INSERT INTO File (FileIndex,JobId,PathId,FilenameId,"
-        "LStat,MD5,MarkId) VALUES (%u,%u,%u,%u,'%s','%s',%u)",
+        "LStat,MD5,DeltaSeq) VALUES (%u,%u,%u,%u,'%s','%s',%u)",
         ar->FileIndex, ar->JobId, ar->PathId, ar->FilenameId,
         ar->attr, digest, ar->DeltaSeq);
 
diff --git a/bacula/src/cats/sql_get.c b/bacula/src/cats/sql_get.c
index 4fd49c5..7e4960e 100644
--- a/bacula/src/cats/sql_get.c
+++ b/bacula/src/cats/sql_get.c
@@ -1155,7 +1155,7 @@ bool db_get_file_list(JCR *jcr, B_DB *mdb, char *jobids,
     * or Migration
     */
    Mmsg(buf,
-"SELECT Path.Path, Filename.Name, T1.FileIndex, T1.JobId, LStat, MarkId, MD5 "
+"SELECT Path.Path, Filename.Name, T1.FileIndex, T1.JobId, LStat, DeltaSeq, MD5 "
  "FROM ( %s ) AS T1 "
  "JOIN Filename ON (Filename.FilenameId = T1.FilenameId) "
  "JOIN Path ON (Path.PathId = T1.PathId) "
@@ -1286,7 +1286,7 @@ bool db_get_base_file_list(JCR *jcr, B_DB *mdb, bool use_md5,
    POOL_MEM buf(PM_MESSAGE);
          
    Mmsg(buf,
- "SELECT Path, Name, FileIndex, JobId, LStat, 0 As MarkId, MD5 "
+ "SELECT Path, Name, FileIndex, JobId, LStat, 0 As DeltaSeq, MD5 "
    "FROM new_basefile%lld ORDER BY JobId, FileIndex ASC",
         (uint64_t) jcr->JobId);
    
diff --git a/bacula/src/cats/sqlite.c b/bacula/src/cats/sqlite.c
index d26632c..5a7f016 100644
--- a/bacula/src/cats/sqlite.c
+++ b/bacula/src/cats/sqlite.c
@@ -666,7 +666,7 @@ bool B_DB_SQLITE::sql_batch_start(JCR *jcr)
                               "Name blob,"
                               "LStat tinyblob,"
                               "MD5 tinyblob,"
-                              "MarkId integer)");
+                              "DeltaSeq integer)");
    db_unlock(this);
 
    return retval;
diff --git a/bacula/src/cats/update_mysql_tables.in b/bacula/src/cats/update_mysql_tables.in
index db3fd19..9578390 100644
--- a/bacula/src/cats/update_mysql_tables.in
+++ b/bacula/src/cats/update_mysql_tables.in
@@ -44,8 +44,10 @@ CREATE TABLE RestoreObject (
 
 CREATE INDEX jobhisto_jobid_idx ON JobHisto (JobId);
 
+ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;
+
 DELETE FROM Version;
-INSERT INTO Version (VersionId) VALUES (13);
+INSERT INTO Version (VersionId) VALUES (14);
 
 END-OF-DATA
 then
diff --git a/bacula/src/cats/update_postgresql_tables.in b/bacula/src/cats/update_postgresql_tables.in
index c21729a..cbc5185 100644
--- a/bacula/src/cats/update_postgresql_tables.in
+++ b/bacula/src/cats/update_postgresql_tables.in
@@ -41,7 +41,9 @@ CREATE TABLE RestoreObject (
    );
 CREATE INDEX restore_jobid_idx on RestoreObject(JobId);
 
-UPDATE Version SET VersionId=13;
+ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;
+
+UPDATE Version SET VersionId=14;
 COMMIT;
 
 ANALYSE;
diff --git a/bacula/src/cats/update_sqlite3_tables.in b/bacula/src/cats/update_sqlite3_tables.in
index 968879a..1b8ae4f 100644
--- a/bacula/src/cats/update_sqlite3_tables.in
+++ b/bacula/src/cats/update_sqlite3_tables.in
@@ -46,7 +46,9 @@ CREATE TABLE RestoreObject (
    );
 CREATE INDEX restore_jobid_idx ON RestoreObject (JobId);
 
-UPDATE Version SET VersionId=13;
+ALTER TABLE File ADD COLUMN DeltaSeq smallint default 0;
+
+UPDATE Version SET VersionId=14;
 COMMIT;
 
 END-OF-DATA
diff --git a/bacula/src/dird/backup.c b/bacula/src/dird/backup.c
index ddedd95..cb7e917 100644
--- a/bacula/src/dird/backup.c
+++ b/bacula/src/dird/backup.c
@@ -138,7 +138,7 @@ static bool get_base_jobids(JCR *jcr, db_list_ctx *jobids)
 /*
  * Foreach files in currrent list, send "/path/fname\0LStat\0MD5\0Delta" to FD
  *      row[0]=Path, row[1]=Filename, row[2]=FileIndex
- *      row[3]=JobId row[4]=LStat row[5]=MarkId row[6]=MD5
+ *      row[3]=JobId row[4]=LStat row[5]=DeltaSeq row[6]=MD5
  */
 static int accurate_list_handler(void *ctx, int num_fields, char **row)
 {
diff --git a/bacula/src/dird/ua_tree.c b/bacula/src/dird/ua_tree.c
index bba9112..71117a9 100644
--- a/bacula/src/dird/ua_tree.c
+++ b/bacula/src/dird/ua_tree.c
@@ -181,7 +181,7 @@ bool user_select_files_from_tree(TREE_CTX *tree)
  *
  *   See uar_sel_files in sql_cmds.c for query that calls us.
  *      row[0]=Path, row[1]=Filename, row[2]=FileIndex
- *      row[3]=JobId row[4]=LStat row[5]=MarkId
+ *      row[3]=JobId row[4]=LStat row[5]=DeltaSeq
  */
 int insert_tree_handler(void *ctx, int num_fields, char **row)
 {


hooks/post-receive
-- 
Bacula Community source

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Bacula-commits mailing list
Bacula-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-commits
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic