diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-02-22 22:52:06 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-02-22 22:52:06 +0000 |
commit | 97636ddef6d81caf222ff34076b157d3cafb8042 (patch) | |
tree | 2e039cd8aa5c7f82bc7917edd066b1feb0a16ad4 /src/namestore/plugin_namestore_sqlite.c | |
parent | f6884a301a25d5038b0eeebaa4678eb164dc395b (diff) | |
download | gnunet-97636ddef6d81caf222ff34076b157d3cafb8042.tar.gz gnunet-97636ddef6d81caf222ff34076b157d3cafb8042.zip |
-more bugfixes, more testing
Diffstat (limited to 'src/namestore/plugin_namestore_sqlite.c')
-rw-r--r-- | src/namestore/plugin_namestore_sqlite.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/namestore/plugin_namestore_sqlite.c b/src/namestore/plugin_namestore_sqlite.c index a03f8cc37..c1d5d3ca8 100644 --- a/src/namestore/plugin_namestore_sqlite.c +++ b/src/namestore/plugin_namestore_sqlite.c | |||
@@ -655,7 +655,10 @@ namestore_sqlite_iterate_records (void *cls, | |||
655 | } | 655 | } |
656 | if (SQLITE_DONE != sret) | 656 | if (SQLITE_DONE != sret) |
657 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite_step"); | 657 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite_step"); |
658 | sqlite3_finalize (plugin->iterate_records); | 658 | if (SQLITE_OK != sqlite3_reset (plugin->iterate_records)) |
659 | LOG_SQLITE (plugin, | ||
660 | GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, | ||
661 | "sqlite3_reset"); | ||
659 | return ret; | 662 | return ret; |
660 | } | 663 | } |
661 | 664 | ||
@@ -727,7 +730,10 @@ namestore_sqlite_get_node (void *cls, | |||
727 | } | 730 | } |
728 | else if (SQLITE_DONE != ret) | 731 | else if (SQLITE_DONE != ret) |
729 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite_step"); | 732 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite_step"); |
730 | sqlite3_finalize (plugin->get_node); | 733 | if (SQLITE_OK != sqlite3_reset (plugin->get_node)) |
734 | LOG_SQLITE (plugin, | ||
735 | GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, | ||
736 | "sqlite3_reset"); | ||
731 | return ret; | 737 | return ret; |
732 | } | 738 | } |
733 | 739 | ||
@@ -748,6 +754,7 @@ namestore_sqlite_get_signature (void *cls, | |||
748 | { | 754 | { |
749 | struct Plugin *plugin = cls; | 755 | struct Plugin *plugin = cls; |
750 | int ret; | 756 | int ret; |
757 | int sret; | ||
751 | const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key; | 758 | const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded *zone_key; |
752 | struct GNUNET_NAMESTORE_SignatureLocation top_loc; | 759 | struct GNUNET_NAMESTORE_SignatureLocation top_loc; |
753 | const struct GNUNET_CRYPTO_RsaSignature *zone_sig; | 760 | const struct GNUNET_CRYPTO_RsaSignature *zone_sig; |
@@ -766,7 +773,7 @@ namestore_sqlite_get_signature (void *cls, | |||
766 | return GNUNET_SYSERR; | 773 | return GNUNET_SYSERR; |
767 | } | 774 | } |
768 | ret = GNUNET_NO; | 775 | ret = GNUNET_NO; |
769 | if (SQLITE_ROW == (ret = sqlite3_step (plugin->get_signature))) | 776 | if (SQLITE_ROW == (sret = sqlite3_step (plugin->get_signature))) |
770 | { | 777 | { |
771 | top_loc.offset = 0; | 778 | top_loc.offset = 0; |
772 | top_loc.revision = sqlite3_column_int (plugin->get_signature, 0); | 779 | top_loc.revision = sqlite3_column_int (plugin->get_signature, 0); |
@@ -794,9 +801,12 @@ namestore_sqlite_get_signature (void *cls, | |||
794 | top_hash); | 801 | top_hash); |
795 | } | 802 | } |
796 | } | 803 | } |
797 | if (SQLITE_DONE != ret) | 804 | else if (SQLITE_DONE != sret) |
798 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite_step"); | 805 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR, "sqlite_step"); |
799 | sqlite3_finalize (plugin->get_signature); | 806 | if (SQLITE_OK != sqlite3_reset (plugin->get_signature)) |
807 | LOG_SQLITE (plugin, | ||
808 | GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, | ||
809 | "sqlite3_reset"); | ||
800 | return ret; | 810 | return ret; |
801 | } | 811 | } |
802 | 812 | ||
@@ -816,24 +826,24 @@ run_delete_statement (struct Plugin *plugin, | |||
816 | { | 826 | { |
817 | int n; | 827 | int n; |
818 | 828 | ||
819 | if (SQLITE_OK != sqlite3_bind_blob (plugin->delete_zone_records, 1, zone, sizeof (GNUNET_HashCode), SQLITE_STATIC)) | 829 | if (SQLITE_OK != sqlite3_bind_blob (stmt, 1, zone, sizeof (GNUNET_HashCode), SQLITE_STATIC)) |
820 | { | 830 | { |
821 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, | 831 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, |
822 | "sqlite3_bind_XXXX"); | 832 | "sqlite3_bind_XXXX"); |
823 | if (SQLITE_OK != sqlite3_reset (plugin->delete_zone_records)) | 833 | if (SQLITE_OK != sqlite3_reset (stmt)) |
824 | LOG_SQLITE (plugin, | 834 | LOG_SQLITE (plugin, |
825 | GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, | 835 | GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, |
826 | "sqlite3_reset"); | 836 | "sqlite3_reset"); |
827 | return; | 837 | return; |
828 | } | 838 | } |
829 | n = sqlite3_step (plugin->put_signature); | 839 | n = sqlite3_step (stmt); |
830 | if (SQLITE_OK != sqlite3_reset (plugin->delete_zone_records)) | 840 | if (SQLITE_OK != sqlite3_reset (stmt)) |
831 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, | 841 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, |
832 | "sqlite3_reset"); | 842 | "sqlite3_reset"); |
833 | switch (n) | 843 | switch (n) |
834 | { | 844 | { |
835 | case SQLITE_DONE: | 845 | case SQLITE_DONE: |
836 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "sqlite", "Zone records deleted\n"); | 846 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "sqlite", "Values deleted\n"); |
837 | break; | 847 | break; |
838 | case SQLITE_BUSY: | 848 | case SQLITE_BUSY: |
839 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_WARNING | GNUNET_ERROR_TYPE_BULK, | 849 | LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_WARNING | GNUNET_ERROR_TYPE_BULK, |
@@ -948,6 +958,7 @@ namestore_sqlite_put_signature (void *cls, | |||
948 | GNUNET_HashCode zone; | 958 | GNUNET_HashCode zone; |
949 | struct DeleteContext dc; | 959 | struct DeleteContext dc; |
950 | 960 | ||
961 | GNUNET_break (0 == loc->offset); /* little sanity check */ | ||
951 | GNUNET_CRYPTO_hash (zone_key, | 962 | GNUNET_CRYPTO_hash (zone_key, |
952 | sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), | 963 | sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), |
953 | &zone); | 964 | &zone); |
@@ -975,7 +986,6 @@ namestore_sqlite_put_signature (void *cls, | |||
975 | GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, | 986 | GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK, |
976 | "sqlite3_reset"); | 987 | "sqlite3_reset"); |
977 | return GNUNET_SYSERR; | 988 | return GNUNET_SYSERR; |
978 | |||
979 | } | 989 | } |
980 | n = sqlite3_step (plugin->put_signature); | 990 | n = sqlite3_step (plugin->put_signature); |
981 | if (SQLITE_OK != sqlite3_reset (plugin->put_signature)) | 991 | if (SQLITE_OK != sqlite3_reset (plugin->put_signature)) |