[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r244 - GNUnet/src/applications/sqstore_mysql,
grothoff <=