Meituan-Dianping / Meituan-Dianping/SQLAdvisor
Segmentation fault
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 5.6k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
[root@qk-yunwei sqladvisor]# ./sqladvisor -h 192.168.1.XX -P 3306 -u XXX-p 'XXX' -d qk_auth -q "select af.* from auth_function af inner join auth_function_permission afp on af.id = afp.function_id where af.id=1;" -v 1
2017-07-28 15:44:12 1198 [Note] 2017-07-28 15:44:12 1198 [Note] 第2步:开始解析where中的条件:(af.id = 1)
2017-07-28 15:44:12 1198 [Note] show index from auth_function
2017-07-28 15:44:12 1198 [Note] show table status like 'auth_function'
2017-07-28 15:44:12 1198 [Note] select count(*) from ( select id from auth_function FORCE INDEX( PRIMARY ) order by id DESC limit 13) af where (af.id = 1)
2017-07-28 15:44:12 1198 [Note] 第3步:表auth_function的行数:27,limit行数:13,得到where条件中(af.id = 1)的选择度:13
2017-07-28 15:44:12 1198 [Note] 第4步:开始解析join on条件:af.id=afp.function_id
2017-07-28 15:44:12 1198 [Note] 第5步:开始选择驱动表,一共有2个候选驱动表
2017-07-28 15:44:12 1198 [Note] explain select * from auth_function
Segmentation fault
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported command and query against the same SQLAdvisor scenario, then inspect the path after step 5 when it runs explain select * from auth_function and crashes. The issue names no source file or test, so first locate the EXPLAIN and driver-table selection entry points. Done means the query no longer segfaults and the regression is covered by an appropriate test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100