...
Apache ShardingSphere: Solve unsupported Postgres sql about alter statement for ShardingSphere Parser
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`, `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/
Task
This issue is to solve the unsupported postgres sql about alter in this file . * 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. *
You may need to try to get why it's not supported.(antlr4 grammar? or not implement visit method) You can use antlr4 plugins to help you to analyze. You may need to visit an official doc to check the grammar.
- After you fix it, remember to add a new corresponding SQL case in SQL Cases and expected parsed result in Expected Statment XML.
- Run SQLParserParameterizedTest and UnsupportedSQLParserParameterizedTest to make sure no exceptions.
Notice, these issues can be a good example.
support alter foreign table for pg/og
support alter materialized view for pg/og.
Relevant Skills
1. Master JAVA language
2. Have a basic understanding of Antlr g4 file
3. Be familiar with Postgres SQLs
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
Mentor
Zhengqiang Duan, Committer of Apache ShardingSphere, duanzhengqiang@apache.org
Haoran Meng, PMC of Apache ShardingSphere, menghaoran@apache.org
...
ShenYu
Apache ShenYu: Improve integration test and deployment methods
Apache ShenYu (incubating)
A High-performance,multi-protocol,extensible,responsive API Gateway. Compatible with a variety of mainstream framework systems, support hot plug, users can customize the development, meet the current situation and future needs of users in a variety of scenarios, experienced the temper of large-scale scenes
Website: https://shenyu.apache.org
GitHub: https://github.com/apache/incubator-shenyu
Linked GitHub Issue: https://github.com/apache/incubator-shenyu/issues/2890
Background
- ShenYu is still vacant with helm deployment, so we need to write charts for it, and then complete the integration test.
- Shenyu already has a relatively complete integration testing framework, but some plug-ins have not been tested, and some tests are not perfect.
Task
- Write helm chart for Apache ShenYu
- Complete the integration test of deploying Apache ShenYu with helm in Kubernetes
- Documentation for helm deployment
- Complete the integration test of the Oauth2 plugin
- Improve the integration test of other existing plugin
Recommended Skills
Familiar with Java
Know the usage of spring-framework
Have some knowledge about Kubernetes and Docker
Mentor
Kunshuai Zhu, Committer of Apache ShenYu, https://github.com/JooKS-me, jooks@apache.org
...