diff options
author | obscuren <geffobscura@gmail.com> | 2014-01-09 23:19:44 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-01-09 23:19:44 +0800 |
commit | 01740695cda7fe27c53f0fa078732fa5a15a88a5 (patch) | |
tree | adf377b670c61c400d2481e0b7539292bd7da6ee /db_query_interface.go | |
parent | d895f83136eccc7e440792fdb45fd4d40876d82e (diff) | |
download | dexon-01740695cda7fe27c53f0fa078732fa5a15a88a5.tar dexon-01740695cda7fe27c53f0fa078732fa5a15a88a5.tar.gz dexon-01740695cda7fe27c53f0fa078732fa5a15a88a5.tar.bz2 dexon-01740695cda7fe27c53f0fa078732fa5a15a88a5.tar.lz dexon-01740695cda7fe27c53f0fa078732fa5a15a88a5.tar.xz dexon-01740695cda7fe27c53f0fa078732fa5a15a88a5.tar.zst dexon-01740695cda7fe27c53f0fa078732fa5a15a88a5.zip |
moved db to dev console
Diffstat (limited to 'db_query_interface.go')
-rw-r--r-- | db_query_interface.go | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/db_query_interface.go b/db_query_interface.go deleted file mode 100644 index ec1d7feb5..000000000 --- a/db_query_interface.go +++ /dev/null @@ -1,113 +0,0 @@ -package main - -import ( - "fmt" - "bufio" - "strings" - "os" - "errors" - "encoding/hex" -) - -type DbInterface struct { - db *MemDatabase - trie *Trie -} - -func NewDBInterface() *DbInterface { - db, _ := NewMemDatabase() - trie := NewTrie(db, "") - - return &DbInterface{db: db, trie: trie} -} - -func (i *DbInterface) ValidateInput(action string, argumentLength int) error { - err := false - var expArgCount int - - switch { - case action == "update" && argumentLength != 2: - err = true - expArgCount = 2 - case action == "get" && argumentLength != 1: - err = true - expArgCount = 1 - case action == "dag" && argumentLength != 2: - err = true - expArgCount = 2 - } - - if err { - return errors.New(fmt.Sprintf("'%s' requires %d args, got %d", action, expArgCount, argumentLength)) - } else { - return nil - } -} - -func (i *DbInterface) ParseInput(input string) bool { - scanner := bufio.NewScanner(strings.NewReader(input)) - scanner.Split(bufio.ScanWords) - - count := 0 - var tokens []string - for scanner.Scan() { - count++ - tokens = append(tokens, scanner.Text()) - } - if err := scanner.Err(); err != nil { - fmt.Fprintln(os.Stderr, "reading input:", err) - } - - if len(tokens) == 0 { return true } - - err := i.ValidateInput(tokens[0], count-1) - if err != nil { - fmt.Println(err) - } else { - switch tokens[0] { - case "update": - i.trie.Update(tokens[1], tokens[2]) - - fmt.Println(hex.EncodeToString([]byte(i.trie.root))) - case "get": - fmt.Println(i.trie.Get(tokens[1])) - case "root": - fmt.Println(hex.EncodeToString([]byte(i.trie.root))) - case "rawroot": - fmt.Println(i.trie.root) - case "print": - i.db.Print() - case "dag": - fmt.Println(DaggerVerify(Big(tokens[1]), BigPow(2, 36), Big(tokens[2]))) - case "exit", "quit", "q": - return false - case "help": - fmt.Printf(`QUERY COMMANDS: -update KEY VALUE - Updates/Creates a new value for the given key -get KEY - Retrieves the given key -root - Prints the hex encoded merkle root -rawroot - Prints the raw merkle root -`) - default: - fmt.Println("Unknown command:", tokens[0]) - } - } - - return true -} - -func (i *DbInterface) Start() { - fmt.Printf("DB Query tool. Type (help) for help\n") - reader := bufio.NewReader(os.Stdin) - for { - fmt.Printf("db >>> ") - str, _, err := reader.ReadLine() - if err != nil { - fmt.Println("Error reading input", err) - } else { - if !i.ParseInput(string(str)) { - return - } - } - } -} |