Skip to content

feat(export): set Structure, Drop or Data for a whole database or group - #3857

Merged
datlechin merged 3 commits into
mainfrom
feat/export-bulk-table-options
Oct 27, 2026
Merged

datlechin merged 3 commits into
mainfrom
feat/export-bulk-table-options

Conversation

@datlechin

@datlechin datlechin commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Database, schema and group rows in the export tree get a checkbox in each option column (SQL: Structure, Drop, Data; MQL: Drop, Indexes, Data). It sets that column for everything beneath it and shows a dash when the objects differ. A schema-only export of every table: tick the database, untick Drop and Data on its row.
  • Option columns are real table columns with a stock header. The old headings sat 17 to 25 pt off their checkboxes and could not follow a legacy scroller.
  • An object's leading checkbox only includes or excludes it now. It used to show a dash when some options were off; clicking the dash did nothing while Space deselected the row.
  • A database or group tick skips objects whose options are all off, so click order cannot change the dump. A group whose options are all off cannot be ticked.
  • Kinds a collapsed schema reads later arrive with the values its row set, and selected when the schema was ticked.
  • Fixed: a saved selection made under another format came back with every option on.
  • Fixed: SQL to CSV and back dropped routines, triggers, sequences and types until the dialog reopened.
  • Fixed: a format change that reloads the tree dropped per-table row filters.
  • Fixed: Structure, Data and Indexes headings were never translated. Drop stays untranslated: the catalog's Drop is the verb that deletes a table.
  • Fixed: MQL with Data off showed 0 of N rows for the whole export.
  • Fixed: Space over a database and its rows toggled the rows twice, in the export and backup trees.
  • Fixed: both trees were 14 pt wider than their scroll view, so a swipe slid the rows sideways.
  • Fixed: a new query tab, or a query loaded into the open one, left the keyboard in the grid or sidebar. Query tabs share one editor, and its focus claim was only taken the first time it entered the window. This was the VimNormalModeChordUITests failure.

Before / after

Light Dark
Before Before light Before dark
After After light After dark

After: the database row's Drop and Data are unticked, which unticks them for every table.

Test plan

  • ExportOptionColumnTests, the new ExportObjectTreeCoordinatorTests cases, ExportTreeBuilderTests.reloadKeepsRowScope, BackupScopeModelTests Space cases and MQLExportReadsRowsTests pass locally (117 cases in the export, backup and format suites).
  • SQLEditorFocusClaimTests fails without the editor fix. The Vim, Emacs, autocomplete, window focus, agent mode, history and query run UI flows pass locally.
  • New UI flow ExportUITests.testExportingEveryTableAsStructureOnly: tick the fixture database, untick Drop and Data on its row, export SQL. The file has six CREATE TABLE, no INSERT INTO, no DROP TABLE.
  • verify.sh plugins could not link DamengDriver: this checkout has no libdameng_bridge.a. The two export plugins built and their tests ran.

Docs: TableProApp/docs#133

@datlechin
datlechin merged commit 55472d8 into main Oct 27, 2026
9 checks passed
@datlechin
datlechin deleted the feat/export-bulk-table-options branch October 27, 2026 10:37
@joexn

joexn commented Oct 27, 2026

Copy link
Copy Markdown

Absolutely perfect! Thank you very much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants