Commit Graph
1592 Commits
Author SHA1 Message Date
林剑凛 41edb3da91 feat(mongo): add database and collection deletion 2026-06-20 22:22:04 +08:00
funnytime d1fb9b8445 feat(history): add execution time range filter 2026-06-20 22:14:15 +08:00
hb 0720a86d25 feat(grid): copy column names and selection with headers 2026-06-20 22:13:00 +08:00
t8y2 9298a0cc93 fix(linux): keep native window decorations 2026-06-20 22:11:23 +08:00
ptma 5bc168f20c fix(postgres): strip length from fixed-size types and fix SQL library UX issues
* fix(postgre): Fix the data type syntax when creating tables in PostgreSQL

* fix(ui): Save the state when closing the SQL library through the close button
2026-06-20 22:10:26 +08:00
林剑凛 9d329920b9 feat(grid): add drag-and-drop column reordering with persistence
* feat: support data grid column reordering

* fix: improve column visibility footer layout
2026-06-20 21:50:59 +08:00
dalew f71406c1c2 feat(redis): add slowlog panel and integrate with backend APIs
* feat(redis): add slowlog panel and integrate with backend APIs

* fix(redis):Slowlog Panel Compatibility Issues
2026-06-20 21:47:14 +08:00
t8y2 dbb3915380 fix(jdbc): detect iris jdbc dialect 2026-06-20 07:35:40 +08:00
t8y2 b04d4aa78c fix(frontend): fix quick-open source type 2026-06-20 00:35:10 +08:00
Wakanlolz ebde8b4fa1 feat: add Ctrl+P quick-open for database objects 2026-06-20 00:13:09 +08:00
林剑凛 39ced46282 feat: improve MongoDB query assistance 2026-06-19 23:59:34 +08:00
AiLi 8b6eb353db feat(insert-template): add TDengine-aware insert template strategy and table-type propagation 2026-06-19 23:58:34 +08:00
Scars e679113231 feat(grid): add binary data hex viewer 2026-06-19 23:51:03 +08:00
t8y2 d59997c090 feat(objects): add table statistics columns 2026-06-19 14:35:32 +08:00
t8y2 954dba1e13 feat(export): support multi-result xlsx export 2026-06-19 14:05:08 +08:00
t8y2 3cbead1c20 feat(sync): support webdav sync on web 2026-06-19 13:22:19 +08:00
t8y2 ef25653aca feat(transfer): add target table name case option 2026-06-19 12:16:38 +08:00
uicky 0f1b5f8b53 fix(export): resolve query result export progress 2026-06-19 11:15:18 +08:00
t8y2 59ea4eafdc feat(sql): add table generate sql menu 2026-06-19 10:53:26 +08:00
t8y2 e27d34a34a feat(vector): add qdrant and milvus support 2026-06-19 10:07:56 +08:00
t8y2 fffdcb9db1 fix(web): download full database SQL export via browser 2026-06-19 09:35:19 +08:00
t8y2 93a6a65707 feat(editor): toggle SQL keyword case 2026-06-19 02:06:12 +08:00
t8y2 a643cd74dc fix(structure): support postgres-like foreign keys 2026-06-18 19:52:01 +08:00
t8y2 545d203b59 fix(sidebar): preserve partition tree across pages 2026-06-18 19:36:58 +08:00
t8y2 c62e323e16 fix(jdbc): improve goldendb metadata handling 2026-06-18 16:47:46 +08:00
t8y2 5ffd0bad6c fix(settings): persist sidebar page size 2026-06-18 14:57:54 +08:00
t8y2 c155443d4b feat(grid): add pinned query result history 2026-06-18 14:57:54 +08:00
t8y2 fe39a38dd4 fix(grid): keep row number colors stable 2026-06-18 14:57:54 +08:00
t8y2 59c0929c9f fix(canvas): restore selected row cell borders 2026-06-18 13:49:48 +08:00
t8y2 9e75f62dbf feat(sqlserver): support linked server browsing 2026-06-18 13:17:44 +08:00
Spencer.Chang fae454f96a feat: add sidebar type-to-search 2026-06-18 13:13:45 +08:00
ptma e7ee0c9ec1 fix(questdb): handle materialized views and unify table_type naming
* fix(questdb): handle materialized views

* fix(test): fix rust test problems
2026-06-18 11:40:57 +08:00
Libon f1b8579994 style: improve UI interface 2026-06-18 02:01:00 +08:00
t8y2 4aa907d8b5 fix: handle legacy gbase driver_profile and add MCP driver_profile param 2026-06-18 01:45:33 +08:00
t8y2 c4c427fb67 fix: sort tables by FK dependency in transfer and export 2026-06-18 00:00:37 +08:00
t8y2 22b8ba17bb fix(schema): handle view DDL object types 2026-06-17 19:29:24 +08:00
林剑凛 9bc19cf3b0 fix: apply editor font to document preview 2026-06-17 17:39:38 +08:00
t8y2 6e7035823a fix(editor): use editor snapshot for SQL execution 2026-06-17 15:30:31 +08:00
t8y2 4dbd1c7cc8 fix: convert source to editable form when opening view/procedure editor 2026-06-17 15:20:21 +08:00
dalew 4888e637c7 fix(redis): unify aggregated INFO output format in console
* fix(redis):format INFO output as plain text in cluster mode

* fix(redis): unify aggregated INFO output format in console
2026-06-17 14:54:51 +08:00
Spencer.Chang 598b5dfef8 feat: add query editor view data context action 2026-06-17 14:42:15 +08:00
Spencer.Chang a68e8c680f feat: add data grid condition history controls 2026-06-17 12:08:10 +08:00
dalew 8486d27cb2 fix(redis): unify INFO category command output in cluster mode
* fix(redis):format INFO output as plain text in cluster mode

* fix(redis): unify INFO category command output in cluster mode

In Redis cluster mode, the INFO command (with category parameters) returns aggregated results from multiple primaries. This fix formats the output as human-readable plain text, consistent with standalone mode, to improve readability.

Closes #1326
2026-06-17 11:20:07 +08:00
miracle b2617039fa fix(mysql): normalize smart quotes in JSON input
* fix(grid): normalize smart quotes in JSON input to prevent parse errors

When manually typing JSON values in the data grid, input methods (especially
Chinese IME and macOS smart punctuation) can automatically convert standard
ASCII quotes to smart quotes (U+201C, U+201D, etc.), causing JSON parse failures.

Changes:
- Remove incorrect logic that tried to parse original value before normalization
- Add hasSmartQuotes() function to detect 7 types of smart quotes:
  * Chinese quotes: U+201C, U+201D
  * German quotes: U+201E, U+201F
  * Smart single quotes: U+2018, U+2019
  * Fullwidth quote: U+FF02
- Rewrite normalizeSmartQuotes() using charCodeAt to avoid oxc compiler issues
- Add comprehensive tests for MySQL JSON field quote normalization

All existing tests remain passing.

* fix(grid): preserve valid JSON while normalizing smart quotes
2026-06-17 10:33:10 +08:00
t8y2 a052bcd2cd fix(jdbc): pass through JDBC identifiers unquoted in frontend 2026-06-17 01:40:06 +08:00
haipengno1 3695042c8e fix(redis): invalidate key completion cache after write commands
The Redis key-name completion cache was only cleared on connection
lifecycle events, so SET/DEL/EXPIRE/... left autocomplete showing
stale keys. Drop the cache for the db each write command ran on:
- add isRedisMutatingCommand() based on the command-table safety field
(confirm = write; destructive blocked cmds minus read-only/admin ones)
- invalidate after each mutating command in queryStore batch execution
and in RedisKeyBrowser.runRedisCommand
2026-06-17 00:24:47 +08:00
dbin0123andt8y2 bc91fbdfa1 fix(generate): 确保保存/加载配置覆盖所有生成器参数,并修复参数被意外清空的问题
* feat: highlight selected SQL matches

* fix(core): detect column extra changes (auto_increment, on_update) in table structure SQL generation

- Add has_column_extra_change check to build_column_sql skip condition
- Add is_column_extra_empty to handle None/Some(false)/empty ColumnExtra
- Fix false positives when extra is parsed but no effective change

* feat(generate): fix date range persistence, add i18n for data generation

* fix:Remove invalid references

* fix(generate): ensure config save/load covers all generator params

- Remove auto-reset watch in GeneratorParamsPanel that cleared params
  when loading a profile with different generatorKey
- Extend defaultGeneratorParams() to provide explicit defaults for all
  35+ generators (full_name, phone, email, barcode, url, file_path,
  foreign_key, image, regex, product_name, etc.) so profiles persist
  and restore correctly through JSON serialize/deserialize round-trip

---------

Co-authored-by: t8y2 <1156263951@qq.com>
2026-06-17 00:21:35 +08:00
t8y2 6efdd335ed fix(mongo): preserve int64 precision in document filter parsing 2026-06-16 22:38:37 +08:00
haipengno1 1e96937455 feat(redis): add Redis command completion to query editor
- add completion module: command names, two-stage subcommands, and key names
- key-name completion is async with a per-db cache capped at 1000 entries, cleared on disconnect
- gate key completion by argument position: stop after a single-key command is filled, keep suggesting for variadic key-list commands
- reuse the diagnostics command table as the data source, showing group/arity/safety
2026-06-16 22:03:48 +08:00
miracleandt8y2 2a59d3143e feat(mq): implement Apache Pulsar message queue admin
* feat(mq): implement Apache Pulsar message queue admin

- Add complete MQ admin adapter layer with version detection
  * Pulsar adapter with multi-version API support
  * OAuth2 token caching and authentication
  * JWT token signing for Pulsar clients
  * Transport layer (SSH/Proxy) integration

- Implement comprehensive admin operations
  * Tenant, namespace, topic management
  * Subscription and consumer/producer monitoring
  * Rate limits, backlog quotas, retention policies
  * Permissions and role-based access control
  * Raw admin API for advanced operations

- Add desktop UI components
  * MQ admin console with tabbed interface
  * Tenant, namespace, topic panels
  * Subscription management and cursor operations
  * Monitoring panel with stats visualization
  * Policy configuration UI

- Add web routes for MQ admin operations
- Add secret store support for MQ auth credentials
- Add comprehensive test coverage

* fix: del local test files

* fix(mq): mark message queue as unsupported mcpMode in driver manifest

MQ admin connections do not use the MCP query bridge - they use a
separate REST admin API. Mark mcpMode as 'unsupported' to align with
the test expectations and reflect the actual architecture.

Fixes CI test: driver-manifest.test.ts

* fix(mq): fix TypeScript errors in MQ components

- Fix typo in SubscriptionsPanel.vue: messagformatError(e)Id -> message.messageId
- Use formatError() helper in RawApiPanel.vue instead of accessing e?.message
- Fix undefined 'tab' reference in ConnectionTree.vue: use config.db_type instead

Fixes frontend CI TypeScript check errors.

* fix(mcp): add 'mq' to MCP server connection type description

The MCP server's connection type description must include all database
types from the driver manifest. Add 'mq' to the list to fix the test:
'add connection database type description includes every manifest database type'

Fixes: packages/mcp-server/tests/driver-manifest.test.ts

* fix(mq): add missing ConnectionConfig fields for Rust compilation

- Add gbase_server and keepalive_interval_secs fields to all ConnectionConfig
  test constructors in mq/config.rs, mq/service.rs, and storage.rs
- Import uses_bare_mysql_pool in connection.rs tests module

Fixes compilation errors from upstream ConnectionConfig changes.

* chore(ui): simplify Pulsar icon to logo-only version

Remove text from Pulsar icon (127x30 -> 35x30), keeping only
the wave logo symbol for a cleaner, more consistent appearance
with other database icons.

* fix(mq): return removed pools from drain_connection_pools

---------

Co-authored-by: t8y2 <1156263951@qq.com>
2026-06-16 21:57:17 +08:00