-
Notifications
You must be signed in to change notification settings - Fork 69
Open
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution PlanintermediateSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plan
Description
此 ISSUE 为 隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)Phase 5 任务 ISSUE,欢迎社区开发者参与共建~
- 认领前,辛苦确认是否完成报名~
- 详细规则:「代码季」详细活动说明
- 更多任务,可查看 「OSCP Phase5 Season of Dev」Project
This ISSUE is one of the tasks of the SecretFlow Open Source Contribution Plan (referred to as SF OSCP) Phase 5. Welcome to join us in building it together!
- Before claiming a task, please make sure you have signed up.
- Activity rules: Detailed activity description of "Season of Dev"
- For more tasks, you can check the "OSCP Phase5 Season of Dev" Project.
任务介绍
- 任务名称:SCDB 支持 explain statement
- 技术方向:SCQL
- 任务难度:进阶🌟🌟
- 任务预估完成时间:4周
- 任务 Reviewer:@tongke6
详细要求
参照 MySQL 的 explain statement 和 Broker explain query 的实现,为 SCDB 增加执行 explain statement 的能力,通过 explain statement,可以查看 query 实际执行的执行图,以 graphviz dot 表示返回。
- 开发要求:请添加必要的单元测试和集成测试,并在 SCDB 模式下验证效果
- 代码规范:GO语言规范可参考:https://github.com/uber-go/guide/blob/master/style.md 整体和现有代码风格保持一致
- 提交说明:开发完成后,关联该 ISSUE 并提交代码至 https://github.com/secretflow/scql
能力要求
- 了解基本 git 操作,熟练使用 Go 语言
- 熟悉基本的 SQL 用法
- 熟悉 SCQL 的基本工作流程和代码结构
操作说明
- Broker explain query 接口定义:https://github.com/secretflow/scql/blob/main/api/broker.proto#L68
- 相关代码逻辑:https://github.com/secretflow/scql/blob/main/pkg/broker/services/intra/query_handler.go#L319
- 建议1:可先参考手册体验 P2P 模式,并尝试 explain query:https://www.secretflow.org.cn/zh-CN/docs/scql/main/intro/p2p-tutorial
- 建议2:可考虑复用SCDB API 中的 SubmitAndGet 接口,通过增加额外参数实现对 explain statement 的支持。
Metadata
Metadata
Assignees
Labels
OSCPSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution PlanintermediateSecretFlow Open Source Contribution PlanSecretFlow Open Source Contribution Plan
Type
Projects
Status
In Review