]> git.sur5r.net Git - bacula/bacula/commitdiff
Revert "Drop have_insert_id in mdb as its always true for all backends."
authorKern Sibbald <kern@sibbald.com>
Sat, 10 Apr 2010 10:15:58 +0000 (12:15 +0200)
committerKern Sibbald <kern@sibbald.com>
Sat, 10 Apr 2010 10:15:58 +0000 (12:15 +0200)
This reverts commit e4c79f3a2a6e9eff312b474fda10e097660e131f.

bacula/src/cats/cats.h
bacula/src/cats/dbi.c
bacula/src/cats/ingres.c
bacula/src/cats/mysql.c
bacula/src/cats/postgresql.c
bacula/src/cats/sql.c
bacula/src/cats/sqlite.c

index 164eec325c6f387b7ca0b6791d28ded5c47b29a2..5bbd4d7df4528962a8fe80caacf0ca4f7e124075 100644 (file)
@@ -135,6 +135,7 @@ struct B_DB {
    char *db_password;
    int  db_port;                      /* port for host name address */
    bool connected;                    /* connection made to db */
+   bool have_insert_id;               /* do not have insert id */
    bool fields_defined;               /* set when fields defined */
    char *sqlite_errmsg;               /* error message returned by sqlite */
    POOLMEM *errmsg;                   /* nicely edited error message */
@@ -256,6 +257,7 @@ struct B_DB {
    char *db_password;
    int  db_port;                      /* port for host name address */
    bool connected;                    /* connection made to db */
+   bool have_insert_id;               /* do not have insert id */
    bool fields_defined;               /* set when fields defined */
    char *sqlite_errmsg;               /* error message returned by sqlite */
    POOLMEM *errmsg;                   /* nicely edited error message */
@@ -362,6 +364,7 @@ struct B_DB {
    char *db_address;                  /* host address */
    char *db_socket;                   /* socket for local access */
    int db_port;                       /* port of host address */
+   int have_insert_id;                /* do have insert_id() */
    bool connected;
    POOLMEM *errmsg;                   /* nicely edited error message */
    POOLMEM *cmd;                      /* SQL command string */
@@ -464,6 +467,7 @@ struct B_DB {
    char *db_address;              /* host address */
    char *db_socket;               /* socket for local access */
    int db_port;                   /* port of host address */
+   int have_insert_id;            /* do have insert_id() */
    bool connected;
    POOLMEM *errmsg;               /* nicely edited error message */
    POOLMEM *cmd;                  /* SQL command string */
@@ -573,6 +577,7 @@ struct B_DB {
    char *db_socket;               /* socket for local access */
    int db_port;                   /* port of host address */
    int session_id;                /* unique session id */
+   int have_insert_id;            /* do have insert_id() */
    bool connected;
    POOLMEM *errmsg;               /* nicely edited error message */
    POOLMEM *cmd;                  /* SQL command string */
@@ -700,6 +705,7 @@ struct B_DB {
    char *db_address;              /* host address */
    char *db_socket;               /* socket for local access */
    int db_port;                   /* port of host address */
+   int have_insert_id;            /* do have insert_id() */
    bool connected;
    POOLMEM *errmsg;               /* nicely edited error message */
    POOLMEM *cmd;                  /* SQL command string */
index f721f1fbb23bbe67b5515cef6cd23b9bbf27435f..dd2a9bba9c1897fd3d716c50ac3350fdae38709b 100644 (file)
@@ -168,6 +168,7 @@ db_init_database(JCR *jcr, const char *db_name, const char *db_user, const char
    }
    mdb->db_type        = db_type;
    mdb->db_port        = db_port;
+   mdb->have_insert_id = TRUE;
    mdb->errmsg         = get_pool_memory(PM_EMSG); /* get error message buffer */
    *mdb->errmsg        = 0;
    mdb->cmd            = get_pool_memory(PM_EMSG); /* get command buffer */
index bc32703a0fac79a8b4ec744f33cfac210ed31d78..3553f37953c352a6e821a0b4d06357d75ea604d7 100755 (executable)
@@ -130,6 +130,7 @@ db_init_database(JCR *jcr, const char *db_name, const char *db_user, const char
    }
    mdb->db_port        = db_port;
    mdb->session_id     = ++next_session_id;
+   mdb->have_insert_id = TRUE;
    mdb->errmsg         = get_pool_memory(PM_EMSG); /* get error message buffer */
    *mdb->errmsg        = 0;
    mdb->cmd            = get_pool_memory(PM_EMSG); /* get command buffer */
index 1045d24c5d4a5e0760296b280628fa1beb61f1b3..5f950fb5c1c835426eeef97daa4c993baf5992b8 100644 (file)
@@ -113,6 +113,7 @@ db_init_database(JCR *jcr, const char *db_name, const char *db_user, const char
       mdb->db_socket = bstrdup(db_socket);
    }
    mdb->db_port = db_port;
+   mdb->have_insert_id = true;
    mdb->errmsg = get_pool_memory(PM_EMSG); /* get error message buffer */
    *mdb->errmsg = 0;
    mdb->cmd = get_pool_memory(PM_EMSG);    /* get command buffer */
index 693b009d3932c10b8794ad498a4dbdbf11d98a99..c5757efced6115ec9371932d756e23c58ccab3bb 100644 (file)
@@ -115,6 +115,7 @@ db_init_database(JCR *jcr, const char *db_name, const char *db_user, const char
       mdb->db_socket   = bstrdup(db_socket);
    }
    mdb->db_port        = db_port;
+   mdb->have_insert_id = TRUE;
    mdb->errmsg         = get_pool_memory(PM_EMSG); /* get error message buffer */
    *mdb->errmsg        = 0;
    mdb->cmd            = get_pool_memory(PM_EMSG); /* get command buffer */
index e4fdfb512ac27a1de554e0a113d6b0cbb2f021b3..9d4d5802242405f830760c8c273eecee4d59ef15 100644 (file)
@@ -269,7 +269,11 @@ InsertDB(const char *file, int line, JCR *jcr, B_DB *mdb, char *cmd)
       }
       return 0;
    }
-   mdb->num_rows = sql_affected_rows(mdb);
+   if (mdb->have_insert_id) {
+      mdb->num_rows = sql_affected_rows(mdb);
+   } else {
+      mdb->num_rows = 1;
+   }
    if (mdb->num_rows != 1) {
       char ed1[30];
       m_msg(file, line, &mdb->errmsg, _("Insertion problem: affected_rows=%s\n"),
index 84c33a2155e48379db45fe6cf0c1c006004d5fbc..85bd3258f715637f4a3a36d6d0703d8effb144f6 100644 (file)
@@ -119,6 +119,7 @@ db_init_database(JCR *jcr, const char *db_name, const char *db_user, const char
    mdb = (B_DB *) malloc(sizeof(B_DB));
    memset(mdb, 0, sizeof(B_DB));
    mdb->db_name = bstrdup(db_name);
+   mdb->have_insert_id = true;
    mdb->errmsg = get_pool_memory(PM_EMSG); /* get error message buffer */
    *mdb->errmsg = 0;
    mdb->cmd = get_pool_memory(PM_EMSG);    /* get command buffer */