From bd0cffb2c3f1381c2e6be1794642acf9330db277 Mon Sep 17 00:00:00 2001 From: sawka Date: Mon, 20 Mar 2023 21:38:39 -0700 Subject: [PATCH] update schema --- db/schema.sql | 103 ++++++++++++++++++++----------------- pkg/cmdrunner/cmdrunner.go | 3 +- 2 files changed, 56 insertions(+), 50 deletions(-) diff --git a/db/schema.sql b/db/schema.sql index 68a47ba9..9ebfb32d 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -7,7 +7,7 @@ CREATE TABLE client ( userpublickeybytes blob NOT NULL, userprivatekeybytes blob NOT NULL, winsize json NOT NULL -, clientopts json NOT NULL DEFAULT '', feopts json NOT NULL DEFAULT '{}'); +, clientopts json NOT NULL DEFAULT '', feopts json NOT NULL DEFAULT '{}', cmdstoretype varchar(20) DEFAULT 'session'); CREATE TABLE session ( sessionid varchar(36) PRIMARY KEY, name varchar(50) NOT NULL, @@ -41,24 +41,6 @@ CREATE TABLE state_diff ( diffhasharr json NOT NULL, data blob NOT NULL ); -CREATE TABLE line ( - sessionid varchar(36) NOT NULL, - screenid varchar(36) NOT NULL, - userid varchar(36) NOT NULL, - lineid varchar(36) NOT NULL, - ts bigint NOT NULL, - linenum int NOT NULL, - linenumtemp boolean NOT NULL, - linetype varchar(10) NOT NULL, - linelocal boolean NOT NULL, - text text NOT NULL, - cmdid varchar(36) NOT NULL, - ephemeral boolean NOT NULL, - contentheight int NOT NULL, - star int NOT NULL, - archived boolean NOT NULL, renderer varchar(50) NOT NULL DEFAULT '', bookmarked boolean NOT NULL DEFAULT 0, pinned boolean NOT NULL DEFAULT 0, - PRIMARY KEY (sessionid, screenid, lineid) -); CREATE TABLE remote ( remoteid varchar(36) PRIMARY KEY, physicalid varchar(36) NOT NULL, @@ -77,27 +59,6 @@ CREATE TABLE remote ( archived boolean NOT NULL, remoteidx int NOT NULL ); -CREATE TABLE cmd ( - sessionid varchar(36) NOT NULL, - cmdid varchar(36) NOT NULL, - remoteownerid varchar(36) NOT NULL, - remoteid varchar(36) NOT NULL, - remotename varchar(50) NOT NULL, - cmdstr text NOT NULL, - festate json NOT NULL, - statebasehash varchar(36) NOT NULL, - statediffhasharr json NOT NULL, - termopts json NOT NULL, - origtermopts json NOT NULL, - status varchar(10) NOT NULL, - startpk json NOT NULL, - doneinfo json NOT NULL, - runout json NOT NULL, - rtnstate boolean NOT NULL, - rtnbasehash varchar(36) NOT NULL, - rtndiffhasharr json NOT NULL, screenid varchar(36) NOT NULL DEFAULT '', - PRIMARY KEY (sessionid, cmdid) -); CREATE TABLE history ( historyid varchar(36) PRIMARY KEY, ts bigint NOT NULL, @@ -137,12 +98,6 @@ CREATE TABLE bookmark_order ( orderidx int NOT NULL, PRIMARY KEY (tag, bookmarkid) ); -CREATE TABLE bookmark_cmd ( - bookmarkid varchar(36) NOT NULL, - sessionid varchar(36) NOT NULL, - cmdid varchar(36) NOT NULL, - PRIMARY KEY (bookmarkid, sessionid, cmdid) -); CREATE TABLE playbook ( playbookid varchar(36) PRIMARY KEY, playbookname varchar(100) NOT NULL, @@ -173,9 +128,20 @@ CREATE TABLE cloud_update ( updatetype varchar(50) NOT NULL, updatekeys json NOT NULL ); -CREATE TABLE IF NOT EXISTS "screen" ( +CREATE TABLE IF NOT EXISTS "bookmark_cmd" ( + bookmarkid varchar(36) NOT NULL, + screenid varchar(36) NOT NULL, + cmdid varchar(36) NOT NULL, + PRIMARY KEY (bookmarkid, screenid, cmdid) +); +CREATE TABLE cmd_migrate ( sessionid varchar(36) NOT NULL, screenid varchar(36) NOT NULL, + cmdid varchar(36) NOT NULL +); +CREATE TABLE IF NOT EXISTS "screen" ( + screenid varchar(36) NOT NULL, + sessionid varchar(36) NOT NULL, name varchar(50) NOT NULL, screenidx int NOT NULL, screenopts json NOT NULL, @@ -190,5 +156,46 @@ CREATE TABLE IF NOT EXISTS "screen" ( focustype varchar(12) NOT NULL, archived boolean NOT NULL, archivedts bigint NOT NULL, - PRIMARY KEY (sessionid, screenid) + PRIMARY KEY (screenid) +); +CREATE TABLE IF NOT EXISTS "line" ( + screenid varchar(36) NOT NULL, + userid varchar(36) NOT NULL, + lineid varchar(36) NOT NULL, + ts bigint NOT NULL, + linenum int NOT NULL, + linenumtemp boolean NOT NULL, + linetype varchar(10) NOT NULL, + linelocal boolean NOT NULL, + text text NOT NULL, + cmdid varchar(36) NOT NULL, + ephemeral boolean NOT NULL, + contentheight int NOT NULL, + star int NOT NULL, + archived boolean NOT NULL, + renderer varchar(50) NOT NULL, + bookmarked boolean NOT NULL, + PRIMARY KEY (screenid, lineid) +); +CREATE TABLE IF NOT EXISTS "cmd" ( + screenid varchar(36) NOT NULL, + cmdid varchar(36) NOT NULL, + remoteownerid varchar(36) NOT NULL, + remoteid varchar(36) NOT NULL, + remotename varchar(50) NOT NULL, + cmdstr text NOT NULL, + rawcmdstr text NOT NULL, + festate json NOT NULL, + statebasehash varchar(36) NOT NULL, + statediffhasharr json NOT NULL, + termopts json NOT NULL, + origtermopts json NOT NULL, + status varchar(10) NOT NULL, + startpk json NOT NULL, + doneinfo json NOT NULL, + runout json NOT NULL, + rtnstate boolean NOT NULL, + rtnbasehash varchar(36) NOT NULL, + rtndiffhasharr json NOT NULL, + PRIMARY KEY (screenid, cmdid) ); diff --git a/pkg/cmdrunner/cmdrunner.go b/pkg/cmdrunner/cmdrunner.go index cb22c3fd..34b794b6 100644 --- a/pkg/cmdrunner/cmdrunner.go +++ b/pkg/cmdrunner/cmdrunner.go @@ -539,7 +539,7 @@ func ScreenArchiveCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) } return update, nil } else { - fmt.Printf("unarchive screen %s\n", screenId) + log.Printf("unarchive screen %s\n", screenId) err = sstore.UnArchiveScreen(ctx, ids.SessionId, screenId) if err != nil { return nil, fmt.Errorf("/screen:archive cannot re-open screen: %v", err) @@ -2582,7 +2582,6 @@ func SetCommand(ctx context.Context, pk *scpacket.FeCommandPacketType) (sstore.U } setMap[scopeName][varName] = argVal } - fmt.Printf("setmap: %#v\n", setMap) return nil, nil }