1 24 25 package com.mckoi.tools; 26 27 import com.mckoi.database.*; 28 import com.mckoi.util.CommandLine; 29 import com.mckoi.util.ShellUserTerminal; 30 import com.mckoi.database.control.*; 31 import java.io.*; 32 33 38 39 public class DBConglomerateRepairTool { 40 41 private static void repair(String path, String name) { 42 43 ShellUserTerminal terminal = new ShellUserTerminal(); 44 45 TransactionSystem system = new TransactionSystem(); 46 DefaultDBConfig config = new DefaultDBConfig(); 47 config.setDatabasePath(path); 48 config.setLogPath(""); 49 config.setMinimumDebugLevel(50000); 50 config.setValue("do_not_use_nio_api", "enabled"); 52 system.setDebugOutput(new StringWriter()); 53 system.init(config); 54 final TableDataConglomerate conglomerate = 55 new TableDataConglomerate(system, system.storeSystem()); 56 conglomerate.fix(name, terminal); 58 59 system.dispose(); 61 } 62 63 66 private static void printSyntax() { 67 System.out.println("DBConglomerateRepairTool -path [data directory] " + 68 "[-name [database name]]"); 69 } 70 71 74 public static void main(String [] args) { 75 CommandLine cl = new CommandLine(args); 76 77 String path = cl.switchArgument("-path"); 78 String name = cl.switchArgument("-name", "DefaultDatabase"); 79 80 if (path == null) { 81 printSyntax(); 82 System.out.println("Error: -path not found on command line."); 83 System.exit(-1); 84 } 85 86 repair(path, name); 88 89 } 90 91 92 } 93 | Popular Tags |