Improved progress display
Previously, the progress bar updated only after completing an entire table. For large tables such as LIBARC, this could make the application appear to have stopped responding. Phase 10 updates the interface while rows are being exported.
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
# Phase 19 — Column-aware SQL completion and incremental CSV writing
|
||||
|
||||
- Load column names from `information_schema.COLUMNS` when a schema is expanded/refreshed. Cache column names and `table.column` suggestions for the active schema; metadata errors are nonfatal.
|
||||
- SQL completion now includes cached column suggestions alongside tables, views and keywords.
|
||||
- Write CSV results one record at a time to a temporary file, with UTF-8 BOM, CRLF and quote escaping; move into place only on success.
|
||||
- Retains all Phase 18 features.
|
||||
|
||||
## Limitations
|
||||
- Metadata suggestions require loading the schema navigator first and sufficient `information_schema` visibility.
|
||||
- CSV export still operates on the existing in-memory query result (subject to query result limits); it does not fetch additional database rows.
|
||||
- Result-grid filtering/sorting still creates an in-memory sorted list.
|
||||
- Not compiled on macOS or tested against MySQL. Build and test with Xcode before production use.
|
||||
@@ -0,0 +1,14 @@
|
||||
# Phase 20 — Result Grid Improvements
|
||||
|
||||
- Added per-column visibility menu with Show All.
|
||||
- Added 1,000-row pages for native result grid rendering, with Previous/Next controls.
|
||||
- Added matching row counts and current visible range.
|
||||
- Sorting/filtering apply to the complete loaded result set before paging.
|
||||
- CSV export still includes all filtered/sorted loaded rows, even those on other pages or in hidden columns.
|
||||
- Page resets on filter/sort changes and new column schemas.
|
||||
|
||||
## Limitations
|
||||
|
||||
- This is UI paging, not database-side streaming: the query result is still loaded in memory.
|
||||
- Sorting and filtering still process all loaded rows and may be slow on large result sets.
|
||||
- No macOS Xcode build or live MySQL test has been performed.
|
||||
@@ -0,0 +1,17 @@
|
||||
# Phase 21 — SQL Query Plan Inspector
|
||||
|
||||
Based on Phase 20.
|
||||
|
||||
## Added
|
||||
- **Explain** button in SQL editor toolbar. Uses selected SQL when present, otherwise editor SQL.
|
||||
- Separate query-plan window showing MySQL `EXPLAIN` in table format or `EXPLAIN FORMAT=JSON`.
|
||||
- Shows optimizer plan columns in the existing native result grid; JSON format is selectable and copyable.
|
||||
- Displays diagnostic query duration and server errors.
|
||||
- Limits analysis to SELECT/WITH statements, does not run `EXPLAIN ANALYZE` (which executes the query).
|
||||
- Does not replace editor query results or add EXPLAIN to normal query history.
|
||||
|
||||
## Notes
|
||||
- Requires an active connection and MySQL permissions to explain the query.
|
||||
- `EXPLAIN` gives estimated plans, not actual execution metrics.
|
||||
- Only a single SQL statement should be selected; multi-statement SQL is not supported in the plan inspector.
|
||||
- Not built in Xcode or tested against a live MySQL server in this environment.
|
||||
@@ -0,0 +1,9 @@
|
||||
# Phase 22 — SQL diagnostics and plan observations
|
||||
|
||||
- Adds read-only interpretation of tabular MySQL EXPLAIN output: full scans, index scans, missing selected index, temporary tables, filesort and estimated row counts.
|
||||
- Adds Copy Plan for tabular and JSON EXPLAIN output.
|
||||
- Displays MySQL execution errors directly above the SQL editor, with selectable error text. No inaccurate error-line highlighting is attempted.
|
||||
- Index observations are explicitly advisory and do not generate or execute DDL.
|
||||
- Preserves Phase 21 and earlier project files.
|
||||
|
||||
Build and runtime validation on macOS / a MySQL server are still required.
|
||||
Reference in New Issue
Block a user