]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Begin implemention of Optimize Job Scheduling.
authorKern Sibbald <kern@sibbald.com>
Mon, 17 Sep 2007 13:27:55 +0000 (13:27 +0000)
committerKern Sibbald <kern@sibbald.com>
Mon, 17 Sep 2007 13:27:55 +0000 (13:27 +0000)
kes  Implement restore callback that Dirk and I agreed on for bat
     restore.
kes  Fix SQL Catalog logging which broke with new db_escape_string
     calling sequence.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@5582 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/dird/dird_conf.c
bacula/src/dird/dird_conf.h
bacula/src/lib/message.c
bacula/src/lib/message.h
bacula/src/qt-console/console/console.cpp
bacula/src/qt-console/restore/prerestore.cpp
bacula/technotes-2.3

index 475df3cdf370d4301e8ca43d25412ff263350e2c..870a32120a5a7735f164eef596139f776a87c4cb 100644 (file)
@@ -293,6 +293,7 @@ RES_ITEM job_items[] = {
    {"prunefiles",  store_bool, ITEM(res_job.PruneFiles), 0, ITEM_DEFAULT, false},
    {"prunevolumes",store_bool, ITEM(res_job.PruneVolumes), 0, ITEM_DEFAULT, false},
    {"enabled",     store_bool, ITEM(res_job.enabled), 0, ITEM_DEFAULT, true},
+   {"optimizejobscheduling",store_bool, ITEM(res_job.OptimizeJobScheduling), 0, ITEM_DEFAULT, false},
    {"spoolattributes",store_bool, ITEM(res_job.SpoolAttributes), 0, ITEM_DEFAULT, false},
    {"spooldata",   store_bool, ITEM(res_job.spool_data), 0, ITEM_DEFAULT, false},
    {"rerunfailedlevels",   store_bool, ITEM(res_job.rerun_failed_levels), 0, ITEM_DEFAULT, false},
index 03d50eb7062941c4fbe8eabcb07beff97317fa21..2df2d6ad901c428e37339f70ac6ebe7688adb7cc 100644 (file)
@@ -392,6 +392,7 @@ public:
    bool PreferMountedVolumes;         /* Prefer vols mounted rather than new one */
    bool write_part_after_job;         /* Set to write part after job in SD */
    bool enabled;                      /* Set if job enabled */
+   bool OptimizeJobScheduling;        /* Set if we should optimize Job scheduling */
    
    MSGS      *messages;               /* How and where to send messages */
    SCHED     *schedule;               /* When -- Automatic schedule */
index 915c3d900704afc55e9fe21fb52c469481f906bc..620aa32b38bca8e55ae2118524e95f25f498d6f8 100644 (file)
@@ -658,7 +658,7 @@ void dispatch_message(JCR *jcr, int type, time_t mtime, char *msg)
                    
                    int len = strlen(msg) + 1;
                    esc_msg = check_pool_memory_size(esc_msg, len*2+1);
-                   p_sql_escape(esc_msg, msg, len);
+                   p_sql_escape(jcr, jcr->db, esc_msg, msg, len);
 
                    bstrutime(dt, sizeof(dt), mtime);
                    Mmsg(cmd, "INSERT INTO Log (JobId, Time, LogText) VALUES (%s,'%s','%s')",
index 191e02c42b6e51dfb8dfa0b84c0e1a2b4a52784c..476d3611a9b9e6b506978e195b630cfd8f6aa015 100644 (file)
@@ -146,8 +146,9 @@ void Jmsg(JCR *jcr, int type, time_t mtime, const char *fmt,...);
 void Qmsg(JCR *jcr, int type, time_t mtime, const char *fmt,...);
 bool get_trace(void);
 
+struct B_DB;
 typedef void (*sql_query)(JCR *jcr, const char *cmd);
-typedef void (*sql_escape)(char *snew, char *old, int len);
+typedef void (*sql_escape)(JCR *jcr, B_DB* db, char *snew, char *old, int len);
 
 extern DLL_IMP_EXP sql_query     p_sql_query;
 extern DLL_IMP_EXP sql_escape    p_sql_escape;
index 0c50f13579af3d8b7680168b53a1b461a53c253c..fd4273b3b67003b13d30be28acd559b09b538b72 100644 (file)
@@ -689,6 +689,13 @@ int Console::read()
          if (mainWin->m_commDebug) Pmsg0(000, "RUN CMD\n");
          new runCmdPage();
          break;
+      case BNET_START_RTREE:
+         if (mainWin->m_commDebug) Pmsg0(000, "START RTREE CMD\n");
+         new restorePage();
+         break;
+      case BNET_END_RTREE:
+         if (mainWin->m_commDebug) Pmsg0(000, "END RTREE CMD\n");
+         break;
       case BNET_ERROR_MSG:
          if (mainWin->m_commDebug) Pmsg0(000, "ERROR MSG\n");
          m_sock->recv();              /* get the message */
index cc13480ac3011eb3855cebe9720ad4c65dcb4c6a..379bf483fbe34bae0017893e60365e7cb8c15d54 100644 (file)
@@ -170,17 +170,19 @@ void prerestorePage::okButtonPushed()
    if (mainWin->m_commandDebug) {
       Pmsg1(000, "preRestore command \'%s\'\n", cmd.toUtf8().data());
    }
-   consoleCommand(cmd);
+   m_console->write_dir(cmd.toUtf8().data());
+// consoleCommand(cmd);
+
    /* Note, do not turn notifier back on here ... */
    if (selectFilesRadio->isChecked()) {
       setConsoleCurrent();
-      new restorePage();
+//    new restorePage();
       closeStackPage();
    } else {
-      m_console->notify(true);
       closeStackPage();
       mainWin->resetFocus();
    }
+   m_console->notify(true);
 }
 
 
index 3e8c0d755c4ccdb976419c20331c97ed80249db8..214b347421d83f1f0f50d1445f486126fd9bc5e2 100644 (file)
@@ -1,6 +1,12 @@
               Technical notes on version 2.3
 
 General:
+17Sep07
+kes  Begin implemention of Optimize Job Scheduling.
+kes  Implement restore callback that Dirk and I agreed on for bat 
+     restore.
+kes  Fix SQL Catalog logging which broke with new db_escape_string 
+     calling sequence.
 14Sep07
 kes  Fix bacula_cats.def for new db_escape_string().
 kes  Increase size of name string when FD making connection to SD.