Double-click value area or click Edit button to open textarea editor
for long text/JSON. Add Set NULL button for quick null assignment.
Fix: null values via ?? operator were ignored in dirty row display.
Scan column names and first 50 rows to calculate optimal column width
instead of using a fixed 150px default. Double-click column separator
to auto-fit individual columns. Min 60px, max 400px.
- Split WHERE and ORDER BY into separate inputs alongside search bar
- Three equal sections: Search | WHERE | ORDER BY with border separators
- Preserve tableMeta on error so filters remain visible after failed queries
- Show schema@database format in table data badge
Add context menu actions for creating and dropping databases and schemas
directly from the sidebar tree. Supports MySQL, PostgreSQL, SQL Server,
ClickHouse, Oracle, and other server-based databases.
- Rewrite FETCH FIRST to ROWNUM for Oracle 11g (no 12c+ syntax)
- Filter APEX_*, FLOWS_*, $-prefixed system schemas from sidebar
- Set schema prefix on table nodes for schema-aware databases
- Use all_objects instead of all_tables+all_views (4x faster)
- Disable statement cache to avoid stale cursor issues
- Update rust-oracle with streaming TTC, drain fixes
When executing SQL from the AI panel, pass the SQL string directly to
tryExecute() instead of relying on the executableSql computed property,
which could use stale selectedSql or cursorPos values.
Serialize JSON/JSONB as strings in Postgres and MySQL drivers to avoid
repeated JSON.stringify in the render loop. Truncate cell display to
256 chars so the browser doesn't lay out huge text nodes on scroll.
Move refresh/commit/rollback buttons from DataGrid's internal toolbar
to ContentArea's table info header. Remove the redundant second row
and the column count display.
The DANGER_RE regex matched keywords anywhere in the SQL text, causing
SELECT queries using REPLACE() or TRUNCATE() functions to incorrectly
trigger the destructive-SQL warning dialog. Check only the first keyword
of each semicolon-separated statement instead.
Also fix dialog content overflow by adding min-w-0 to the <pre> element,
and move macOS frameworks config from tauri.conf.json to CI-only
TAURI_CONFIG so local `tauri dev` no longer requires libltdl/libodbc
to be globally installed.
Closes#135
- Bundle libodbc.2.dylib into .app/Contents/Frameworks/ via Tauri's
macOS frameworks config to fix "app can't be opened" on macOS
- Replace relaunch() with exit(0) to avoid Tauri restart bug (#11392)
- Lock update dialog during download and after install
- Render release notes as markdown
Execute GET/POST/PUT/DELETE queries like Kibana Dev Tools.
Search results are displayed as table rows with _id + _source fields.
Also hide database selector for Elasticsearch connections.
- Use try_get with i16 fallback to prevent panic on column metadata
- Add N'' prefix for string literals in SQL Server INSERT/UPDATE to fix Chinese character corruption