aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristophe Genevey Metat <genevey.christophe@gmail.com>2016-07-22 07:52:50 +0000
committerChristophe Genevey Metat <genevey.christophe@gmail.com>2016-07-22 07:52:50 +0000
commit3ebe7900679d41b3f08e999c1bc56f13cbbc0257 (patch)
treeae673a0972832750ed07d3a117818c9eb7dfdc18 /src
parent0979ddcbd310b856b7c36c6ed9c8dc17c0b032db (diff)
downloadgnunet-3ebe7900679d41b3f08e999c1bc56f13cbbc0257.tar.gz
gnunet-3ebe7900679d41b3f08e999c1bc56f13cbbc0257.zip
fix mysql_prepare function
Diffstat (limited to 'src')
-rw-r--r--src/psycstore/plugin_psycstore_mysql.c118
1 files changed, 60 insertions, 58 deletions
diff --git a/src/psycstore/plugin_psycstore_mysql.c b/src/psycstore/plugin_psycstore_mysql.c
index 5cb15ff6e..2c06b9b29 100644
--- a/src/psycstore/plugin_psycstore_mysql.c
+++ b/src/psycstore/plugin_psycstore_mysql.c
@@ -245,19 +245,19 @@ mysql_trace (void *cls, const char *sql)
245static int 245static int
246mysql_prepare (struct GNUNET_MYSQL_Context *mc, 246mysql_prepare (struct GNUNET_MYSQL_Context *mc,
247 const char *sql, 247 const char *sql,
248 struct GNUNET_MYSQL_StatementHandle *stmt) 248 struct GNUNET_MYSQL_StatementHandle **stmt)
249{ 249{
250 stmt = GNUNET_MYSQL_statement_prepare (mc, 250 *stmt = GNUNET_MYSQL_statement_prepare (mc,
251 sql); 251 sql);
252 252
253 LOG(GNUNET_ERROR_TYPE_DEBUG, 253 LOG(GNUNET_ERROR_TYPE_DEBUG,
254 "Prepared `%s' / %p\n", sql, stmt); 254 "Prepared `%s' / %p\n", sql, stmt);
255 if(NULL == stmt) 255 if(NULL == *stmt)
256 LOG(GNUNET_ERROR_TYPE_ERROR, 256 LOG(GNUNET_ERROR_TYPE_ERROR,
257 _("Error preparing SQL query: %s\n %s\n"), 257 _("Error preparing SQL query: %s\n %s\n"),
258 mysql_stmt_error (GNUNET_MYSQL_statement_get_stmt (stmt)), sql); 258 mysql_stmt_error (GNUNET_MYSQL_statement_get_stmt (stmt)), sql);
259 259
260 return 1; 260 return 0;
261} 261}
262 262
263 263
@@ -339,7 +339,7 @@ database_setup (struct Plugin *plugin)
339 " max_state_message_id INT,\n" 339 " max_state_message_id INT,\n"
340 " state_hash_message_id INT,\n" 340 " state_hash_message_id INT,\n"
341 " PRIMARY KEY(id),\n" 341 " PRIMARY KEY(id),\n"
342 " UNIQUE KEY(pub_key(10))\n" 342 " UNIQUE KEY(pub_key(5))\n"
343 ");"); 343 ");");
344 344
345 GNUNET_MYSQL_statement_run (plugin->mc, 345 GNUNET_MYSQL_statement_run (plugin->mc,
@@ -347,7 +347,7 @@ database_setup (struct Plugin *plugin)
347 " id INT,\n" 347 " id INT,\n"
348 " pub_key BLOB,\n" 348 " pub_key BLOB,\n"
349 " PRIMARY KEY(id),\n" 349 " PRIMARY KEY(id),\n"
350 " UNIQUE KEY(pub_key(10))\n" 350 " UNIQUE KEY(pub_key(5))\n"
351 ");"); 351 ");");
352 352
353 GNUNET_MYSQL_statement_run (plugin->mc, 353 GNUNET_MYSQL_statement_run (plugin->mc,
@@ -389,7 +389,7 @@ database_setup (struct Plugin *plugin)
389 " name TEXT NOT NULL,\n" 389 " name TEXT NOT NULL,\n"
390 " value_current BLOB,\n" 390 " value_current BLOB,\n"
391 " value_signed BLOB,\n" 391 " value_signed BLOB,\n"
392 " PRIMARY KEY (channel_id, name(10))\n" 392 " PRIMARY KEY (channel_id, name(5))\n"
393 ");"); 393 ");");
394 394
395 GNUNET_MYSQL_statement_run (plugin->mc, 395 GNUNET_MYSQL_statement_run (plugin->mc,
@@ -397,29 +397,29 @@ database_setup (struct Plugin *plugin)
397 " channel_id INT NOT NULL REFERENCES channels(id),\n" 397 " channel_id INT NOT NULL REFERENCES channels(id),\n"
398 " name TEXT NOT NULL,\n" 398 " name TEXT NOT NULL,\n"
399 " value BLOB,\n" 399 " value BLOB,\n"
400 " PRIMARY KEY (channel_id, name(10))\n" 400 " PRIMARY KEY (channel_id, name(5))\n"
401 ");"); 401 ");");
402 402
403 /* Prepare statements */ 403 /* Prepare statements */
404 mysql_prepare (plugin->mc, 404 mysql_prepare (plugin->mc,
405 "BEGIN", 405 "BEGIN",
406 plugin->transaction_begin); 406 &plugin->transaction_begin);
407 407
408 mysql_prepare (plugin->mc, 408 mysql_prepare (plugin->mc,
409 "COMMIT", 409 "COMMIT",
410 plugin->transaction_commit); 410 &plugin->transaction_commit);
411 411
412 mysql_prepare (plugin->mc, 412 mysql_prepare (plugin->mc,
413 "ROLLBACK;", 413 "ROLLBACK;",
414 plugin->transaction_rollback); 414 &plugin->transaction_rollback);
415 415
416 mysql_prepare (plugin->mc, 416 mysql_prepare (plugin->mc,
417 "INSERT OR IGNORE INTO channels (pub_key) VALUES (?);", 417 "INSERT IGNORE INTO channels (pub_key) VALUES (?);",
418 plugin->insert_channel_key); 418 &plugin->insert_channel_key);
419 419
420 mysql_prepare (plugin->mc, 420 mysql_prepare (plugin->mc,
421 "INSERT OR IGNORE INTO slaves (pub_key) VALUES (?);", 421 "INSERT IGNORE INTO slaves (pub_key) VALUES (?);",
422 plugin->insert_slave_key); 422 &plugin->insert_slave_key);
423 423
424 mysql_prepare (plugin->mc, 424 mysql_prepare (plugin->mc,
425 "INSERT INTO membership\n" 425 "INSERT INTO membership\n"
@@ -428,7 +428,7 @@ database_setup (struct Plugin *plugin)
428 "VALUES ((SELECT id FROM channels WHERE pub_key = ?),\n" 428 "VALUES ((SELECT id FROM channels WHERE pub_key = ?),\n"
429 " (SELECT id FROM slaves WHERE pub_key = ?),\n" 429 " (SELECT id FROM slaves WHERE pub_key = ?),\n"
430 " ?, ?, ?, ?);", 430 " ?, ?, ?, ?);",
431 plugin->insert_membership); 431 &plugin->insert_membership);
432 432
433 mysql_prepare (plugin->mc, 433 mysql_prepare (plugin->mc,
434 "SELECT did_join FROM membership\n" 434 "SELECT did_join FROM membership\n"
@@ -436,23 +436,23 @@ database_setup (struct Plugin *plugin)
436 " AND slave_id = (SELECT id FROM slaves WHERE pub_key = ?)\n" 436 " AND slave_id = (SELECT id FROM slaves WHERE pub_key = ?)\n"
437 " AND effective_since <= ? AND did_join = 1\n" 437 " AND effective_since <= ? AND did_join = 1\n"
438 "ORDER BY announced_at DESC LIMIT 1;", 438 "ORDER BY announced_at DESC LIMIT 1;",
439 plugin->select_membership); 439 &plugin->select_membership);
440 440
441 mysql_prepare (plugin->mc, 441 mysql_prepare (plugin->mc,
442 "INSERT OR IGNORE INTO messages\n" 442 "INSERT IGNORE INTO messages\n"
443 " (channel_id, hop_counter, signature, purpose,\n" 443 " (channel_id, hop_counter, signature, purpose,\n"
444 " fragment_id, fragment_offset, message_id,\n" 444 " fragment_id, fragment_offset, message_id,\n"
445 " group_generation, multicast_flags, psycstore_flags, data)\n" 445 " group_generation, multicast_flags, psycstore_flags, data)\n"
446 "VALUES ((SELECT id FROM channels WHERE pub_key = ?),\n" 446 "VALUES ((SELECT id FROM channels WHERE pub_key = ?),\n"
447 " ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", 447 " ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);",
448 plugin->insert_fragment); 448 &plugin->insert_fragment);
449 449
450 mysql_prepare (plugin->mc, 450 mysql_prepare (plugin->mc,
451 "UPDATE messages\n" 451 "UPDATE messages\n"
452 "SET psycstore_flags = psycstore_flags | ?\n" 452 "SET psycstore_flags = psycstore_flags | ?\n"
453 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n" 453 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n"
454 " AND message_id = ? AND fragment_offset = 0;", 454 " AND message_id = ? AND fragment_offset = 0;",
455 plugin->update_message_flags); 455 &plugin->update_message_flags);
456 456
457 mysql_prepare (plugin->mc, 457 mysql_prepare (plugin->mc,
458 "SELECT hop_counter, signature, purpose, fragment_id,\n" 458 "SELECT hop_counter, signature, purpose, fragment_id,\n"
@@ -461,7 +461,7 @@ database_setup (struct Plugin *plugin)
461 "FROM messages\n" 461 "FROM messages\n"
462 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n" 462 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n"
463 " AND ? <= fragment_id AND fragment_id <= ?;", 463 " AND ? <= fragment_id AND fragment_id <= ?;",
464 plugin->select_fragments); 464 &plugin->select_fragments);
465 465
466 /** @todo select_messages: add method_prefix filter */ 466 /** @todo select_messages: add method_prefix filter */
467 mysql_prepare (plugin->mc, 467 mysql_prepare (plugin->mc,
@@ -472,7 +472,7 @@ database_setup (struct Plugin *plugin)
472 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n" 472 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n"
473 " AND ? <= message_id AND message_id <= ?" 473 " AND ? <= message_id AND message_id <= ?"
474 "LIMIT ?;", 474 "LIMIT ?;",
475 plugin->select_messages); 475 &plugin->select_messages);
476 476
477 mysql_prepare (plugin->mc, 477 mysql_prepare (plugin->mc,
478 "SELECT * FROM\n" 478 "SELECT * FROM\n"
@@ -484,7 +484,7 @@ database_setup (struct Plugin *plugin)
484 " ORDER BY fragment_id DESC\n" 484 " ORDER BY fragment_id DESC\n"
485 " LIMIT ?)\n" 485 " LIMIT ?)\n"
486 "ORDER BY fragment_id;", 486 "ORDER BY fragment_id;",
487 plugin->select_latest_fragments); 487 &plugin->select_latest_fragments);
488 488
489 /** @todo select_latest_messages: add method_prefix filter */ 489 /** @todo select_latest_messages: add method_prefix filter */
490 mysql_prepare (plugin->mc, 490 mysql_prepare (plugin->mc,
@@ -501,7 +501,7 @@ database_setup (struct Plugin *plugin)
501 " ORDER BY message_id\n" 501 " ORDER BY message_id\n"
502 " DESC LIMIT ?)\n" 502 " DESC LIMIT ?)\n"
503 "ORDER BY fragment_id;", 503 "ORDER BY fragment_id;",
504 plugin->select_latest_messages); 504 &plugin->select_latest_messages);
505 505
506 mysql_prepare (plugin->mc, 506 mysql_prepare (plugin->mc,
507 "SELECT hop_counter, signature, purpose, fragment_id,\n" 507 "SELECT hop_counter, signature, purpose, fragment_id,\n"
@@ -510,35 +510,35 @@ database_setup (struct Plugin *plugin)
510 "FROM messages\n" 510 "FROM messages\n"
511 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n" 511 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n"
512 " AND message_id = ? AND fragment_offset = ?;", 512 " AND message_id = ? AND fragment_offset = ?;",
513 plugin->select_message_fragment); 513 &plugin->select_message_fragment);
514 514
515 mysql_prepare (plugin->mc, 515 mysql_prepare (plugin->mc,
516 "SELECT fragment_id, message_id, group_generation\n" 516 "SELECT fragment_id, message_id, group_generation\n"
517 "FROM messages\n" 517 "FROM messages\n"
518 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n" 518 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n"
519 "ORDER BY fragment_id DESC LIMIT 1;", 519 "ORDER BY fragment_id DESC LIMIT 1;",
520 plugin->select_counters_message); 520 &plugin->select_counters_message);
521 521
522 mysql_prepare (plugin->mc, 522 mysql_prepare (plugin->mc,
523 "SELECT max_state_message_id\n" 523 "SELECT max_state_message_id\n"
524 "FROM channels\n" 524 "FROM channels\n"
525 "WHERE pub_key = ? AND max_state_message_id IS NOT NULL;", 525 "WHERE pub_key = ? AND max_state_message_id IS NOT NULL;",
526 plugin->select_counters_state); 526 &plugin->select_counters_state);
527 527
528 mysql_prepare (plugin->mc, 528 mysql_prepare (plugin->mc,
529 "UPDATE channels\n" 529 "UPDATE channels\n"
530 "SET max_state_message_id = ?\n" 530 "SET max_state_message_id = ?\n"
531 "WHERE pub_key = ?;", 531 "WHERE pub_key = ?;",
532 plugin->update_max_state_message_id); 532 &plugin->update_max_state_message_id);
533 533
534 mysql_prepare (plugin->mc, 534 mysql_prepare (plugin->mc,
535 "UPDATE channels\n" 535 "UPDATE channels\n"
536 "SET state_hash_message_id = ?\n" 536 "SET state_hash_message_id = ?\n"
537 "WHERE pub_key = ?;", 537 "WHERE pub_key = ?;",
538 plugin->update_state_hash_message_id); 538 &plugin->update_state_hash_message_id);
539 539
540 mysql_prepare (plugin->mc, 540 mysql_prepare (plugin->mc,
541 "INSERT OR REPLACE INTO state\n" 541 "REPLACE INTO state\n"
542 " (channel_id, name, value_current, value_signed)\n" 542 " (channel_id, name, value_current, value_signed)\n"
543 "SELECT new.channel_id, new.name,\n" 543 "SELECT new.channel_id, new.name,\n"
544 " new.value_current, old.value_signed\n" 544 " new.value_current, old.value_signed\n"
@@ -548,30 +548,30 @@ database_setup (struct Plugin *plugin)
548 "LEFT JOIN (SELECT channel_id, name, value_signed\n" 548 "LEFT JOIN (SELECT channel_id, name, value_signed\n"
549 " FROM state) AS old\n" 549 " FROM state) AS old\n"
550 "ON new.channel_id = old.channel_id AND new.name = old.name;", 550 "ON new.channel_id = old.channel_id AND new.name = old.name;",
551 plugin->insert_state_current); 551 &plugin->insert_state_current);
552 552
553 mysql_prepare (plugin->mc, 553 mysql_prepare (plugin->mc,
554 "DELETE FROM state\n" 554 "DELETE FROM state\n"
555 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n" 555 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n"
556 " AND (value_current IS NULL OR length(value_current) = 0)\n" 556 " AND (value_current IS NULL OR length(value_current) = 0)\n"
557 " AND (value_signed IS NULL OR length(value_signed) = 0);", 557 " AND (value_signed IS NULL OR length(value_signed) = 0);",
558 plugin->delete_state_empty); 558 &plugin->delete_state_empty);
559 559
560 mysql_prepare (plugin->mc, 560 mysql_prepare (plugin->mc,
561 "UPDATE state\n" 561 "UPDATE state\n"
562 "SET value_signed = value_current\n" 562 "SET value_signed = value_current\n"
563 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?);", 563 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?);",
564 plugin->update_state_signed); 564 &plugin->update_state_signed);
565 565
566 mysql_prepare (plugin->mc, 566 mysql_prepare (plugin->mc,
567 "DELETE FROM state\n" 567 "DELETE FROM state\n"
568 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?);", 568 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?);",
569 plugin->delete_state); 569 &plugin->delete_state);
570 570
571 mysql_prepare (plugin->mc, 571 mysql_prepare (plugin->mc,
572 "INSERT INTO state_sync (channel_id, name, value)\n" 572 "INSERT INTO state_sync (channel_id, name, value)\n"
573 "VALUES ((SELECT id FROM channels WHERE pub_key = ?), ?, ?);", 573 "VALUES ((SELECT id FROM channels WHERE pub_key = ?), ?, ?);",
574 plugin->insert_state_sync); 574 &plugin->insert_state_sync);
575 575
576 mysql_prepare (plugin->mc, 576 mysql_prepare (plugin->mc,
577 "INSERT INTO state\n" 577 "INSERT INTO state\n"
@@ -579,33 +579,33 @@ database_setup (struct Plugin *plugin)
579 "SELECT channel_id, name, value, value\n" 579 "SELECT channel_id, name, value, value\n"
580 "FROM state_sync\n" 580 "FROM state_sync\n"
581 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?);", 581 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?);",
582 plugin->insert_state_from_sync); 582 &plugin->insert_state_from_sync);
583 583
584 mysql_prepare (plugin->mc, 584 mysql_prepare (plugin->mc,
585 "DELETE FROM state_sync\n" 585 "DELETE FROM state_sync\n"
586 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?);", 586 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?);",
587 plugin->delete_state_sync); 587 &plugin->delete_state_sync);
588 588
589 mysql_prepare (plugin->mc, 589 mysql_prepare (plugin->mc,
590 "SELECT value_current\n" 590 "SELECT value_current\n"
591 "FROM state\n" 591 "FROM state\n"
592 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n" 592 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n"
593 " AND name = ?;", 593 " AND name = ?;",
594 plugin->select_state_one); 594 &plugin->select_state_one);
595 595
596 mysql_prepare (plugin->mc, 596 mysql_prepare (plugin->mc,
597 "SELECT name, value_current\n" 597 "SELECT name, value_current\n"
598 "FROM state\n" 598 "FROM state\n"
599 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n" 599 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)\n"
600 " AND (name = ? OR substr(name, 1, ?) = ? || '_');", 600 " AND (name = ? OR substr(name, 1, ?) = ? || '_');",
601 plugin->select_state_prefix); 601 &plugin->select_state_prefix);
602 602
603 mysql_prepare (plugin->mc, 603 mysql_prepare (plugin->mc,
604 "SELECT name, value_signed\n" 604 "SELECT name, value_signed\n"
605 "FROM state\n" 605 "FROM state\n"
606 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)" 606 "WHERE channel_id = (SELECT id FROM channels WHERE pub_key = ?)"
607 " AND value_signed IS NOT NULL;", 607 " AND value_signed IS NOT NULL;",
608 plugin->select_state_signed); 608 &plugin->select_state_signed);
609 609
610 return GNUNET_OK; 610 return GNUNET_OK;
611} 611}
@@ -778,7 +778,7 @@ channel_key_store (struct Plugin *plugin,
778 params)) 778 params))
779 { 779 {
780 LOG_MYSQL(plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, 780 LOG_MYSQL(plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
781 "mysql extract_result", stmt); 781 "mysql exec_prepared", stmt);
782 return GNUNET_SYSERR; 782 return GNUNET_SYSERR;
783 } 783 }
784 784
@@ -809,7 +809,7 @@ slave_key_store (struct Plugin *plugin,
809 params)) 809 params))
810 { 810 {
811 LOG_MYSQL(plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, 811 LOG_MYSQL(plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
812 "mysql extract_result", stmt); 812 "mysql exec_prepared", stmt);
813 return GNUNET_SYSERR; 813 return GNUNET_SYSERR;
814 } 814 }
815 815
@@ -876,7 +876,7 @@ mysql_membership_store (void *cls,
876 params)) 876 params))
877 { 877 {
878 LOG_MYSQL(plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, 878 LOG_MYSQL(plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
879 "mysql extract_result", stmt); 879 "mysql exec_prepared", stmt);
880 return GNUNET_SYSERR; 880 return GNUNET_SYSERR;
881 } 881 }
882 882
@@ -911,6 +911,11 @@ membership_test (void *cls,
911 911
912 int ret = GNUNET_SYSERR; 912 int ret = GNUNET_SYSERR;
913 913
914 if (NULL == plugin->select_membership)
915 {
916 fprintf(stderr, "Erreur plugin->select_membership\n");
917 }
918
914 struct GNUNET_MY_QueryParam params_select[] = { 919 struct GNUNET_MY_QueryParam params_select[] = {
915 GNUNET_MY_query_param_auto_from_type (channel_key), 920 GNUNET_MY_query_param_auto_from_type (channel_key),
916 GNUNET_MY_query_param_auto_from_type (slave_key), 921 GNUNET_MY_query_param_auto_from_type (slave_key),
@@ -932,21 +937,18 @@ membership_test (void *cls,
932 GNUNET_MY_result_spec_end 937 GNUNET_MY_result_spec_end
933 }; 938 };
934 939
935 if (GNUNET_OK != GNUNET_MY_extract_result (stmt, 940 switch(GNUNET_MY_extract_result (stmt,
936 results_select)) 941 results_select))
937 { 942 {
938 LOG_MYSQL(plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, 943 case GNUNET_NO:
944 ret = GNUNET_NO;
945 break;
946 case GNUNET_YES:
947 ret = GNUNET_YES;
948 default:
949 LOG_MYSQL(plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
939 "mysql extract_result", stmt); 950 "mysql extract_result", stmt);
940 return GNUNET_SYSERR; 951 return GNUNET_SYSERR;
941 }
942
943 if(0 != did_join)
944 {
945 ret = GNUNET_YES;
946 }
947 else
948 {
949 ret = GNUNET_NO;
950 } 952 }
951 953
952 if (0 != mysql_stmt_reset (GNUNET_MYSQL_statement_get_stmt (stmt))) 954 if (0 != mysql_stmt_reset (GNUNET_MYSQL_statement_get_stmt (stmt)))