Commit Graph
1674 Commits
Author SHA1 Message Date
t8y2 7cfdcff8c7 fix(grid): prevent canvas selection from rendering black 2026-06-06 11:50:39 +08:00
t8y2 a1d0178a7e fix(postgres): add OpenGauss-compatible index query fallback without WITH ORDINALITY
OpenGauss is based on PostgreSQL 9.2 and does not support WITH ORDINALITY
(PG 9.4+). When the native pg_get_tabledef() path fails, the fallback DDL
builder calls list_indexes() which previously only had two SQL variants, both
using WITH ORDINALITY — causing "syntax error at or near 'WITH'" on OpenGauss.

Add POSTGRES_INDEXES_OPENGAUSS_SQL as a third fallback that uses generate_series
and array_length instead, both available since PG 8.0.
2026-06-06 11:29:16 +08:00
t8y2 fecefb1589 fix(grid): refine total row counting 2026-06-06 11:13:47 +08:00
t8y2 67e4c5d881 fix(transfer): preserve longtext/mediumtext/longblob/mediumblob types for MySQL target
Previously map_column_type mapped all text types (longtext, mediumtext) to
TEXT (64KB max) and all blob types (longblob, mediumblob) to BLOB (64KB
max). This caused "Data too long" errors when transferring large data from
MariaDB to MySQL.

Also improved INSERT error messages to include the table name and absolute
row number (offset + MySQL row) instead of just chunk index.

Fixes #796
2026-06-06 09:29:31 +08:00
André Mácola 11a6a59eb4 feat: add pt-BR localization support and locale option (#797) 2026-06-06 09:15:09 +08:00
t8y2 5581205c4d fix: quote temporal type default values in SQL generation
Time-related column types (DATE, DATETIME, TIMESTAMP, TIME, etc.) need
their literal default values wrapped in single quotes. Previously, the
normalize_default function returned values verbatim, so a DATETIME
default like "2024-01-01 00:00:00" would generate invalid SQL:
  DEFAULT 2024-01-01 00:00:00
instead of:
  DEFAULT '2024-01-01 00:00:00'

SQL expressions (CURRENT_TIMESTAMP, NOW(), etc.) are correctly left
unquoted. Non-temporal types (INT, VARCHAR, etc.) are unaffected.
2026-06-06 02:12:53 +08:00
t8y2 e02b6f0d7a test: update stale test expectations 2026-06-06 01:06:03 +08:00
t8y2 2ee51327bd fix: remove ellipsis on canvas cell text truncation 2026-06-06 00:55:14 +08:00
t8y2 012b03cac5 fix: prevent grid paste handler from intercepting paste in edit mode
When a cell is in edit mode, the native paste event was bubbling up to
the grid root's @paste handler, which called preventDefault() and wrote
values directly to the data model instead of the edit input. This caused
the "Pasted!" toast to appear but the input content remained unchanged.

Adding @paste.stop on edit inputs allows the browser's default paste
behavior to insert text into the input field, properly updating editValue
via v-model.
2026-06-06 00:34:09 +08:00
邹超 6e24ea5099 fix(redis): need to enable tls-rustls-insecure to support --insecure (#794) 2026-06-06 00:15:52 +08:00
t8y2 44d6f167ea fix: show full tab title immediately when opening table from sidebar
Set tableMeta early so tabDisplayTitle can render the @database suffix
right away instead of waiting for loadTableMeta to complete.
2026-06-06 00:05:13 +08:00
t8y2 bcafb9bc93 Revert "feat: support multiple desktop windows"
This reverts commit 642fa39bb8.
2026-06-06 00:01:38 +08:00
t8y2 642fa39bb8 feat: support multiple desktop windows 2026-06-05 20:45:00 +08:00
Francesco Lucarelli 28e8a77fa3 Fix typecheck mismatch by mapping rqlite to sqlite and add Italian locale (#787)
Thanks for adding Italian locale support and fixing the rqlite dialect mapping, @fraluc06!
2026-06-05 18:48:14 +08:00
t8y2 9858fc40d2 feat(tests): add currentWhereInput to various test cases 2026-06-05 18:31:53 +08:00
t8y2 8a995c6bef build: use rust-lld for windows msvc linker 2026-06-05 18:20:20 +08:00
skyler d2166e080c Merge pull request #782 from sunny0826/feat/kwdb
feat: add KWDB support
2026-06-05 18:16:17 +08:00
t8y2 ee94157055 fix(desktop): add color fallbacks for legacy webviews 2026-06-05 18:07:11 +08:00
Xudong Guo 9b15843e1a feat: add KWDB support 2026-06-05 16:55:38 +08:00
t8y2 8942356eed fix: sort sidebar metadata nodes consistently 2026-06-05 16:44:41 +08:00
t8y2 8d69904ea1 fix(mysql): omit database name in exported inserts 2026-06-05 16:03:58 +08:00
t8y2 bbe51d409c fix(grid): preserve structured filter conditions on refresh and rollback
The toolbar refresh, rollback, and post-save reload were passing only
the manual WHERE input to the reload event, discarding structured filter
conditions added via the filter builder popover. Changed all three call
sites to use currentWhereInput() which combines both filter sources.
2026-06-05 15:15:23 +08:00
Scars 6016b293ce fix(cli): close direct query resources after command execution
Fix #745
2026-06-05 14:56:55 +08:00
t8y2 249a1ed649 fix(postgres): recover schema session after aborted transaction 2026-06-05 14:46:00 +08:00
t8y2 a2c9503a3d perf(sidebar): reduce tree selection overhead 2026-06-05 14:30:25 +08:00
t8y2 b4a207fc6b feat(redis): add fetch-all keys button and incremental namespace tree merging
- Add "Fetch All" button alongside "Load More" to continuously SCAN until all keys loaded
- Add stop button and scan progress display during fetch-all
- Implement mergeKeysIntoRedisKeyTree for incremental namespace tree building
- Add toast notifications for empty form validation in key detail panel
- Add i18n translations for new UI elements (zh-CN, zh-TW, en, es)
- Add unit tests for incremental tree merge covering 6 scenarios
2026-06-05 13:57:26 +08:00
t8y2 e780e66e41 fix(sql): improve kingbase metadata loading and dangerous sql confirmation 2026-06-05 12:48:29 +08:00
DengQingNian 47ddbd5ce7 feat(ui): 支持预览postgres的Geometry数据为图形
为 cell detail 面板中的 PostGIS geometry/geography 列添加基于 Canvas 的几何图形预览弹窗
2026-06-05 12:41:19 +08:00
t8y2 ea45e1c331 feat(redis): add copy insert statement button for Redis key value migration
Generates a Redis insert command (SET/RPUSH/SADD/ZADD/HSET/XADD/JSON.SET) from
the current key's value and copies it to clipboard. Supports TTL, pagination
hints, and binary value handling.
2026-06-05 12:15:53 +08:00
t8y2 6dadb4ddb7 fix(redis): prevent unmount-on-hide lag when switching from command to detail panel
Setting unmountOnHide to false on the Tabs component avoids re-mounting
RedisValueViewer and its heavy async initialisation (API calls + Shiki
highlighting) each time the user switches back from the CLI panel.
2026-06-05 12:04:25 +08:00
t8y2 7283f2b34a fix(sqlserver): handle spatial query results 2026-06-05 11:11:14 +08:00
t8y2 5e37a518f2 Merge pull request #751 2026-06-05 02:05:56 +08:00
t8y2 45cb5f4879 feat(tests): add live Postgres geometry test for rendering geometry values 2026-06-05 01:52:54 +08:00
dqn 36374edfc2 fix: prevent slice panic on multi-byte UTF-8 in DDL log truncation 2026-06-05 01:37:20 +08:00
DengQingNian dd24f1241e fix(ui): replace DialogScrollContent with scrollable DialogContent for transfer dialog search input
Replace DialogScrollContent with DialogContent + custom scrollable container to fix focus issue with search input in transfer dialog.
2026-06-05 01:34:01 +08:00
t8y2 0887b96236 feat: add rqlite database support 2026-06-05 01:02:07 +08:00
t8y2 a799958328 feat: add driver runtime manager 2026-06-04 23:20:15 +08:00
t8y2 a8c08cd7e9 fix(i18n): add missing structureEditor.copySql locale key
TableStructureEditor.vue references t("structureEditor.copySql") but
the key was missing from all locale files, causing raw key text display.
2026-06-04 22:10:58 +08:00
t8y2 cbcd5dc6e5 feat(access): enable table structure editing for Access databases
- Add accessCapabilities based on UCanAccess DDL support testing
- CREATE TABLE, ADD COLUMN, CREATE INDEX are supported
- DROP COLUMN, ALTER COLUMN, RENAME COLUMN, DROP INDEX are not supported
- Use H2 SQL dialect for generated DDL
2026-06-04 22:10:51 +08:00
t8y2 25188bc5c5 fix: enhance fitCanvasText function with caching and improve text fitting logic 2026-06-04 21:32:59 +08:00
t8y2 5e21b74487 fix: prevent bigint precision loss in structured filter value parsing
When parseFilterValue converts numeric strings to JS Number, integers
exceeding Number.MAX_SAFE_INTEGER lose precision (e.g. 2062449923745665025
becomes 2062449923745665024). Keep them as strings so the Rust backend can
parse them exactly via serde_json::Number.
2026-06-04 20:33:46 +08:00
t8y2 120566b1fd fix: improve JDBC dialect handling 2026-06-04 19:40:52 +08:00
t8y2 07edb39d77 feat(jdbc-plugin): bundle slf4j-api, slf4j-nop, and commons-lang3
Many JDBC drivers depend on SLF4J and commons-lang3 at runtime but
don't shade them. Bundling these in the plugin JAR avoids
NoClassDefFoundError when users import driver JARs.
2026-06-04 18:21:08 +08:00
t8y2 8d51a5779b fix: cancel DuckDB queries via duckdb_interrupt instead of only cancelling async future
Previously, cancelling a DuckDB query only dropped the tokio CancellationToken,
but the actual DuckDB C call continued running in spawn_blocking. This caused
the UI to show "正在停止..." until timeout silently expired.

Now, RunningQueries stores per-execution interrupt callbacks. For DuckDB and
ExternalTabular branches, an InterruptHandle is registered on query start so
cancel() calls duckdb_interrupt() at the C level, truly stopping the query.
2026-06-04 17:20:13 +08:00
t8y2 834dc534c6 fix: combine Oracle-like MODIFY statements and fix DATA_DEFAULT column ordering
- table_structure_sql: merge separate MODIFY statements for type, nullability,
  and default into a single MODIFY statement. This fixes Dameng's requirement
  that MODIFY includes the full column definition.
- DbxJdbcPlugin: move DATA_DEFAULT to first SELECT position and read it first
  in the ResultSet loop (LONG columns must be read before other columns).
2026-06-04 16:57:44 +08:00
t8y2 01c8072d97 fix: support MongoDB Atlas SRV connections in form mode
Add an "SRV (MongoDB Atlas)" toggle in the MongoDB connection form.
When enabled, the backend uses mongodb+srv:// scheme and omits the
port, matching the behavior of pasting a mongodb+srv:// URL directly.
2026-06-04 16:01:31 +08:00
github-actions[bot] 594077fd84 chore(packages): release 0.4.6 [skip node-packages-release] packages-v0.4.6 2026-06-04 07:24:53 +00:00
t8y2 43de1d6d0a fix: satisfy grid tooltip prop contract 2026-06-04 15:19:27 +08:00
t8y2 9935f8e7fe fix: improve iris schema metadata completion 2026-06-04 15:09:56 +08:00
t8y2 c8539bcc32 perf: replace column header Tooltip with hand-rolled LightTooltip 2026-06-04 14:25:41 +08:00