[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r37330 - gnunet/src/datastore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r37330 - gnunet/src/datastore |
Date: |
Thu, 23 Jun 2016 17:20:02 +0200 |
Author: christophe.genevey
Date: 2016-06-23 17:20:02 +0200 (Thu, 23 Jun 2016)
New Revision: 37330
Modified:
gnunet/src/datastore/plugin_datastore_mysql.c
Log:
continue to fix execute select
Modified: gnunet/src/datastore/plugin_datastore_mysql.c
===================================================================
--- gnunet/src/datastore/plugin_datastore_mysql.c 2016-06-23 14:22:34 UTC
(rev 37329)
+++ gnunet/src/datastore/plugin_datastore_mysql.c 2016-06-23 15:20:02 UTC
(rev 37330)
@@ -495,8 +495,7 @@
unsigned int anonymity;
// unsigned long long exp;
uint64_t exp;
- //char *type = NULL;
- //size_t hashSize;
+ size_t hashSize;
// unsigned long size;
size_t size;
uint64_t uid;
@@ -503,11 +502,10 @@
void *value;
struct GNUNET_HashCode key;
struct GNUNET_TIME_Absolute expiration;
-// MYSQL_BIND rbind[7];
+ //MYSQL_BIND rbind[7];
-/*
hashSize = sizeof (struct GNUNET_HashCode);
- memset (rbind, 0, sizeof (rbind));
+/* memset (rbind, 0, sizeof (rbind));
rbind[0].buffer_type = MYSQL_TYPE_LONG;
rbind[0].buffer = &type;
rbind[0].is_unsigned = 1;
@@ -532,11 +530,13 @@
rbind[6].buffer = &uid;
rbind[6].is_unsigned = 1;
*/
- // ret = GNUNET_MYSQL_statement_run_prepared_select_va (plugin->mc, stmt,
7, rbind, NULL, NULL, ap);
+ // ret = GNUNET_MYSQL_statement_run_prepared_select_va (stmt, 7, rbind,
NULL, NULL, ap);
va_start (ap, proc_cls);
-
+
+ int pc = 0;
+ pc = mysql_stmt_param_count (stmt);
+
struct GNUNET_MY_QueryParam *params_select = NULL;
- struct GNUNET_MY_QueryParam end = GNUNET_MY_query_param_end;
unsigned int *param_long = NULL;
int param_is_unsigned;
@@ -548,11 +548,11 @@
// enum enum_field_type ft;
int ft;
- int i = 0;
+ int j = 0;
ft = 0;
- while (-1 != (ft = va_arg(ap, int)))
+ while ((pc > 0) && (-1 != (ft = va_arg(ap, int))))
{
switch (ft)
{
@@ -559,13 +559,13 @@
case MYSQL_TYPE_LONG:
param_long = va_arg (ap, unsigned int*);
param_is_unsigned = va_arg (ap, int);
- params_select[i] = GNUNET_MY_query_param_uint32 (param_long);
+ params_select[j] = GNUNET_MY_query_param_uint32 (param_long);
break;
case MYSQL_TYPE_LONGLONG:
param_longlong = va_arg (ap, unsigned long long *);
param_is_unsigned = va_arg (ap, int);
- params_select[i] = GNUNET_MY_query_param_uint64 (param_longlong);
+ params_select[j] = GNUNET_MY_query_param_uint64 (param_longlong);
break;
case MYSQL_TYPE_BLOB:
@@ -572,23 +572,18 @@
param_blob = va_arg (ap, void *);
param_length = va_arg (ap, unsigned long);
length = va_arg (ap, unsigned long *);
- params_select[i] = GNUNET_MY_query_param_fixed_size (param_blob,
param_length);
+ params_select[j] = GNUNET_MY_query_param_fixed_size (param_blob,
param_length);
+ fprintf(stderr, "indice de segfault : %d\n", j);
break;
default:
GNUNET_break(0);
}
- i++;
+ pc--;
+ j++;
}
- params_select[i] = end;
-
/*
- struct GNUNET_MY_QueryParam params_select[] ={
-
- GNUNET_MY_query_param_end
- };
-*/
struct GNUNET_MY_ResultSpec results_select[] = {
GNUNET_MY_result_spec_uint32 (&type),
GNUNET_MY_result_spec_uint32 (&priority),
@@ -599,15 +594,21 @@
GNUNET_MY_result_spec_uint64 (&uid),
GNUNET_MY_query_param_end
};
+*/
+/*
+ !!!! FAIL HERE FOR SELECT QUERY
ret = GNUNET_MY_exec_prepared (plugin->mc, stmt, params_select);
- va_end (ap);
+
if (ret <= 0)
{
proc (proc_cls, NULL, 0, NULL, 0, 0, 0, GNUNET_TIME_UNIT_ZERO_ABS, 0);
return;
}
+*/
+ va_end (ap);
+/*
ret = GNUNET_MY_extract_result (stmt, results_select);
if (ret <= 0)
{
@@ -620,7 +621,7 @@
if ((rbind[4].buffer_length != sizeof (struct GNUNET_HashCode)) ||
(hashSize != sizeof (struct GNUNET_HashCode)))
{
-*/
+
expiration.abs_value_us = exp;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Found %u-byte value under key `%s' with prio %u, anon %u,
expire %s selecting from gn090 table\n",
@@ -631,12 +632,15 @@
ret =
proc (proc_cls, &key, size, value, type, priority, anonymity, expiration,
uid);
- if (ret == GNUNET_NO)
+*/
+
+/* if (ret == GNUNET_NO)
{
do_delete_entry (plugin, uid);
if (size != 0)
plugin->env->duc (plugin->env->cls, -size);
}
+*/
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r37330 - gnunet/src/datastore,
gnunet <=