Open iamhucong opened 5 months ago
There hasn't been any activity on this issue recently, and in order to prioritize active issues, it will be marked as stale.
I could look at this (and some of the rest of Doris issues) as part of hacktoberfest
In the meantime I will look into setting up the environment and getting master to build (it doesn't)
I can't get it to build in MacOS but in Linux it does build first try. I am trying to copy the generated .class files and this seems to be a workaround.
Feel free to assign this to me, in the meantime I am giving it a try.
Thank you, at the moment working on a PoC for a single operation to get the hang of it.
You are welcome. Feel free to ask if you have any questions at all.
No worries, I have the first PR ready, but I need to try the SQL in Apache Doris to verify it. Doris requires a AVX2 CPU and I do not have that hardware available. It asks to recompile, and after 24h of CPU time using 2 cores it still has not finished :)
CPU% MEM% VIRT RES PID USER TIME+ THR NI S R/s W/s
>271 26.9 4.94G 2.06G 1422354 root 44h9:27 20 0 S ? ? java
First PR ready and managed to compile doris (by increasing heap size)
looking at EXTRACT_URL_PARAMETER
next
No worries, I have the first PR ready, but I need to try the SQL in Apache Doris to verify it. Doris requires a AVX2 CPU and I do not have that hardware available. It asks to recompile, and after 24h of CPU time using 2 cores it still has not finished :)
Background
Hi community.\ The ShardingSphere SQL parser engine helps users to parse SQL to create the AST (Abstract Syntax Tree) and visit the AST to get SQLStatement (Java Object). Currently, we are planning to enhance the support for Doris SQL parsing in ShardingSphere.
More details: https://shardingsphere.apache.org/document/current/en/reference/sharding/parse/
Issue Background Explanation
The current issue involves using a custom web scraping script to fetch SQL cases from the official website of a corresponding database. These SQL cases are then passed to ShardingSphere's parsing engine for analysis. For SQL cases that fail to be parsed successfully, every 3 to 5 SQL cases are grouped together as an issue.
Task
This issue is to support more Doris sql parsing, as follows:
Overall Procedure
If you intend to participate in fixing this issue, please feel free to leave a comment below the issue. Community members will assign the issue accordingly.
Once you have claimed the issue, please review the syntax of the SQL on the official website of the corresponding database. Execute the SQL on the respective database to ensure the correctness of the SQL syntax.
Next, execute the problematic SQL cases mentioned above in the database (you can quickly start the corresponding database using the Docker image for that database, and then connect to it using a client you are familiar with), to ensure that the SQL syntax itself is correct.
Fixing ANTLR Grammar Parsing Issue
Once you have confirmed the correctness of the SQL syntax, you can validate and fix the grammar parsing issue in ShardingSphere.
If it is an ANTLR parsing error message, try to repair the
.g4
file by comparing it with the official database syntax until the SQL can be correctly parsed by ANTLR.When there is no error message in the ANTLR Preview window, it means that ANTLR can correctly parse the SQL.
Visitor problem fix
After ANTLR parses SQL into an abstract syntax tree, ShardingSphere will access the abstract syntax tree through Visitor and extract the required information. If you need to extract Segments, you need to first execute:
Under the shardingsphere-parser module to compile the entire parser module.\ Then rewrite the corresponding visit method in SQLStatementVisitorr as needed to extract the corresponding Segment.
Add assertion test file
After the above SQL parsing problem is repaired, the corresponding Test needs to be added. The steps are as follows:
sql-case
in thesql/supported
directory.shardingsphere-test-it-parser
module.org.apache.shardingsphere.test.it.sql.parser.internal.InternalSQLParserIT
\ After SQL Parser IT runs successfully, you can submit a PR.Relevant Skills