gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r244 - GNUnet/src/applications/sqstore_mysql


From: grothoff
Subject: [GNUnet-SVN] r244 - GNUnet/src/applications/sqstore_mysql
Date: Sat, 12 Feb 2005 12:32:01 -0800 (PST)

Author: grothoff
Date: 2005-02-12 12:31:59 -0800 (Sat, 12 Feb 2005)
New Revision: 244

Modified:
   GNUnet/src/applications/sqstore_mysql/mysql.c
Log:
bugfixes

Modified: GNUnet/src/applications/sqstore_mysql/mysql.c
===================================================================
--- GNUnet/src/applications/sqstore_mysql/mysql.c       2005-02-11 22:17:49 UTC 
(rev 243)
+++ GNUnet/src/applications/sqstore_mysql/mysql.c       2005-02-12 20:31:59 UTC 
(rev 244)
@@ -611,7 +611,22 @@
   dbh->sbind[0].buffer = (char*) query;
   dbh->sbind[1].buffer = (char*) &type;
   dbh->sbind[0].length = &twenty;
-  
+  GNUNET_ASSERT(mysql_stmt_param_count(stmt) <= 2);
+  sql_res = mysql_stmt_result_metadata(stmt);
+  if (! sql_res) {
+    LOG(LOG_ERROR,
+       _("'%s' failed at %s:%d with error: %s\n"),
+       "mysql_stmt_result_metadata",
+       __FILE__, __LINE__,
+       mysql_stmt_error(stmt));    
+    MUTEX_UNLOCK(&dbh->DATABASE_Lock_);
+    return SYSERR;
+  }
+  if (7 != mysql_num_fields(sql_res)) {
+    BREAK();
+    MUTEX_UNLOCK(&dbh->DATABASE_Lock_);
+    return SYSERR;
+  }
   if (mysql_stmt_bind_param(stmt,
                            dbh->sbind)) {
     LOG(LOG_ERROR,
@@ -622,12 +637,12 @@
     MUTEX_UNLOCK(&dbh->DATABASE_Lock_);
     return SYSERR;
   } 
-  if (mysql_stmt_execute(dbh->insert)) {
+  if (mysql_stmt_execute(stmt)) {
     LOG(LOG_ERROR,
        _("'%s' failed at %s:%d with error: %s\n"),
        "mysql_stmt_execute",
        __FILE__, __LINE__,
-       mysql_stmt_error(dbh->insert));    
+       mysql_stmt_error(stmt));    
     MUTEX_UNLOCK(&dbh->DATABASE_Lock_);
     return SYSERR;
   }  
@@ -642,7 +657,6 @@
   dbh->bind[6].buffer = (char*) &datum[1];
   dbh->bind[5].length = &twenty;
   dbh->bind[6].length = &datasize;
-  sql_res = mysql_stmt_result_metadata(stmt);
   if (mysql_stmt_bind_result(stmt,
                             dbh->bind)) {
     LOG(LOG_ERROR,
@@ -666,16 +680,16 @@
   }
   datasize = MAX_DATUM_SIZE;
   count = 0;
-  while (mysql_stmt_fetch(stmt)) {
+  while (! mysql_stmt_fetch(stmt)) {
     count++;
-
+    
     if (iter != NULL) {
       datum->size = htonl(size);
       datum->type = htonl(rtype);
       datum->prio = htonl(prio);
       datum->anonymityLevel = htonl(level);
       datum->expirationTime = htonll(expiration);
-      if (datasize != size - sizeof(Datastore_Value))
+      if (datasize != size - sizeof(Datastore_Value)) {
        BREAK();
        LOG(LOG_WARNING,
            _("Invalid data in MySQL database.  Please verify integrity!\n"));
@@ -691,7 +705,8 @@
         count = SYSERR;
        break;
       } 
-    datasize = MAX_DATUM_SIZE;
+      datasize = MAX_DATUM_SIZE;
+    }  
   }
   mysql_free_result(sql_res);
   FREE(datum);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]