]> git.sur5r.net Git - bacula/bacula/commitdiff
Doc updates
authorKern Sibbald <kern@sibbald.com>
Sun, 4 Apr 2004 11:05:52 +0000 (11:05 +0000)
committerKern Sibbald <kern@sibbald.com>
Sun, 4 Apr 2004 11:05:52 +0000 (11:05 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1179 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/kernstodo
bacula/src/cats/postgresql.c
bacula/src/cats/sql.c

index 6363437a6cf8b1b36394884bc2a60d28bf3cced2..aaa7881808644fc72ef7434bca5962292d2515c9 100644 (file)
@@ -2,14 +2,9 @@
                   31 March 2004
 
 Documentation to do: (any release a little bit at a time)
-- DB upgrade to version 5 in bacula-1.27b, DB upgrade to
-  version 6 in 1.31; DB upgrade to version 7 in 1.33/4.
-- Document running a test version.
 - Document query file format.
-- Document static linking
 - Document problems with Verify and pruning.
 - Document how to use multiple databases.
-- For FreeBSD typical /dev/nrsa0 and for mtx /dev/pass1
 - VXA drives have a "cleaning required"
   indicator, but Exabyte recommends preventive cleaning after every 75
   hours of operation.
@@ -27,41 +22,20 @@ Documentation to do: (any release a little bit at a time)
     changing tape settings while a job is running.)
 - Lookup HP cleaning recommendations.
 - Lookup HP tape replacement recommendations (see trouble shooting autochanger)
-- Create a man page for each binary (Debian package requirement).
           
 Testing to do: (painful)
 - Test drive polling!
-- that ALL console command line options work and are always implemented
 - blocksize recognition code.
 - Test if rewind at end of tape waits for tape to rewind.
 - Test cancel at EOM.       
 
 For 1.33 Testing/Documentation:
-- Add counter variable test.
-- Add an example of using a FIFO in dirdconf.wml 
-- Add an item to the FAQ about running jobs in different timezones.
-- Add some examples of job editing codes.
-- Document Dan's new --with-dir-user, ... options.
-  See userid.txt
 - Figure out how to use ssh or stunnel to protect Bacula communications.
   Add Dan's work to manual See ssl.txt
 - Add db check test to regression. Test each function like delete,
   purge, ...
-- Document Pool keyword for restore.
 - If you use restore replace=never, the directory attributes for
   non-existent directories will not be restored properly.
-- In the Bacula User Guide you write:"Note, one major disadvantage of
-  writing to a NFS mounted volume as I do isthat if the other machine goes
-  down, the OS will wait forever on the fopen()call that Bacula makes.  As
-  a consequence, Bacula will completely stall untilthe machine exporting
-  the NSF mounts comes back up.  If someone knows a wayaround this, please
-  let me know."I haven't tried using NFS in years, but I think that the
-  "soft" and "intr" remount options may well help you.  The only way of
-  being sure would be to try it.See, for example,
-     http://howtos.linux.com/guides/nag2/x-087-2-nfs.mountd.shtml
-
-For 1.33
-- Complete Win32 installer
 
 For version 1.35:
 - Finish work on Gnome restore GUI.
@@ -1420,3 +1394,5 @@ Block Position: 0
 - Once a job is canceled, make sure the status reflects that even if the
   job is "stuck" in the run queue.
 - Test work on conio.c -- particularly linking.
+- Complete Win32 installer
+
index af7b8d312ea71f7440dabccee5f73c5dc3d4385b..655da79993d516e201bb028fb4942ccb525262ac 100644 (file)
@@ -259,26 +259,26 @@ int db_sql_query(B_DB *mdb, char *query, DB_RESULT_HANDLER *result_handler, void
 {
    SQL_ROW row;
 
-   Dmsg0(50, "db_sql_query started\n");
+   Dmsg0(500, "db_sql_query started\n");
   
    db_lock(mdb);
    if (sql_query(mdb, query) != 0) {
       Mmsg(&mdb->errmsg, _("Query failed: %s: ERR=%s\n"), query, sql_strerror(mdb));
       db_unlock(mdb);
-      Dmsg0(50, "db_sql_query failed\n");
+      Dmsg0(500, "db_sql_query failed\n");
       return 0;
    }
-   Dmsg0(50, "db_sql_query succeeded. checking handler\n");
+   Dmsg0(500, "db_sql_query succeeded. checking handler\n");
 
    if (result_handler != NULL) {
-      Dmsg0(50, "db_sql_query invoking handler\n");
+      Dmsg0(500, "db_sql_query invoking handler\n");
       if ((mdb->result = sql_store_result(mdb)) != NULL) {
         int num_fields = sql_num_fields(mdb);
 
-         Dmsg0(50, "db_sql_query sql_store_result suceeded\n");
+         Dmsg0(500, "db_sql_query sql_store_result suceeded\n");
         while ((row = sql_fetch_row(mdb)) != NULL) {
 
-            Dmsg0(50, "db_sql_query sql_fetch_row worked\n");
+            Dmsg0(500, "db_sql_query sql_fetch_row worked\n");
            if (result_handler(ctx, num_fields, row))
               break;
         }
@@ -288,7 +288,7 @@ int db_sql_query(B_DB *mdb, char *query, DB_RESULT_HANDLER *result_handler, void
    }
    db_unlock(mdb);
 
-   Dmsg0(50, "db_sql_query finished\n");
+   Dmsg0(500, "db_sql_query finished\n");
 
    return 1;
 }
@@ -300,13 +300,13 @@ POSTGRESQL_ROW my_postgresql_fetch_row(B_DB *mdb)
    int           j;
    POSTGRESQL_ROW row = NULL; // by default, return NULL
 
-   Dmsg0(50, "my_postgresql_fetch_row start\n");
+   Dmsg0(500, "my_postgresql_fetch_row start\n");
 
    if (mdb->row_number == -1 || mdb->row == NULL) {
-      Dmsg1(50, "we have need space of %d bytes\n", sizeof(char *) * mdb->num_fields);
+      Dmsg1(500, "we have need space of %d bytes\n", sizeof(char *) * mdb->num_fields);
 
       if (mdb->row != NULL) {
-              Dmsg0(50, "my_postgresql_fetch_row freeing space\n");
+              Dmsg0(500, "my_postgresql_fetch_row freeing space\n");
              free(mdb->row);
              mdb->row = NULL;
       }
@@ -319,21 +319,21 @@ POSTGRESQL_ROW my_postgresql_fetch_row(B_DB *mdb)
 
    // if still within the result set
    if (mdb->row_number < mdb->num_rows) {
-      Dmsg2(50, "my_postgresql_fetch_row row number '%d' is acceptable (0..%d)\n", mdb->row_number, mdb->num_rows);
+      Dmsg2(500, "my_postgresql_fetch_row row number '%d' is acceptable (0..%d)\n", mdb->row_number, mdb->num_rows);
       // get each value from this row
       for (j = 0; j < mdb->num_fields; j++) {
              mdb->row[j] = PQgetvalue(mdb->result, mdb->row_number, j);
-              Dmsg2(50, "my_postgresql_fetch_row field '%d' has value '%s'\n", j, mdb->row[j]);
+              Dmsg2(500, "my_postgresql_fetch_row field '%d' has value '%s'\n", j, mdb->row[j]);
       }
       // increment the row number for the next call
       mdb->row_number++;
 
       row = mdb->row;
    } else {
-      Dmsg2(50, "my_postgresql_fetch_row row number '%d' is NOT acceptable (0..%d)\n", mdb->row_number, mdb->num_rows);
+      Dmsg2(500, "my_postgresql_fetch_row row number '%d' is NOT acceptable (0..%d)\n", mdb->row_number, mdb->num_rows);
    }
 
-   Dmsg1(50, "my_postgresql_fetch_row finishes returning %x\n", row);
+   Dmsg1(500, "my_postgresql_fetch_row finishes returning %x\n", row);
 
    return row;
 }
@@ -366,19 +366,19 @@ POSTGRESQL_FIELD * my_postgresql_fetch_field(B_DB *mdb)
 {
    int    i;
 
-   Dmsg0(50, "my_postgresql_fetch_field starts\n");
+   Dmsg0(500, "my_postgresql_fetch_field starts\n");
    if (mdb->fields == NULL) {
-      Dmsg1(50, "allocating space for %d fields\n", mdb->num_fields);
+      Dmsg1(500, "allocating space for %d fields\n", mdb->num_fields);
       mdb->fields = (POSTGRESQL_FIELD *)malloc(sizeof(POSTGRESQL_FIELD) * mdb->num_fields);
 
       for (i = 0; i < mdb->num_fields; i++) {
-         Dmsg1(50, "filling field %d\n", i);
+         Dmsg1(500, "filling field %d\n", i);
         mdb->fields[i].name           = PQfname(mdb->result, i);
         mdb->fields[i].max_length = my_postgresql_max_length(mdb, i);
         mdb->fields[i].type       = PQftype(mdb->result, i);
         mdb->fields[i].flags      = 0;
 
-         Dmsg4(50, "my_postgresql_fetch_field finds field '%s' has length='%d' type='%d' and IsNull=%d\n", 
+         Dmsg4(500, "my_postgresql_fetch_field finds field '%s' has length='%d' type='%d' and IsNull=%d\n", 
            mdb->fields[i].name, mdb->fields[i].max_length, mdb->fields[i].type,
            mdb->fields[i].flags);
       } // end for
@@ -386,7 +386,7 @@ POSTGRESQL_FIELD * my_postgresql_fetch_field(B_DB *mdb)
 
    // increment field number for the next time around
 
-   Dmsg0(50, "my_postgresql_fetch_field finishes\n");
+   Dmsg0(500, "my_postgresql_fetch_field finishes\n");
    return &mdb->fields[mdb->field_number++];
 }
 
@@ -403,33 +403,33 @@ void my_postgresql_field_seek(B_DB *mdb, int field)
 }
 
 int my_postgresql_query(B_DB *mdb, char *query) {
-   Dmsg0(50, "my_postgresql_query started\n");
+   Dmsg0(500, "my_postgresql_query started\n");
    // We are starting a new query.  reset everything.
    mdb->num_rows     = -1;
    mdb->row_number   = -1;
    mdb->field_number = -1;
 
 
-   Dmsg1(50, "my_postgresql_query starts with '%s'\n", query);
+   Dmsg1(500, "my_postgresql_query starts with '%s'\n", query);
    mdb->result = PQexec(mdb->db, query);
    mdb->status = PQresultStatus(mdb->result);
    if (mdb->status == PGRES_TUPLES_OK || mdb->status == PGRES_COMMAND_OK) {
-      Dmsg1(50, "we have a result\n", query);
+      Dmsg1(500, "we have a result\n", query);
 
       // how many fields in the set?
       mdb->num_fields = (int) PQnfields(mdb->result);
-      Dmsg1(50, "we have %d fields\n", mdb->num_fields);
+      Dmsg1(500, "we have %d fields\n", mdb->num_fields);
 
       mdb->num_rows   = PQntuples(mdb->result);
-      Dmsg1(50, "we have %d rows\n", mdb->num_rows);
+      Dmsg1(500, "we have %d rows\n", mdb->num_rows);
 
       mdb->status = 0;
    } else {
-      Dmsg1(50, "we failed\n", query);
+      Dmsg1(500, "we failed\n", query);
       mdb->status = 1;
    }
 
-   Dmsg0(50, "my_postgresql_query finishing\n");
+   Dmsg0(500, "my_postgresql_query finishing\n");
 
    return mdb->status;
 }
@@ -487,15 +487,15 @@ int my_postgresql_currval(B_DB *mdb, char *table_name)
    bsnprintf(query, sizeof(query), "SELECT currval('%s')", sequence);
 
 // Mmsg(&query, "SELECT currval('%s')", sequence);
-   Dmsg1(50, "my_postgresql_currval invoked with '%s'\n", query);
+   Dmsg1(500, "my_postgresql_currval invoked with '%s'\n", query);
    result = PQexec(mdb->db, query);
 
-   Dmsg0(50, "exec done");
+   Dmsg0(500, "exec done");
 
    if (PQresultStatus(result) == PGRES_TUPLES_OK) {
-      Dmsg0(50, "getting value");
+      Dmsg0(500, "getting value");
       id = atoi(PQgetvalue(result, 0, 0));
-      Dmsg2(50, "got value '%s' which became %d\n", PQgetvalue(result, 0, 0), id);
+      Dmsg2(500, "got value '%s' which became %d\n", PQgetvalue(result, 0, 0), id);
    } else {
       Mmsg1(&mdb->errmsg, _("error fetching currval: %s\n"), PQerrorMessage(mdb->db));
    }
index b0e8e943c8c622f0e07ae6b95423368bbab41b2a..8e605c30425f66d71549da9cf2eea303454118dc 100644 (file)
@@ -347,7 +347,7 @@ void split_path_and_file(JCR *jcr, B_DB *mdb, const char *fname)
       mdb->pnl = 1;
    }
 
-   Dmsg2(100, "sllit path=%s file=%s\n", mdb->path, mdb->fname);
+   Dmsg2(500, "split path=%s file=%s\n", mdb->path, mdb->fname);
 }
 
 /*