Formatter doesn't handle CASE expressions and statements

Aberta
#274 0 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
mysql, php
Domínio
databases

Direção de pesquisa

Use as referências da expressão CASE e da instrução CASE do MySQL, além dos dois exemplos de formatação, como casos de aceitação. Compare o comportamento atual do formatter com a issue relacionada #272, depois localize o ponto de entrada do formatter e adicione cobertura para ambas as formas; está concluído quando cada exemplo mantiver uma indentação legível das cláusulas CASE e da instrução.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug

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;
Linguagem predominante
PHP
Estrelas
485
Forks
119
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de phpmyadmin/sql-parser

Todas as issues de phpmyadmin/sql-parser

Issues semelhantes

Mais issues de PHP

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.