[ 
https://issues.apache.org/jira/browse/COMDEV-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Juan Pan updated COMDEV-385:
----------------------------
    Description: 


### 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
Github: https://github.com/apache/shardingsphere

### 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/

### Task
This issue is to proofread the DML(SELECT/UPDATE/DELETE/INSERT) SQL definitions 
for Oracle. 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 DML(SELECT/UPDATE/DELETE/INSERT)  SQLs, 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.

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

### Targets files
1.DML 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/DMLStatement.g4
2.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

### 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

### Mentor
Juan Pan, PMC of Apache ShardingSphere, panj...@apache.org



> Apache ShardingSphere: Proofread the SQL definitions for ShardingSphere Parser
> ------------------------------------------------------------------------------
>
>                 Key: COMDEV-385
>                 URL: https://issues.apache.org/jira/browse/COMDEV-385
>             Project: Community Development
>          Issue Type: Improvement
>          Components: GSoC/Mentoring ideas
>            Reporter: Juan Pan
>            Priority: Major
>              Labels: Mentor, gsoc2021
>
> ### 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
> Github: https://github.com/apache/shardingsphere
> ### 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/
> ### Task
> This issue is to proofread the DML(SELECT/UPDATE/DELETE/INSERT) SQL 
> definitions for Oracle. 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 DML(SELECT/UPDATE/DELETE/INSERT)  SQLs, 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.
> ### Relevant Skills
> 1.Master JAVA language
> 2.Have a basic understanding of Antlr g4 file
> 3.Be familiar with Oracle SQLs
> ### Targets files
> 1.DML 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/DMLStatement.g4
> 2.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
> ### 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
> ### Mentor
> Juan Pan, PMC of Apache ShardingSphere, 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