Repository navigation
Conversation
「事务: 自动」的查询页签会钉住第一次执行时建的会话,之后每条语句都复用同一条
物理连接。该会话 in_flight 恒大于 0,连接池的空闲回收与复用前 ping 都碰不到它,
空闲期被服务端或防火墙掐断后,页签手里就是一条死连接。而 PG/MySQL 驱动把断连包
成 Ok(SqlResult::Error { "connection closed" }),connection_lost 信号只在 Err 时
置位,于是编辑器一直复用死连接,每次执行都在几毫秒内失败。
- ConnectionManager::reconnect_session:只替换会话的物理连接,会话 id、池内位置、
close_on_release 保持不变,页签与会话状态都不必重建;死连接直接丢弃,不再等
优雅 disconnect 超时;会话记住的 schema 会在新连接上重放,不丢 issue #433 的
search_path 语义。
- GlobalDbState::execute_session:结果全是「语句发送前就已断连」且调用方允许时,
就地重连并重试一次;重连失败则原样返回第一次的真实错误。
- ExecOptions::reconnect_on_lost_connection(默认 false):只有粘性查询会话打开。
- 中途断连不重试:broken pipe / unexpected EOF / reset 无法判断语句是否已执行,
重放会造成重复写入。
- 手动事务不重试:新连接没有事务上下文,静默重跑会把语句挪到事务外。
- 结果层兜底:Ok 结果里出现连接级错误也置位 connection_lost,下次执行前重建会话。
合入 dev 做整体联调(启动验证后再决定是否合 main)
…connection 合入 dev 做整体联调(启动验证后再决定是否合 main)
合入 dev 做整体联调(启动验证后再决定是否合 main)
#447 给 ExecOptions 新增该字段后漏改 builtin-duckdb 特性下的用例, --features builtin-duckdb 编译失败(E0063)。
- 复制入口从预览/DDL 页签内容区挪到工具栏,只有这两个页签才出现,紧挨「保存」 - SQL 预览与 DDL 编辑器由 disabled 改为 readonly,用户可以直接选中片段复制 - 修正词条:Query.copy_sql/Query.sql_copied 并不存在(界面直接显示字面 key),改用新增的 Table.copy_sql / Table.sql_copied - 补回归测试:词条存在性、只读态、按钮位于保存左侧、列页签不渲染按钮
- CHANGELOG.md 新增 v0.21.0 双语发布说明(更新内容 6 条 / 修复与优化 12 条) - main/Cargo.toml 与 Cargo.lock 版本号 bump 到 0.21.0
- AI 访问策略只随连接云同步,去掉「导入导出」(导入协议无该字段) - 连接树只有「最近连接」与「未分组」分区可折叠,「分组」标题是纯标签 - 运行态 UI 字面量对齐为「运行中...」/ "Running..." - ClickHouse 扩展驱动升级为破坏性变更,标题里直接提示需先安装驱动
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
发布 v0.21.0
发布 PR:把
dev合入main,带上 v0.20.4 之后的全部改动,以及双语CHANGELOG.md条目与版本号 bump(main/Cargo.toml、Cargo.lock→0.21.0)。新增:
修复:
Ctrl+D、bracketed paste 按实时模式判断([Bug]: Bracketed paste control characters[200~leaked into terminal on Ctrl+V #198)本地校验:
script/changelog.py validate --tag v0.21.0通过,extract 往返与源 notes 完全一致cargo metadata --no-deps显示main=0.21.0(main/Cargo.toml与Cargo.lock一致)本 PR 除发布元数据外还包含
dev上尚未进main的代码改动(断连重连、表设计器复制 SQL 等),因此按全量平台矩阵跑 CI。