summaryrefslogtreecommitdiff
path: root/src/namestore/plugin_namestore_sqlite.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-02-22 22:52:06 +0000
committerChristian Grothoff <christian@grothoff.org>2012-02-22 22:52:06 +0000
commit97636ddef6d81caf222ff34076b157d3cafb8042 (patch)
tree2e039cd8aa5c7f82bc7917edd066b1feb0a16ad4 /src/namestore/plugin_namestore_sqlite.c
parentf6884a301a25d5038b0eeebaa4678eb164dc395b (diff)
downloadgnunet-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.c32
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))