XiaoMi / soar

SQL Optimizer And Rewriter
Apache License 2.0
8.67k stars 1.32k forks source link

sql id 能做到由用户指定吗? #211

Closed bruceauyeung closed 5 years ago

bruceauyeung commented 5 years ago

Feature Description

我看到代码里面sql id 是用md5来生成的,能做成支持由用户指定吗?比如说我输入

# id:myid
select * from table1 where col1=''

则生成的报告里面,query id 为 myid

Use Case(s)

用户程序从mybatis工程中抽取了sql语句,输出了

# java-method: a.b.Class1#method1
select * from table1 where col1=''

我希望报告中的query id为 a.b.Class1#method1 这样就方便用户把报告和java 方法进行关联。

martianzhang commented 5 years ago

可以支持输入一条 SQL 告诉你它对应的 ID 是什么,然后在 Java 中可以做一个关联映射解决用户自定义的问题。

image

https://github.com/XiaoMi/soar/commit/aeb7868114fac4fecdba162d24ef36867fc0909c 增加了 ID 输出

bruceauyeung commented 5 years ago

这个方法解决不了我的场景啊,我从java工程中抽取出来的是一批sql。 ps:我已经按照我描述的那样实现了,先从sql注释中寻找id,如果没有找到再用md5生成。