From 83052f436a0d185db4d899b15e04e892c26ca51e Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Sun, 4 Apr 2004 11:05:52 +0000 Subject: [PATCH] Doc updates git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1179 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/kernstodo | 28 ++--------------- bacula/src/cats/postgresql.c | 60 ++++++++++++++++++------------------ bacula/src/cats/sql.c | 2 +- 3 files changed, 33 insertions(+), 57 deletions(-) diff --git a/bacula/kernstodo b/bacula/kernstodo index 6363437a6c..aaa7881808 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -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 + diff --git a/bacula/src/cats/postgresql.c b/bacula/src/cats/postgresql.c index af7b8d312e..655da79993 100644 --- a/bacula/src/cats/postgresql.c +++ b/bacula/src/cats/postgresql.c @@ -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)); } diff --git a/bacula/src/cats/sql.c b/bacula/src/cats/sql.c index b0e8e943c8..8e605c3042 100644 --- a/bacula/src/cats/sql.c +++ b/bacula/src/cats/sql.c @@ -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); } /* -- 2.39.2