You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
796e39e F16.0: node 1 review fixes — Conn.driver() and its fallback to eng gone (the fixtures that need a driver set drv), db.Query.Desc and its branch in Select gone (the tab turns the default order into an Order of the key columns, the page tests say it so), the ORDER toast names the column, format.go asks sqlkit for its statements beside its dialect again, two test nits
6eda9bb F16.0: the SQLite page test orders t_log by its rowid, the key a table with none has (the column id it had by mistake is a string literal there)
edfe722 F16.0a, b: db.Source under the table tab — SQLTable wraps the statements of Page, Count, Select and Save (Meta or Main as the mode says, a savepoint in a transaction, a read-only connection's save refused); the tab's fetch, count, save and export go through it, cursor paging keeps the cursor of each page seen, Count -1 shows ?, Columns.Sortable and NoInsert gate ORDER and a new row; the fake Source test and the per-engine SQLTable test
2f0dac6 F16.0c, d: db.Driver (Connect, Broken, ErrorOf) split out of Engine, the driver table, Conn.drv with eng only for a SQL engine, counted.Unwrap; the run pipeline of a query (statements, read-only and dangerous judgments, the page and its LIMIT, what resets the schema, DDL, a transaction's end, no BEGIN before) behind the lang interface with sqlLang; what hint, format, templates and the query's highlight ask of the engine stays SQL's, to be given its own language where a second one is (F16.4, F16.5)
8547fd6 F16.10: the dbs of a Redis server go by number in the tree, the DSN's among them and open, not first (§7.8)
96c5fe4 F16.1: Redis connects — internal/db/redis (go-redis v9, one connection not a pool, RESP3, no retries and no read timeout, a cancel closes the connection so a blocked command ends and the Worker dials again, db.Conn's Exec of console lines with redis-cli's splitting and Query of one command, replies as tables, Driver's ErrorOf and Broken, WithDB for a child db, ssh through Options.Dialer); engine = redis, [redis] delimiter / scan_keys / load_all and the connection's delimiter; the form's redis engine, db row and PING test; the redis icon; nothing SQL's is asked of a connection with no engine (catalog, completion, hints, gq, quick SQL, cell filter, INSERT yank, the WHERE's, a run says it cannot yet); redis-stack-server in docker-compose and ci, testdata/seed/redis.txt, SQLMUX_TEST_REDIS
2f5a1aa F16.1: a tunnel whose ssh has ended is a lost connection for every engine, so the next request dials again (db.NetworkError knows the ssh failure; it has no Unwrap, go-redis strips one level off a handshake error)
54be5cc F16.2: a Redis key's delete is asked about (Delete key ?, confirm_dangerous), the menu item and dd alike (docs 934065c)
024e97c F16.2: review fixes — the tree's filter result is each window's own (treeState.found), one SCAN loop for Scan and Each, just check runs the Redis tests (SQLMUX_TEST_REDIS), and tests for what the mutations left alive: the DSN's db listed, UNLINK 500 at a time (unlinkAll), typing in the filter asks, the cursor goes to the first key, the test button's PING, a cancelled dial is not a lost connection
c8378ab F16.2: the tree of a Redis connection — dbs as connections of their own (db0 with its size), under a db the namespaces of its keys' names by the delimiter ([redis] delimiter, the connection's over it) with how many keys each holds, then the keys with the icon and color of their type; a db is read by SCAN on Meta (never KEYS, the type of a batch in one pipeline) up to scan_keys and says what it read of how much there is; the tree's filter asks the server (SCAN MATCH, a * at each end unless typed) after the typing stops; a key is deleted, renamed (a taken name asked about) or given a TTL, a namespace deleted after finding every key under it and the question of the true number, UNLINK 500 at a time, C-c says how many went; R on a db reads it again; icon names str hash list set zset stream json in [icon]; the header counts keys
03338f8 F16.3: Rebuild reads about load_all of a hash or set (the HSCAN / SSCAN calls counted) and returns the error of a read that is refused
d70b0f1 F16.3: Rebuild reads the entries of a hash or set as they come, scanLoop gives LoadAll of them and no more
9b7c129 F16.3: a key read by HSCAN or SSCAN pages by LIMIT whatever a batch holds (the cursor of a page cut in the middle of a batch is cursor:skip)
f47f919 F16.3: review fixes — Quote checks the text's UTF-8 once, not per byte; Rebuild reads a hash or set by HSCAN / SSCAN up to load_all (scanLoop, shared with the page) and returns what failed; Save's checks tell a nil (the row is gone) from any other error, which is returned as it is; glob compiled once per filter and [!a] no longer a negation (Redis has only [^a]); RedisJSON integration tests (skipped without the module); tests for load_all's edge, a string's count, WRONGTYPE, the TTL in a rebuild, the change a failed command names, the key tab restored, the TTL chip
f00e536 F16.3a: a Redis key as a table — Key reads a string, hash, list, set, zset, stream or JSON value as rows (whole when up to load_all, else by HSCAN / SSCAN / ZRANGE offset / LRANGE / XRANGE cursor; Redis glob filter and sort locally), writes the changes back under WATCH comparing every old cell, exports up to scan_keys (ErrTruncated), rebuilds the key as commands; Columns.NoUpdate
07223e3 F16.3b: a Redis key opens in a tab (↵ on it in the tree, the menu's Open) named for it, on Key as its source, with the Info row over MATCH (type, length, TTL, encoding, memory; TTL, rename and delete run on the key of the tab and the tab follows the name); layout keeps kind = "key", its key and db and no page
8e3b59c F16.3c: the JSON view of a key tab is the key's own value by its type (hash an object, list and set arrays, zset [member, score], stream {id, fields}), the DDL view is the commands that make it again (Key.Rebuild, read anew each time), an export past scan_keys is a part of the key and says so, a key's state name is connection/db/key; goldens of every type's tab
b3a6443 F16.4: a Redis console line goes again after a reconnect only when every command of it carries the server's readonly flag (lang.Reruns; PUBLISH, EXEC, PING and what the server did not list do not), as §8.7 says
9135d31 F16.4: a command the server lists as read-only goes again when the connection was lost under it (the console runs it safe, a write keeps its error and the toast to run it); the palette leaves out the quick SQL on a Redis connection
25110bf F16.4: the console of a Redis connection — a command a line (redisLang: # and blank lines none, ↵ on the line the cursor is on), the commands the server lists (COMMAND, loaded once with the db) say what a read-only connection keeps back (write, may_replicate, scripts, administration) and what is asked about (@dangerous); a reply is laid out as a table (arrays of arrays of one length by column, a sorted set's pairs member / score), held whole and paged in memory, exported whole without running again; C-c on a blocking command; highlight by the server's command names; the db in the title is a dropdown of db; a line with a password is not kept in the history; gq is not offered by the palette for it
35cf9f7 F16.4: the console waits for the server's commands (COMMAND is asked first, ahead of the scan of the keys, and a run before it answers says so and does not go); the completion's names are forgotten after a command that writes and when the db is read again
82ad643 F16.4: the pointer of the rerun rule is §8.2
a9510dc F16.5: a server with no COMMAND DOCS completes the names COMMAND lists
c384691 F16.5: the completion tests of the keys do not depend on the hash seed of the server (db0 has more keys than the rounds read; all of them are asserted in a db of the test's own)
178fd20 F16.5: the console completes and says what a command takes — COMMAND DOCS read with the commands (Doc, Arg: the signature line of a command, [] for what may be left out, … for what is given again, oneof and blocks; where the next word goes, by tokens, blocks and what is given again), the signature line with the current argument lit (a blank between the fields), candidates for command names, subcommands, the tokens of an argument, the keys of the db (a few rounds of SCAN MATCH once the typing stops) and a hash's fields (HKEYS up to load_all), quoted when they have to be; a server before 7 completes the names alone
484cfc1 F16.6: the arrow keys of the grid and the tree are in default.toml, vim mode as well as not (nvim's NORMAL has them); default-novim.toml keeps PgUp / PgDn / Delete and the query's keys; the hints of vim = false still name the arrows first
8d5f70a F16.8: s in the JSON view is a flash-style jump over its text, as in a query (§6.10, §6.4)
ac9726c F16.8: the jump's tests hold the nearest match and the gutter out; the text area of a JSON view in one place (§6.10)
ff01374 F16.9: Y in a JSON view's VISUAL is vim's (the lines selected), json.yank only in NORMAL; VISUAL Y added to the editor (§7.6, §6.4)
44d9bd9 F16.9: Y in the JSON view copies the whole text to the system clipboard (json.yank, in the palette too), not the line vim's Y has (§7.6, §6.4)
ea91858 F16.9: gv after a VISUAL Y selects as it was, not by lines (restore_visual_mode)
Others
d7f49a3 mysql: TestFunctions sees the seed's schemas alone, a copy of it another database of the shared server holds is not its business