]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix postgresql driver bug that displayed <NULL> rows from time to time.
authorEric Bollengier <eric@eb.homelinux.org>
Tue, 14 Jul 2009 16:09:48 +0000 (16:09 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Tue, 14 Jul 2009 16:09:48 +0000 (16:09 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8993 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/cats/postgresql.c
bacula/technotes

index 9ff87f4187ab8da350429b10fd5447709ff217a8..d5b9879392366a64f107e70714a9b6db60093060 100644 (file)
@@ -402,7 +402,7 @@ POSTGRESQL_ROW my_postgresql_fetch_row(B_DB *mdb)
    }
 
    // if still within the result set
-   if (mdb->row_number < mdb->num_rows) {
+   if (mdb->row_number >= 0 && 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++) {
@@ -538,7 +538,8 @@ int my_postgresql_query(B_DB *mdb, const char *query)
       mdb->num_rows = PQntuples(mdb->result);
       Dmsg1(500, "we have %d rows\n", mdb->num_rows);
 
-      mdb->status = 0;                  /* succeed */
+      mdb->row_number = 0;      /* we can start to fetch something */
+      mdb->status = 0;          /* succeed */
    } else {
       Dmsg1(50, "Result status failed: %s\n", query);
       goto bail_out;
index 52699994bd7c41ca2e780536f4531cb418b63f34..4d0c98ec0dbe7ccc3293c5db4f78b43f8cd512b4 100644 (file)
@@ -3,6 +3,7 @@
 General:
 
 14Jul09
+ebl  Fix postgresql driver bug that displayed <NULL> rows from time to time.
 kes  More cleanup of bootstrap
 ebl  Implement the project 'restore' menu: enter a JobId, automatically 
      select dependents