From d94ae46adaab1cd8704e0bf3912c36f2c8e57dd4 Mon Sep 17 00:00:00 2001
From: Fredrik Noring <noring@nocrew.org>
Date: Wed, 24 Jun 1998 17:58:57 +0200
Subject: [PATCH] Added an optional database checker.

Rev: lib/modules/Yabu.pmod/test.pike:1.4
---
 lib/modules/Yabu.pmod/test.pike | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/lib/modules/Yabu.pmod/test.pike b/lib/modules/Yabu.pmod/test.pike
index 6f9fb39b83..8e69b6f0bc 100644
--- a/lib/modules/Yabu.pmod/test.pike
+++ b/lib/modules/Yabu.pmod/test.pike
@@ -4,6 +4,21 @@
 
 int main(int argc, array argv)
 {
+  if(argc == 3 && argv[1] == "dbck") {
+    string filename = argv[2];
+    object db = .module.db(filename, "r");
+    
+    werror("Database data: ");
+    foreach(indices(db), string table) {
+      object table = db[table];
+      foreach(indices(table), string row)
+	werror("%O", table[row]);
+    }
+
+    werror("\nThe database %O seems to be intact.\n", filename);
+    return 0;
+  }
+  
   .module.db("test.db", "wct")->purge();
   object db = .module.db("test.db", "wct");
   object table = db["Aces"];
@@ -18,7 +33,7 @@ int main(int argc, array argv)
     ERR("Table diff #2!");
   
   transaction["Buck"] = "Rogers";
-
+  
   if(!equal(indices(table), ({ "Blixt" })))
     ERR("Table diff #3!");
   if(!equal(sort(indices(transaction)), ({ "Blixt", "Buck" })))
@@ -31,7 +46,7 @@ int main(int argc, array argv)
     ERR("Table diff #7!");
   if(transaction["Blixt"] != "Gordon")
     ERR("Table diff #8!");
-
+  
   transaction->commit();
 
   if(table["Buck"] != "Rogers")
-- 
GitLab