diff options
author | Christophe Genevey Metat <genevey.christophe@gmail.com> | 2016-07-22 07:52:50 +0000 |
---|---|---|
committer | Christophe Genevey Metat <genevey.christophe@gmail.com> | 2016-07-22 07:52:50 +0000 |
commit | 3ebe7900679d41b3f08e999c1bc56f13cbbc0257 (patch) | |
tree | ae673a0972832750ed07d3a117818c9eb7dfdc18 /src | |
parent | 0979ddcbd310b856b7c36c6ed9c8dc17c0b032db (diff) | |
download | gnunet-3ebe7900679d41b3f08e999c1bc56f13cbbc0257.tar.gz gnunet-3ebe7900679d41b3f08e999c1bc56f13cbbc0257.zip |
fix mysql_prepare function
Diffstat (limited to 'src')
-rw-r--r-- | src/psycstore/plugin_psycstore_mysql.c | 118 |
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) | |||
245 | static int | 245 | static int |
246 | mysql_prepare (struct GNUNET_MYSQL_Context *mc, | 246 | mysql_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))) |