diff --git a/debug/db.go b/debug/db.go index 11dd48f..d241a40 100644 --- a/debug/db.go +++ b/debug/db.go @@ -32,17 +32,10 @@ func (k KeyInfo) String() string { func ToKeyInfo(k []byte, sessionId string) (KeyInfo, error) { o := KeyInfo{} - //b := []byte(sessionId) - -// if len(k) <= len(b) { -// return o, fmt.Errorf("storage key missing") -// } - + o.SessionId = sessionId o.Typ = uint8(k[0]) k = k[1:] - //o.SessionId = string(k[:len(b)]) - //k = k[len(b):] if o.Typ == visedb.DATATYPE_USERDATA { if len(k) == 0 { @@ -64,17 +57,6 @@ func ToKeyInfo(k []byte, sessionId string) (KeyInfo, error) { return o, nil } -func FromKey(k []byte) (KeyInfo, error) { - o := KeyInfo{} - - if len(k) < 3 { - return o, fmt.Errorf("insufficient key length: %d", len(k)) - } - - sessionIdBytes := k[1:len(k)-2] - return ToKeyInfo(k, string(sessionIdBytes)) -} - func subTypToString(v storedb.DataTyp) string { return dbTypStr[v + visedb.DATATYPE_USERDATA + 1] } diff --git a/debug/db_test.go b/debug/db_test.go index c8c4d30..4c89fa9 100644 --- a/debug/db_test.go +++ b/debug/db_test.go @@ -10,7 +10,6 @@ import ( func TestDebugDbSubKeyInfo(t *testing.T) { s := "foo" b := []byte{0x20} - b = append(b, []byte(s)...) b = append(b, []byte{0x00, 0x02}...) r, err := ToKeyInfo(b, s) if err != nil { @@ -56,7 +55,6 @@ func TestDebugDbKeyInfo(t *testing.T) { func TestDebugDbKeyInfoRestore(t *testing.T) { s := "bar" b := []byte{visedb.DATATYPE_USERDATA} - b = append(b, []byte(s)...) k := storedb.ToBytes(storedb.DATA_ACTIVE_SYM) b = append(b, k...) diff --git a/devtools/store/dump/main.go b/devtools/store/dump/main.go index cd9304d..c1879bf 100644 --- a/devtools/store/dump/main.go +++ b/devtools/store/dump/main.go @@ -20,12 +20,12 @@ var ( ) func formatItem(k []byte, v []byte, sessionId string) (string, error) { - //o, err := debug.FromKey(k) o, err := debug.ToKeyInfo(k, sessionId) if err != nil { return "", err } - s := fmt.Sprintf("%vValue: %v\n\n", o, string(v)) + s := fmt.Sprintf("%v\t%v\n", o.Label, string(v)) + return s, nil } @@ -37,6 +37,7 @@ func main() { var database string var engineDebug bool var err error + var first bool flag.StringVar(&sessionId, "session-id", "075xx2123", "session id") flag.StringVar(&connStr, "c", "", "connection string") @@ -80,6 +81,10 @@ func main() { if k == nil { break } + if !first { + fmt.Printf("Session ID: %s\n---\n", sessionId) + first = true + } r, err := formatItem(append([]byte{db.DATATYPE_USERDATA}, k...), v, sessionId) if err != nil { fmt.Fprintf(os.Stderr, "format db item error: %v\n", err)