Skip to content

Conversation

@BugsGuru
Copy link
Collaborator

@BugsGuru BugsGuru commented Nov 27, 2025

User description

关联的 issue

https://github.com/actiontech/sqle-ee/issues/2586

描述你的变更

  • dms支持拦截cloudbeaver非dql语句,通过sqle工单流程执行上线

确认项(pr提交后操作)

Tip

请在指定复审人之前,确认并完成以下事项,完成后✅


  • 我已完成自测
  • 我已记录完整日志方便进行诊断
  • 我已在关联的issue里补充了实现方案
  • 我已在关联的issue里补充了测试影响面
  • 我已确认了变更的兼容性,如果不兼容则在issue里标记 not_compatible
  • 我已确认了是否要更新文档,如果要更新则在issue里标记 need_update_doc

link actiontech/sqle#3173


Description

  • 新增工单执行相关字段与配置

  • 实现非DQL语句通过工单执行流程

  • 添加权限校验与执行上下文查询逻辑

  • 更新API、存储与Swagger定义支持新特性


Diagram Walkthrough

flowchart LR
  A["新增工单字段"] --> B["权限校验与上下文查询"]
  B --> C["执行非DQL工单流程"]
  C --> D["更新DBService及Swagger定义"]
Loading

File Walkthrough

Relevant files
Enhancement
18 files
cb_operation_logs.go
增加工单ID字段到操作日志                                                                                       
+1/-0     
db_service.go
添加工单执行配置标识                                                                                             
+2/-0     
cb_operation_log.go
补充操作日志中工单ID字段                                                                                       
+1/-0     
cloudbeaver.go
新增非DQL SQL工单执行流程与权限校验                                                                       
+357/-0 
cloudbeaver_ce.go
添加保存工单操作日志接口                                                                                         
+4/-0     
db_service.go
增加工单执行配置到SQL查询配置                                                                                 
+1/-0     
repo_fields.go
新增操作日志字段常量: workflow_id                                                                   
+1/-0     
db_service.go
更新DBService接口添加工单执行配置字段                                                                   
+6/-1     
db_service_sync_task.go
同步任务中增加工单执行配置字段                                                                                   
+2/-0     
convert.go
数据存储转换中添加工单执行配置字段                                                                               
+6/-0     
model.go
模型中增加工单执行配置与工单ID字段                                                                             
+2/-0     
cloudbeaver.go
添加执行上下文查询的GraphQL语句                                                                           
+23/-0   
graphql.go
补充SQL类型字段及优化审计返回                                                                                 
+2/-1     
db_service.go
更新API DB服务配置支持工单执行标识                                                                         
+1/-0     
system_variable.go
更新系统变量接口HTTP调用方式                                                                                 
+6/-1     
http.go
调整HTTP请求函数支持自定义Content-Type                                                           
+15/-9   
swagger.json
更新Swagger定义增加工单相关字段                                                                           
+26/-2   
swagger.yaml
同步更新Swagger yaml增加工单执行相关字段                                                             
+20/-2   

@actiontech-bot actiontech-bot requested review from LordofAvernus and removed request for LordofAvernus November 27, 2025 10:23
@github-actions
Copy link

github-actions bot commented Nov 27, 2025

PR Reviewer Guide 🔍

(Review updated until commit cf1d6d8)

⏱️ Estimated effort to review: 4 🔵🔵🔵🔵⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

数据结构一致性

新增的字段 WorkflowID 应在各模块中保持数据格式和转换逻辑一致,建议在数据存储和接口响应时统一处理,防止出现不一致情况。

WorkflowID        *string              `json:"workflow_id"`
业务逻辑审核

executeNonDQLByWorkflow 中引入了工单执行流程,建议仔细检查权限校验、错误处理及日志记录,保证各分支和异常情况均能正确响应。

if cu.shouldExecuteByWorkflow(dbService, resp.Results) {
	return cu.executeNonDQLByWorkflow(ctx, c, dbService, params, resp)
}

if err = next(c); err != nil {
	return nil, err
}
HTTP请求处理

对 GET/POST 请求进行了 JSON 序列化和 Content-Type 设置的调整,建议确认此改动不会影响现有调用流程,并确保错误信息能明确指示出现的问题。

	bodyJson, err := json.Marshal(body)
	if err != nil {
		return fmt.Errorf("marshal error: %v", err)
	}
	return Call(ctx, http.MethodGet, url, headers, "application/json", bodyJson, out)
}

@github-actions
Copy link

PR Code Suggestions ✨

No code suggestions found for the PR.

@github-actions
Copy link

Persistent review updated to latest commit cf1d6d8

@github-actions
Copy link

PR Code Suggestions ✨

No code suggestions found for the PR.

@LordofAvernus LordofAvernus merged commit 251eca5 into main Nov 28, 2025
1 check passed
@LordofAvernus LordofAvernus deleted the exec-by-workflow-ce branch November 28, 2025 05:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants