Previously execute_batch always used the hardcoded 30s default timeout,
ignoring the user's query_timeout_secs connection setting. This caused
long-running ALTER TABLE statements on large tables to time out even
when the user configured a longer timeout or disabled it entirely.
- SearchableSelect: support ArrowUp/Down to navigate filtered options, Enter to select, Escape to dismiss
- TableStructureEditor: add drag-to-resize column widths and horizontal scrolling for the columns table
When changing a column's data type in the table structure editor, the
length parameter now updates to a sensible default for the new type
(e.g. int→11, tinyint→4) instead of preserving the old value.
- Enable renameColumn, alterExistingColumn, alterType, alterNullability,
alterDefault, comment, and indexComment capabilities for SQL Server
- Implement build_sqlserver_existing_column_sql() with sp_rename for column
rename, ALTER TABLE ALTER COLUMN for type/nullability changes, and dynamic
SQL for default constraint management
- Add sp_addextendedproperty/sp_dropextendedproperty DDL generation for table,
column, and index comments
- Fetch table and column comments from sys.extended_properties via OUTER APPLY
in list_tables, list_objects, and get_columns SQL queries
- Fix table comment placeholder text (was showing column comment placeholder)
Previously the sidebar tree refresh was skipped entirely in EDIT mode because
the check was gated on activeTab.mode === 'data', which is never true when
the structure editor is open. Now we pass a commentChanged flag through the
event chain and only refresh the tree when the comment was modified.
- Separate data type input into type dropdown (SearchableSelect with allowCustom)
and length input, Navicat-style
- Add comprehensive DATA_TYPE_OPTIONS for all 6 database engines, validated
against official docs
- Add Shiki SQL syntax highlighting to the SQL preview panel
- Add i18n keys for new UI elements (typePlaceholder, length, noMatchingType)
Replace the dialog-based TableStructureEditorDialog with a tab-based
TableStructureEditor, making it consistent with query editors, data
viewers, and object browsers. Users can now switch between editing
table structure and running queries freely.