feat(query): show database server messages in query results

This commit is contained in:
Eddy Lei authored and GitHub committed 2026-08-07 15:18:32 +08:00
1 parent 4c7ddd266b
commit a5e46fd659
45 files changed
+1401 -51

No files matched your search

@@ -0,0 +1,12 @@
import type { QueryResult } from "@/types/database";
/**
* Picks the default output view for a result that has no result set.
* Message-only results (e.g. PostgreSQL `DO $$ RAISE NOTICE $$`) open the
* messages view; routine DML like a MySQL INSERT also carries an INFO message
* ("Records: N ...") but keeps the established summary view.
*/
export function defaultViewForResult(result: Pick<QueryResult, "columns" | "rows" | "affected_rows" | "messages">): "messages" | "summary" {
const messageOnly = result.columns.length === 0 && result.rows.length === 0 && result.affected_rows === 0 && (result.messages?.length ?? 0) > 0;
return messageOnly ? "messages" : "summary";
}