]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/dbhash.rb
Whitespace cleanup
[user/henk/code/ruby/rbot.git] / lib / rbot / dbhash.rb
index ed5b9e61511f2237dd609148b14a474983b92f1d..3168f208f1a30c6601310ccc54b1bb7577fd3967 100644 (file)
@@ -10,7 +10,10 @@ end
 module BDB
   class CIBtree < Btree
     def bdb_bt_compare(a, b)
-      a.downcase <=> b.downcase
+      if a == nil || b == nil
+        debug "CIBTree: WARNING: comparing #{a.inspect} (#{self[a].inspect}) with #{b.inspect} (#{self[b].inspect})"
+      end
+      (a||'').downcase <=> (b||'').downcase
     end
   end
 end
@@ -112,13 +115,14 @@ module Irc
       return @@env.open_db(BDB::CIBtree, name, nil, "r+", 0600)
     end
 
-    def DBTree.cleanup_env()
+    def DBTree.cleanup_logs()
+      begin
+        debug "DBTree: checkpointing ..."
+        @@env.checkpoint
+      rescue => e
+        debug "Failed: #{e}"
+      end
       begin
-        debug "DBTree: checking transactions ..."
-        has_active_txn = @@env.txn_stat["st_nactive"] > 0
-        if has_active_txn
-          debug "DBTree: WARNING: not all transactions completed!"
-        end
         debug "DBTree: flushing log ..."
         @@env.log_flush
         logs = @@env.log_archive(BDB::ARCH_ABS)
@@ -126,6 +130,19 @@ module Irc
         logs.each { |log|
           File.delete(log)
         }
+      rescue => e
+        debug "Failed: #{e}"
+      end
+    end
+
+    def DBTree.cleanup_env()
+      begin
+        debug "DBTree: checking transactions ..."
+        has_active_txn = @@env.txn_stat["st_nactive"] > 0
+        if has_active_txn
+          debug "DBTree: WARNING: not all transactions completed!"
+        end
+        DBTree.cleanup_logs
         debug "DBTree: closing environment #{@@env}"
         path = @@env.home
         @@env.close