* resources).
*
* @param h handle to the namestore
- * @param drop set to GNUNET_YES to delete all data in namestore (!)
*/
void
-GNUNET_NAMESTORE_disconnect (struct GNUNET_NAMESTORE_Handle *h, int drop);
+GNUNET_NAMESTORE_disconnect (struct GNUNET_NAMESTORE_Handle *h);
/**
{
if (NULL != ns)
{
- GNUNET_NAMESTORE_disconnect (ns, GNUNET_NO);
+ GNUNET_NAMESTORE_disconnect (ns);
ns = NULL;
}
if (NULL != zone_pkey)
do
{
- GSN_database->iterate_records (GSN_database->cls, zone , NULL, proc->zi->offset, &zone_iteraterate_proc, proc);
+ if (GNUNET_SYSERR ==
+ GSN_database->iterate_records (GSN_database->cls, zone, NULL, proc->zi->offset, &zone_iteraterate_proc, proc))
+ {
+ GNUNET_break (0);
+ break;
+ }
proc->zi->offset++;
}
while ((0 == proc->records_included) && (GNUNET_NO == proc->res_iteration_finished));
[namestore-postgres]
CONFIG = connect_timeout=10; dbname=gnunet
-
-[namestore-mysql]
-DATABASE = gnunet
-CONFIG = ~/.my.cnf
-# USER = gnunet
-# PASSWORD =
-# HOST = localhost
-# PORT = 3306
-
-
+TEMPORARY_TABLE = NO
static void
clean_up_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
+ struct GNUNET_NAMESTORE_Handle *h = cls;
struct PendingMessage *p;
struct GNUNET_NAMESTORE_QueueEntry *q;
struct GNUNET_NAMESTORE_ZoneIterator *z;
- struct GNUNET_NAMESTORE_Handle *h = cls;
+
GNUNET_assert (h != NULL);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Cleaning up\n");
while (NULL != (p = h->pending_head))
GNUNET_CONTAINER_DLL_remove (h->pending_head, h->pending_tail, p);
GNUNET_free (p);
}
-
while (NULL != (q = h->op_head))
{
GNUNET_CONTAINER_DLL_remove (h->op_head, h->op_tail, q);
GNUNET_free (q);
}
-
while (NULL != (z = h->z_head))
{
GNUNET_CONTAINER_DLL_remove (h->z_head, h->z_tail, z);
GNUNET_free (z);
}
-
if (NULL != h->client)
{
GNUNET_CLIENT_disconnect (h->client);
* resources).
*
* @param h handle to the namestore
- * @param drop set to GNUNET_YES to delete all data in namestore (!)
*/
void
-GNUNET_NAMESTORE_disconnect (struct GNUNET_NAMESTORE_Handle *h, int drop)
+GNUNET_NAMESTORE_disconnect (struct GNUNET_NAMESTORE_Handle *h)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Disconnecting from namestore service\n");
GNUNET_SCHEDULER_add_now (&clean_up_task, h);
"namestore-postgres");
if (NULL == plugin->dbh)
return GNUNET_SYSERR;
- res =
+ if (GNUNET_YES ==
+ GNUNET_CONFIGURATION_get_value_yesno (plugin->cfg,
+ "namestore-postgres",
+ "TEMPORARY_TABLE"))
+ {
+ res =
+ PQexec (plugin->dbh,
+ "CREATE TEMPORARY TABLE ns091records ("
+ " zone_key BYTEA NOT NULL DEFAULT '',"
+ " zone_delegation BYTEA NOT NULL DEFAULT '',"
+ " zone_hash BYTEA NOT NULL DEFAULT '',"
+ " record_count INTEGER NOT NULL DEFAULT 0,"
+ " record_data BYTEA NOT NULL DEFAULT '',"
+ " block_expiration_time BIGINT NOT NULL DEFAULT 0,"
+ " signature BYTEA NOT NULL DEFAULT '',"
+ " record_name TEXT NOT NULL DEFAULT '',"
+ " record_name_hash BYTEA NOT NULL DEFAULT '',"
+ " rvalue BIGINT NOT NULL DEFAULT 0"
+ ")" "WITH OIDS");
+ }
+ else
+ res =
PQexec (plugin->dbh,
"CREATE TABLE ns091records ("
" zone_key BYTEA NOT NULL DEFAULT '',"
" record_name_hash BYTEA NOT NULL DEFAULT '',"
" rvalue BIGINT NOT NULL DEFAULT 0"
")" "WITH OIDS");
+
if ((NULL == res) || ((PQresultStatus (res) != PGRES_COMMAND_OK) && (0 != strcmp ("42P07", /* duplicate table */
PQresultErrorField
(res,
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Ending iteration (no more results)\n");
PQclear (res);
+ iter (iter_cls, NULL, GNUNET_TIME_UNIT_ZERO_ABS, NULL, 0, NULL, NULL);
return GNUNET_NO;
}
GNUNET_assert (1 == cnt);
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
if (nsh != NULL)
{
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
res = 0;
BINARY = gnunet-service-namestore
ACCEPT_FROM = 127.0.0.1;
ACCEPT_FROM6 = ::1;
-DATABASE = sqlite
+DATABASE = postgres
ZONEFILE_DIRECTORY = zonefiles
[namestore-sqlite]
FILENAME = $SERVICEHOME/namestore/sqlite_test.db
[namestore-postgres]
-CONFIG = connect_timeout=10; dbname=gnunet
-
-[namestore-mysql]
-DATABASE = gnunet
-CONFIG = ~/.my.cnf
-# USER = gnunet
-# PASSWORD =
-# HOST = localhost
-# PORT = 3306
+CONFIG = connect_timeout=10; dbname=gnunetcheck
+TEMPORARY_TABLE = YES
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
GNUNET_CRYPTO_rsa_key_free (privkey);
GNUNET_CRYPTO_rsa_key_free (privkey);
privkey = NULL;
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
GNUNET_CRYPTO_rsa_key_free (privkey);
GNUNET_CRYPTO_rsa_key_free (privkey);
privkey = NULL;
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
GNUNET_CRYPTO_rsa_key_free (privkey);
GNUNET_CRYPTO_rsa_key_free (privkey);
privkey = NULL;
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
GNUNET_CRYPTO_rsa_key_free (privkey);
GNUNET_CRYPTO_rsa_key_free (privkey);
privkey = NULL;
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
}
if (nsh != NULL)
{
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
}
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
GNUNET_CRYPTO_rsa_key_free (privkey);
GNUNET_CRYPTO_rsa_key_free (privkey);
privkey = NULL;
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
GNUNET_CRYPTO_rsa_key_free (privkey);
GNUNET_CRYPTO_rsa_key_free (privkey);
privkey = NULL;
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
}
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
GNUNET_free_non_null(sig_1);
GNUNET_free (s_rd_3);
}
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
}
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
GNUNET_free_non_null(sig_1);
GNUNET_free_non_null(sig_2);
GNUNET_free (s_rd_3);
}
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
stopiteration_task = GNUNET_SCHEDULER_NO_TASK;
}
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
GNUNET_free_non_null(sig_1);
GNUNET_free_non_null(sig_2);
GNUNET_free (s_rd_3);
}
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (returned_records == 1)
res = 0;
endbadly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
if (privkey != NULL)
GNUNET_CRYPTO_rsa_key_free (privkey);
GNUNET_CRYPTO_rsa_key_free (privkey);
privkey = NULL;
if (nsh != NULL)
- GNUNET_NAMESTORE_disconnect (nsh, GNUNET_YES);
+ GNUNET_NAMESTORE_disconnect (nsh);
nsh = NULL;
}
"Failed to initialize namestore. Database likely not setup, skipping test.\n");
return;
}
-
put_record (nsp, 1);
-
get_record (nsp, 1);
memset (&zone_key, 1, sizeof (zone_key));
[datacache-postgres]
CONFIG = connect_timeout=10; dbname=gnunetcheck
+TEMPORARY_TABLE = YES