]> git.sur5r.net Git - bacula/bacula/commitdiff
Sync between master and this branch as some ingres changes did go into master but...
authorMarco van Wieringen <mvw@planets.elm.net>
Sat, 20 Feb 2010 20:57:48 +0000 (21:57 +0100)
committerMarco van Wieringen <mvw@planets.elm.net>
Sat, 20 Feb 2010 20:57:48 +0000 (21:57 +0100)
bacula/src/cats/ingres.c
bacula/src/cats/myingres.c
bacula/src/cats/myingres.sc

index 99d75f3c464168c8fac427ea3d990ed03108da37..37e22481f330ced79c25d1a90a378b3c9b52eb10 100755 (executable)
@@ -1,7 +1,8 @@
+
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2003-2007 Free Software Foundation Europe e.V.
+   Copyright (C) 2003-2010 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
@@ -285,6 +286,11 @@ db_close_database(JCR *jcr, B_DB *mdb)
    V(mutex);
 }
 
+void db_check_backend_thread_safe()
+{ }
+
+
+
 void db_thread_cleanup()
 { }
 
@@ -493,7 +499,6 @@ void my_ingres_field_seek(B_DB *mdb, int field)
 /*
  * Note, if this routine returns 1 (failure), Bacula expects
  *  that no result has been stored.
- * This is where QUERY_DB comes with Ingres.   SRE: true?
  *
  *  Returns:  0  on success
  *            1  on failure
@@ -507,21 +512,16 @@ int my_ingres_query(B_DB *mdb, const char *query)
    mdb->row_number   = -1;
    mdb->field_number = -1;
 
+   int cols = -1;
+
    if (mdb->result) {
       INGclear(mdb->result);  /* hmm, someone forgot to free?? */
       mdb->result = NULL;
    }
 
    Dmsg1(500, "my_ingres_query starts with '%s'\n", query);
-   mdb->result = INGexec(mdb->db, query);
-   if (!mdb->result) {
-      Dmsg1(50, "Query failed: %s\n", query);
-      goto bail_out;
-   }
 
-   mdb->status = INGresultStatus(mdb->result);
-   if (mdb->status == ING_COMMAND_OK) {
-      Dmsg1(500, "we have a result\n", query);
+   /* TODO: differentiate between SELECTs and other queries */
 
    if ((cols = INGgetCols(query)) <= 0) {
       if (cols < 0 ) {
@@ -560,13 +560,6 @@ int my_ingres_query(B_DB *mdb, const char *query)
 
    Dmsg0(500, "my_ingres_query finishing\n");
    return mdb->status;
-
-bail_out:
-   Dmsg1(500, "we failed\n", query);
-   INGclear(mdb->result);
-   mdb->result = NULL;
-   mdb->status = 1;                   /* failed */
-   return mdb->status;
 }
 
 void my_ingres_free_result(B_DB *mdb)
index 6098ceeec7b732c70bbcb98fa61372be29c8154e..bb89a10e0eb840b22f40b8cc7db3e3a2e65838d3 100644 (file)
@@ -1,7 +1,5 @@
-
 #include "bacula.h"
-#include "cats.h"
-
+/* # line 3 "myingres.sc" */
 #ifdef HAVE_INGRES
 #include <eqsqlca.h>
     extern IISQLCA sqlca;   /* SQL Communications Area */
@@ -376,7 +374,7 @@ short INGftype(const INGresult *res, int column_number)
 {
    return res->fields[column_number].type;
 }
-INGresult *INGexec(INGconn *conn, const char *query)
+int INGexec(INGconn *conn, const char *query)
 {
    int check;
 /* # line 402 "myingres.sc" */ 
index 1eec7019afd3c55e72aad863b08dfa1b39c05697..2a61fe20c0eb7a5a851f6279789d0d7011323a52 100644 (file)
@@ -1,3 +1,6 @@
+#include "bacula.h"
+
+#ifdef HAVE_INGRES
 EXEC SQL INCLUDE SQLCA;
 EXEC SQL INCLUDE SQLDA;