feat: V5 show tables / relationships / indexes list commands

Add the list-all show family as one Command::ShowList { kind }
variant. A read-only worker show_list formats count-headed lists
(reusing do_list_tables / read_all_relationships /
read_table_indexes, so it never drifts from the items panel);
internal __rdbms_* tables excluded. Help + parse-usage entries
added; 10 integration tests in tests/it/show_list.rs.

Mark V5 [x]. Split the singular show relationship/index <name>
detail forms (the [<name>] half) into a new tracked V5a [ ] item
rather than leaving them as an untracked footnote.
This commit is contained in:
claude@clouddev1
2026-06-07 13:20:52 +00:00
parent 28e75961aa
commit 8dec784080
15 changed files with 555 additions and 27 deletions
+11
View File
@@ -1403,6 +1403,10 @@ fn spawn_dsl_dispatch(
echo,
}
}
Ok(CommandOutcome::ShowList(lines)) => AppEvent::DslShowListSucceeded {
command: command.clone(),
lines,
},
Ok(CommandOutcome::QueryPlan(plan)) => AppEvent::DslExplainSucceeded {
command: command.clone(),
plan,
@@ -2244,6 +2248,10 @@ enum CommandOutcome {
/// — skipped" note.
SchemaCreateIndexSkipped(String),
Query(DataResult),
/// A `show <kind>` list (V5) — pre-formatted display lines from
/// the worker (table / relationship / index names). Pure
/// display, no schema change.
ShowList(Vec<String>),
QueryPlan(QueryPlan),
Insert(InsertResult),
Update(UpdateResult),
@@ -2766,6 +2774,9 @@ async fn execute_command_typed(
.describe_table(name, src)
.await
.map(|d| CommandOutcome::Schema(Some(d))),
Command::ShowList { kind } => {
database.show_list(kind).await.map(CommandOutcome::ShowList)
}
Command::Insert {
table,
columns,