Juan Pan created COMDEV-399:
-------------------------------

             Summary: Apache ShardingSphere: Proofread the DDL/TCL SQL 
definitions for ShardingSphere Parser
                 Key: COMDEV-399
                 URL: https://issues.apache.org/jira/browse/COMDEV-399
             Project: Community Development
          Issue Type: Improvement
          Components: GSoC/Mentoring ideas
            Reporter: Juan Pan


h3. Apache ShardingSphere

Apache ShardingSphere is a distributed database middleware ecosystem, including 
2 independent products, ShardingSphere JDBC and ShardingSphere Proxy presently. 
They all provide functions of data sharding, distributed transaction, and 
database orchestration.
 *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` and 
`Oracle`, which means we have to understand different database dialect SQLs.
 *More details*: 
[https://shardingsphere.apache.org/document/current/en/features/sharding/principle/parse/]

h3. Task

This issue is to proofread 
-All the DDL SQL definitions for Oracle *except for* ALTER, DROP, CREATE and 
TRUNCATE. 
-All the TCL (Transaction Control Language) SQL definitions for Oracle 
-ALTER SYSTEM
You can learn more 
[here|https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Types-of-SQL-Statements.html#GUID-2E008D4A-F6FD-4F34-9071-7E10419CA24D].

As we have a basic [Oracle SQL syntax 
definitions|https://github.com/apache/shardingsphere/tree/master/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle]
 but do not keep in line with [Oracle 
DOC|https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlqr/SQL-Statements.html#GUID-CE009C87-4AA6-45BF-9A0D-2B2C5FFB47B3],
 we need you to find out the vague SQL grammar definitions and correct them 
referring to Oracle DOC.

*Notice*, when you review these target SQLs above, you will find that these 
definitions will involve some basic elements of Oracle SQL. No doubt, these 
elements are included in this task as well.

h3. Relevant Skills

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

h3. Targets files

1. DDL SQLs g4 file: 
[https://github.com/apache/shardingsphere/blob/master/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/DDLStatement.g4]
2. TCL SQLs g4 file: 
[https://github.com/apache/shardingsphere/blob/master/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/TCLStatement.g4]
3. Basic elements g4 file: 
[https://github.com/apache/shardingsphere/blob/master/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/BaseRule.g4]

h3. References

1. Oracle SQL quick reference: 
[https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlqr/SQL-Statements.html#GUID-1FA35EAD-AED2-4619-BFEE-348FF05D1F4A]
2. Detailed Oracle SQL info: 
[https://docs.oracle.com/pls/topic/lookup?ctx=en/database/oracle/oracle-database/19/sqlqr&id=SQLRF008]

h3. Mentor

Juan Pan, PMC of Apache ShardingSphere, [mailto:panj...@apache.org]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@community.apache.org
For additional commands, e-mail: dev-h...@community.apache.org

Reply via email to