starrocks icon indicating copy to clipboard operation
starrocks copied to clipboard

StarRocks SQL Planner Summer Camp

Open kateshaowanjou opened this issue 3 years ago • 1 comments

SQL Parser and Analyzer are important components of the new version of StarRocks Planner. We have developed a new framework for Parser and Analyzer that provides a convenient way to add new code and expand functional modules. It also does part of the pre-processing work and is a pre-requisite module for the new version of the optimizer. This is a huge project, so there remains a considerable amount of statement which hasn't been migrated. Below issues aim to support certain statements in the new framework.

How to participate?

  1. Pick an issue you are interested in, click the issue link and leave a comment under the issue to sign up (when you comment, please add an issue # as well, please see below example). One person can only choose one issue and the first person who picks the issue will be assigned.

Example: My name is Kate. I am from StarRocks and I have been working on database kernel development for 1 year. I am interested in OLAP, good at C++ programming, and have been using StarRocks for 6 months. I'd like to work on issue #123a.

  1. After the issue is assigned, you should complete the task in 14 days. If you are unable to complete it within the specified time, the task will be withdrawn and assigned to others.

  2. Participants are required to produce two pieces of content (forms including but not limited to mind maps, study notes, blogs, and tutorials) in the course of the activity, each of which should be at least 200 words.

  3. Got questions? Join our Slack channel and find channel: #sql-planner.

Required work and output

  1. Use antlr4 to complete parse statements. The generated statement must follow the original data structure, and should be compatible with the old statement.

  2. In the original syntax file sql_parser.cup, the new syntax needs to be compatible with the syntax of the old version, using the syntax file sql_parser.cup of the old version as the reference standard.

  3. Remove the logic of analyze functions in the statement and move the relevant logic to the new Analyzer framework. The new Analyzer is in the SQL/Analyzer directory.

  4. If the code related to Privilege Check exists in the original analyzer, move the code related to privilege control into PrivilegeChecker.

  5. When submitting the PR, please make sure there is unit test coverage for related changes.

Tasks

Challenging

Moderate

Easy

Before you start

  1. Read Contributing.md carefully to understand how to submit a pull request and how to configure BE and FE development environment.

  2. Sign the Contributor License Agreement before you make a pull request.

  3. To learn more about StarRocks, please refer to StarRocks documentation.

Pull request requirements

  1. Create a pull request (PR) after you complete the task.
  • PR title format: [SR SQL Planner Summer Camp] + PR title
  1. After submitting PR, you can comment under the pinned Issue [SR SQL Planner Summer Camp].
  • Comment format: "I have finished Issue #" + PR link

kateshaowanjou avatar Jun 28 '22 11:06 kateshaowanjou

7958 or 7954 @Johnsonginati

xuzifu666 avatar Jul 07 '22 01:07 xuzifu666

We have marked this issue as stale because it has been inactive for 6 months. If this issue is still relevant, removing the stale label or adding a comment will keep it active. Otherwise, we'll close it in 10 days to keep the issue queue tidy. Thank you for your contribution to StarRocks!

github-actions[bot] avatar Apr 10 '23 11:04 github-actions[bot]