phpmyadmin / phpmyadmin/sql-parser

Condition could have more detailed fields

Aberta
#357 1 comentário 5 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

enhancement
Linguagem predominante
PHP
Estrelas
485
Forks
119
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Currently, when I parse a query, I get WHERE as Condition instances. These have an expr field, which is just a string and not very useful when analyzing a query. It would be really nice if we could be able to get more detail from that, like the operator, operands, etc.

Examples:

// c.id = 2
[
    leftOperand: ColumnReference [ column: 'id', tableAlias: 'c' ] ,
    operator: Equals []
    rightOperand: Constant [ value: 2 ]
]
// customer.address_id IS NOT NULL
[
    leftOperand: ColumnReference [ column: 'address_id', tableName: 'customer' ] ,
    operator: IsNotNull
    rightOperand: null
]

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.

Direção de pesquisa

Comece localizando as instâncias de Condition do parser e o campo expr existente. Compare os exemplos solicitados c.id = 2 e customer.address_id IS NOT NULL e, em seguida, defina quais informações estruturadas sobre o operador e o operando precisam ser expostas; o trabalho estará concluído quando as conditions fornecerem esses detalhes em vez de apenas uma string.

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

Avaliação

Stack de tecnologia
php, sql
Domínio
compilers
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
30/100

Receba novas issues na sua caixa de entrada

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