]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/cats/dbi.c
Enhance mountcache with rescan option after interval.
[bacula/bacula] / bacula / src / cats / dbi.c
index 806e67b0b9ed07d001081b5477442c879e090f00..3181e8b49beb422d2ceb20a8ac3173a7808cc584 100644 (file)
@@ -168,6 +168,7 @@ B_DB_DBI::B_DB_DBI(JCR *jcr,
    path = get_pool_memory(PM_FNAME);
    esc_name = get_pool_memory(PM_FNAME);
    esc_path = get_pool_memory(PM_FNAME);
+   esc_obj = get_pool_memory(PM_FNAME);
    m_allow_transactions = mult_db_connections;
 
    /*
@@ -335,9 +336,9 @@ void B_DB_DBI::db_close_database(JCR *jcr)
 {
    db_end_transaction(jcr);
    P(mutex);
-   sql_free_result();
    m_ref_count--;
    if (m_ref_count == 0) {
+      sql_free_result();
       db_list->remove(this);
       if (m_connected && m_db_handle) {
          dbi_shutdown_r(m_instance);
@@ -352,6 +353,7 @@ void B_DB_DBI::db_close_database(JCR *jcr)
       free_pool_memory(path);
       free_pool_memory(esc_name);
       free_pool_memory(esc_path);
+      free_pool_memory(esc_obj);
       if (m_db_driver) {
          free(m_db_driver);
       }
@@ -1185,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;
       }
@@ -1193,13 +1195,13 @@ bool B_DB_DBI::sql_batch_start(JCR *jcr)
       goto ok_out;
    case SQL_TYPE_POSTGRESQL:
       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 int)")) {
          Dmsg0(500, "sql_batch_start failed\n");
          goto bail_out;
       }
@@ -1250,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;
       }