]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/cats/postgresql.c
Tweak some comments and formatting.
[bacula/bacula] / bacula / src / cats / postgresql.c
index 598b39f7d1f0126eb68a26e6b23feb64afa520f6..618b45b0abb938a8ee5b010ef6299b51a20e7ca8 100644 (file)
@@ -118,9 +118,17 @@ B_DB_POSTGRESQL::B_DB_POSTGRESQL(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_buf =  get_pool_memory(PM_FNAME);
    m_allow_transactions = mult_db_connections;
 
+   /* At this time, when mult_db_connections == true, this is for 
+    * specific console command such as bvfs or batch mode, and we don't
+    * want to share a batch mode or bvfs. In the future, we can change
+    * the creation function to add this parameter.
+    */
+   m_dedicated = mult_db_connections; 
+
    /*
     * Initialize the private members.
     */
@@ -272,9 +280,9 @@ void B_DB_POSTGRESQL::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) {
          PQfinish(m_db_handle);
@@ -287,6 +295,7 @@ void B_DB_POSTGRESQL::db_close_database(JCR *jcr)
       free_pool_memory(path);
       free_pool_memory(esc_name);
       free_pool_memory(esc_path);
+      free_pool_memory(esc_obj);
       free_pool_memory(m_buf);
       if (m_db_driver) {
          free(m_db_driver);
@@ -306,9 +315,6 @@ void B_DB_POSTGRESQL::db_close_database(JCR *jcr)
       if (m_db_socket) {
          free(m_db_socket);
       }
-      if (esc_obj) {
-         PQfreemem(esc_obj);
-      }
       delete this;
       if (db_list->size() == 0) {
          delete db_list;
@@ -939,13 +945,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;
    }