phpmyadmin / phpmyadmin/sql-parser
Formatter doesn't handle CASE expressions and statements
オープン
まだ誰も着手していません。
bug
- 主要言語
- PHP
- スター
- 485
- フォーク
- 119
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Formatter doesn't handle CASE expressions and CASE statements.
Related to #272.
Examples:
CASE expression:
-- original
SELECT CASE 1
WHEN 1 THEN
'one'
WHEN 2 THEN
'two'
ELSE
'more'
END;
-- formatted
SELECT CASE
1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more'
END;
CASE statement:
-- original
CREATE PROCEDURE p()
BEGIN
DECLARE
v INT DEFAULT 1;
CASE v
WHEN 2 THEN
SELECT v;
WHEN 3 THEN
SELECT 0;
ELSE
BEGIN
END;
END CASE;
END;
-- formatted
CREATE PROCEDURE p()
BEGIN
DECLARE
v INT DEFAULT 1; CASE v WHEN 2 THEN
SELECT
v; WHEN 3 THEN
SELECT
0; ELSE
BEGIN
END
;
END CASE;
END;
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
MySQL の CASE 式と CASE 文のリファレンス、および 2 つのフォーマット例を受け入れ条件として使用します。現在の formatter の動作を関連する issue #272 と比較し、次に formatter のエントリポイントを特定して両方の形式のカバレッジを追加します。完了条件は、各例で CASE と文の句のインデントが読みやすく保たれることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- mysql, php
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100