phpmyadmin / phpmyadmin/sql-parser

Aliases not supported after CASE expression

Open
#162 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
PHP
Stars
485
Forks
119
PR merge metrics
No merged PRs in 30d

Description

Aliases do not work after CASE expression:

$ ./bin/lint-query --query 'select 1 name'
#1: Unrecognized keyword. (near "name" at position 9)
$ ./bin/lint-query --query 'select case  when 1 > 0 then "x" else "y" end AS name'
#1: Unrecognized keyword. (near "AS" at position 46)
#2: Unrecognized keyword. (near "name" at position 49)

See also #161 and https://github.com/phpmyadmin/phpmyadmin/issues/13541

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the two queries with ./bin/lint-query, focusing on alias handling after a CASE expression and the related simple alias example. Trace the parser entry point for SELECT expressions and verify that both queries are accepted without the reported unrecognized-keyword errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, sql
Domain
compilers, databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.