Skip to content

Conversation

@BugsGuru
Copy link
Collaborator

@BugsGuru BugsGuru commented Dec 4, 2025

User description

关联的 issue

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

描述你的变更

工作台审核调用的直接审核接口支持在线审核

确认项(pr提交后操作)

Tip

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


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


Description

  • 添加 instance_name 参数支持在线审核

  • 扩展 DirectAuditByInstance 函数签名,传递 ruleTemplateName

  • 更新 v2 请求结构及实例校验逻辑

  • 同步更新 API 文档和 Swagger 定义


Diagram Walkthrough

flowchart LR
  A["更新 v1 API 调用"]
  B["更新 v2 API 请求逻辑"]
  C["扩展 Server 接口"]
  D["更新 API 文档与 Swagger"]
  A -- "调用更新" --> B
  B -- "触发" --> C
  C -- "文档同步" --> D
Loading

File Walkthrough

Relevant files
Enhancement
sql_audit.go
修改 v1 API 接口调用传递新参数                                                                           

sqle/api/controller/v1/sql_audit.go

  • 修改 DirectAudit 调用,传递新增 ruleTemplateName 参数
  • 调整 DirectAuditFiles 调用支持新参数
+2/-2     
sql_audit.go
更新 v2 API 请求结构和调用逻辑                                                                           

sqle/api/controller/v2/sql_audit.go

  • 为请求结构新增 instance_name、schema_name 字段
  • 添加实例校验逻辑及错误处理
  • 调整 DirectAudit 调用传递 ruleTemplateName 参数
+25/-6   
audit.go
扩展审计函数接口                                                                                                 

sqle/server/audit.go

  • 扩展 DirectAuditByInstance 函数签名,增加 ruleTemplateName 参数
  • 更新规则获取逻辑使用新参数
+2/-2     
Documentation
docs.go
更新 API 文档示例内容                                                                                       

sqle/docs/docs.go

  • 在文档中新增 instance_name 字段示例
  • 更新 v2.DirectAuditReqV2 字段描述,增加 schema_name 示例
+8/-0     
swagger.json
更新 Swagger JSON 定义                                                                             

sqle/docs/swagger.json

  • 增加 instance_name 与 schema_name 字段定义
  • 更新 rule_template_name 字段示例描述
+8/-0     
swagger.yaml
更新 Swagger YAML 定义                                                                             

sqle/docs/swagger.yaml

  • 同步更新 Swagger YAML,添加 new 字段示例
  • 调整 Swagger 定义格式说明
+6/-0     

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

PR Reviewer Guide 🔍

🎫 Ticket compliance analysis ✅

2597 - Fully compliant

Compliant requirements:

  • 修复国际化引入问题
  • 支持在线审核接口
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

参数一致性

在 DirectAudit 的新代码中,v1 版本调用 server.DirectAuditByInstance 时传入空字符串作为 ruleTemplateName,而 v2 版本传入了 req.RuleTemplateName。请确认这一行为是否符合预期,确保参数传递的一致性。

task, err = server.DirectAuditByInstance(l, sql, schemaName, instance, "")
错误处理优化

在新增查找 instance 的逻辑中,建议在返回错误前补充更详细的错误日志,以便于问题的追踪和定位。

var instance *model.Instance
if req.ProjectId != "" && req.InstanceName != nil {
	var exist bool
	instance, exist, err = dms.GetInstanceInProjectByName(c.Request().Context(), req.ProjectId, *req.InstanceName)
	if err != nil {
		return controller.JSONBaseErrorReq(c, err)
	}
	if !exist {
		return controller.JSONBaseErrorReq(c, v1.ErrInstanceNotExist)
	}
}

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
增加空字符串检测

*建议在判断条件中增加对 req.SchemaName 是否为空字符串的检查。这样可以防止当 req.SchemaName 指向空字符串时导致意料之外的行为或错误。

sqle/api/controller/v2/sql_audit.go [90-94]

-if instance != nil && req.SchemaName != nil {
+if instance != nil && req.SchemaName != nil && *req.SchemaName != "" {
 		task, err = server.DirectAuditByInstance(l, sql, *req.SchemaName, instance, req.RuleTemplateName)
 	} else {
 		task, err = server.AuditSQLByDBType(l, sql, req.InstanceType, req.ProjectId, req.RuleTemplateName)
 	}
Suggestion importance[1-10]: 7

__

Why: The suggestion adds an extra check for an empty string in *req.SchemaName, which enhances robustness. The improved code correctly reflects this change without altering surrounding logic.

Medium

@LordofAvernus LordofAvernus merged commit 253ac00 into main Dec 5, 2025
4 checks passed
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