You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@community.apache.org by "Juan Pan (Jira)" <ji...@apache.org> on 2022/04/06 07:47:00 UTC
[jira] [Commented] (COMDEV-438) Apache ShardingSphere: Solve unsupported Postgres sql about alter statement for ShardingSphere Parser
[ https://issues.apache.org/jira/browse/COMDEV-438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17517913#comment-17517913 ]
Juan Pan commented on COMDEV-438:
---------------------------------
Hello [~Everly]
That's great that you have tried some PRs and contributed to this community! Thanks for your interest and welcome!
Would you like to try some more tasks relevant to this program? Therefore, I suppose that will be very helpful for GSoC.
Trista
> Apache ShardingSphere: Solve unsupported Postgres sql about alter statement for ShardingSphere Parser
> -----------------------------------------------------------------------------------------------------
>
> Key: COMDEV-438
> URL: https://issues.apache.org/jira/browse/COMDEV-438
> Project: Community Development
> Issue Type: Improvement
> Components: GSoC/Mentoring ideas
> Reporter: Juan Pan
> Priority: Major
> Labels: ShardingSphere, gsoc2022, mentor, part-time
>
> *Apache ShardingSphere*
> Apache ShardingSphere is positioned as a Database Plus, and aims at building a standard layer and ecosystem above heterogeneous databases. It focuses on how to reuse existing databases and their respective upper layer, rather than creating a new database. The goal is to minimize or eliminate the challenges caused by underlying databases fragmentation.
> {*}Page{*}: [https://shardingsphere.apache.org|https://shardingsphere.apache.org/]
> {*}Github{*}: [https://github.com/apache/shardingsphere]
> h3. 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/]
> h3. Task
> This issue is to solve the unsupported postgres sql about alter in [this file|https://github.com/apache/shardingsphere/blob/master/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/unsupported/unsupported.xml] . * ALTER OPERATOR
> * ALTER POLICY
> * ALTER PUBLICATION
> * ALTER ROUTINE
> * ALTER RULE
> * ALTER SCHEMA
> * ALTER SEQUENCE
> * ALTER SERVER
> * ALTER STATISTICS
> * ALTER SUBSCRIPTION
> * ALTER TABLE
> * ALTER TEXT SEARCH
> * ALTER TRIGGER
> * ALTER TYPE
> * ALTER VIEW
> You can *learn more* [here|https://www.postgresql.org/docs/current/sql-commands.html]. *
> You may need to try to get why it's not supported.(antlr4 grammar? or not implement visit method) You can use [antlr4 plugins|https://plugins.jetbrains.com/plugin/7358-antlr-v4] to help you to analyze. You may need to visit [an official doc|https://www.postgresql.org/docs/current/sql-commands.html] to check the grammar.
> *
> After you fix it, remember to add a new corresponding SQL case in [SQL Cases|https://github.com/apache/shardingsphere/tree/master/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported] and the expected parsed result in [Expected Statment XML|https://github.com/apache/shardingsphere/tree/master/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case].
> * Run [SQLParserParameterizedTest|https://github.com/apache/shardingsphere/blob/master/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java] and [UnsupportedSQLParserParameterizedTest|https://github.com/apache/shardingsphere/blob/master/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java] to make sure no exceptions.
> {*}Notice{*}, these issues can be a good example.
> [support alter foreign table for pg/og |https://github.com/apache/shardingsphere/pull/14944]
> [support alter materialized view for pg/og.|https://github.com/apache/shardingsphere/pull/15331]
> h3. Relevant Skills
> 1. Master JAVA language
> 2. Have a basic understanding of Antlr g4 file
> 3. Be familiar with Postgres SQLs
> h3. Targets files
> 1. Postgres SQLs g4 file: [https://github.com/apache/shardingsphere/blob/master/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-postgresql/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/PostgreSQLStatement.g4]
> h3. Mentor
> Trista Pan, PMC of Apache ShardingSphere, [https://tristazero.github.io|https://tristazero.github.io/]
> Zhengqiang Duan, Committer of ApacheShardingSphere, [https://github.com/strongduanmu]
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@community.apache.org
For additional commands, e-mail: dev-help@community.apache.org