Uploaded image for project: 'Comdev GSOC'
  1. Comdev GSOC
  2. GSOC-217

Apache ShardingSphere: Proofread the DDL/TCL SQL definitions for ShardingSphere Parser

    XMLWordPrintableJSON

Details

    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 following definitions,

      • All the DDL SQL definitions for Oracle except for ALTER, DROP, CREATE and TRUNCATE.
      • All the TCL (Transaction Control Language) SQL definitions for Oracle

      You can learn more here.

      As we have a basic Oracle SQL syntax definitions but do not keep in line with Oracle DOC, 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.

      Relevant Skills

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

      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

      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, panjuan@apache.org

      Attachments

        Activity

          People

            Unassigned Unassigned
            panjuan Juan Pan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: