]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix #1335 about postgresql error message during copy session
authorEric Bollengier <eric@eb.homelinux.org>
Wed, 15 Jul 2009 14:02:47 +0000 (14:02 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Wed, 15 Jul 2009 14:02:47 +0000 (14:02 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@9005 91ce42f0-d328-0410-95d8-f526ca767f89

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

index d5b9879392366a64f107e70714a9b6db60093060..5c7b13d03393adfbd28a04bf4b767832306e3b5b 100644 (file)
@@ -710,6 +710,7 @@ int my_postgresql_batch_end(JCR *jcr, B_DB *mdb, const char *error)
 {
    int res;
    int count=30;
+   PGresult *result;
    Dmsg0(500, "my_postgresql_batch_end started\n");
 
    if (!mdb) {                  /* no files ? */
@@ -730,7 +731,15 @@ int my_postgresql_batch_end(JCR *jcr, B_DB *mdb, const char *error)
       mdb->status = 0;
       Mmsg1(&mdb->errmsg, _("error ending batch mode: %s"), PQerrorMessage(mdb->db));
    }
-   
+
+   /* Check command status and return to normal libpq state */
+   result = PQgetResult(mdb->db);
+   if (PQresultStatus(result) != PGRES_COMMAND_OK) {
+      Mmsg1(&mdb->errmsg, _("error ending batch mode: %s"), PQerrorMessage(mdb->db));
+      mdb->status = 0;
+   }
+   PQclear(result); 
+
    Dmsg0(500, "my_postgresql_batch_end finishing\n");
 
    return mdb->status;
@@ -775,7 +784,7 @@ int my_postgresql_batch_insert(JCR *jcr, B_DB *mdb, ATTR_DBR *ar)
    if (res <= 0) {
       Dmsg0(500, "we failed\n");
       mdb->status = 0;
-      Mmsg1(&mdb->errmsg, _("error ending batch mode: %s"), PQerrorMessage(mdb->db));
+      Mmsg1(&mdb->errmsg, _("error copying in batch mode: %s"), PQerrorMessage(mdb->db));
    }
 
    Dmsg0(500, "my_postgresql_batch_insert finishing\n");
index 7e67774c655ba19ffa17841ee4361be15423031d..d53fcd53cf89b5757aed6af500060ff6e3b62531 100644 (file)
@@ -5,6 +5,7 @@ General:
 15Jul09
 kes  Fix Win64 build
 kes  Add more example SD Device configurations.
+ebl  Fix #1335 about postgresql error message during copy session
 ebl  Cleanup old job records when starting the director 
      (Created/Running -> Failed)
 ebl  Force the client_encoding to SQL_ASCII when database is already