shardingsphere icon indicating copy to clipboard operation
shardingsphere copied to clipboard

support parse EXPLAIN PLAN SQL

Open tuichenchuxin opened this issue 2 years ago • 2 comments

Hi community,

This issue is for #20305. ref to #6480

Background

ShardingSphere parser engine helps users parse a SQL to get the AST (Abstract Syntax Tree) and visit this tree to get SQLStatement (Java Object). At present, this parser engine can handle SQLs for MySQL, PostgreSQL, SQLServer, openGauss and Oracle, which means we have to understand different database dialect SQLs. More details: https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/

Task

This issue is to support more sql parse.

  • [ ] EXPLAIN PLAN doc

Process

  1. Compare SQL definitions in Oficial SQL Doc and ShardingSphere SQL Doc.
  2. If there is any difference in ShardingSphere SQL Doc, please correct them by referring to the Official SQL Doc.
  3. Run mvn install the current_file_module.
  4. Check whether there are any exceptions. If indeed, please fix them. (Especially xxxVisitor.class).
  5. Add new corresponding SQL case in SQL Cases and expected parsed result in Expected Statment XML.
  6. Run SQLParserParameterizedTest to make sure no exceptions.

Relevant Skills

  1. Master JAVA language
  2. Have a basic understanding of Antlr g4 file
  3. Be familiar with Oracle SQLs

tuichenchuxin avatar Aug 22 '22 08:08 tuichenchuxin

I will work on this issue. Would someone please assign it to me?

anamendes23 avatar Sep 16 '22 19:09 anamendes23

Hi @anamendes23 Welcome!

TeslaCN avatar Sep 16 '22 19:09 TeslaCN

Hello , this issue has not received a reply for several days. This issue is supposed to be closed.

github-actions[bot] avatar Oct 08 '22 16:10 github-actions[bot]

This issue has not been finished, so I will reopen it.

strongduanmu avatar Oct 09 '22 04:10 strongduanmu

I have written the ANTLR grammar, but the visitors are not autogenerating when I rebuild the project.

anamendes23 avatar Oct 10 '22 17:10 anamendes23

Hi @anamendes23, you can execute mvn clean install -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -Dmaven.test.skip=true -Prelease -T 1C on your local machine.

strongduanmu avatar Oct 11 '22 00:10 strongduanmu

There hasn't been any activity on this issue recently, and in order to prioritize active issues, it will be marked as stale.

github-actions[bot] avatar Mar 28 '24 20:03 github-actions[bot]

@strongduanmu this issue has fixed in this pr(#27228), can be marked as completed.

AbnerHuang2 avatar Jul 10 '24 09:07 AbnerHuang2

@AbnerHuang2 Thank you for your feedback, I will close this issue.

strongduanmu avatar Jul 10 '24 10:07 strongduanmu