phpmyadmin / phpmyadmin/sql-parser

SQL Editor unexpected token with numeric db suffix and table name prefix

Open
#607 0 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

Describe the bug

A numeric database suffix combined with a numeric table name prefix causes a false positive SQL editor error.

To Reproduce

Steps to reproduce the behavior:

  1. Go to any SQL Editor page
  2. Enter
    INSERT INTO foo_1.2_bar SELECT * FROM foo;
    or
    UPDATE foo_1.2_bar SET a = 1;
  3. See error

Unexpected token (near .2)

Expected behavior

Neither of these should flag as syntax errors

The bug does not affect SELECTs e.g.
SELECT * FROM foo_1.2_bar;

Screenshots

image

Server configuration
  • Operating system: el8
  • Database version: 10.11.7-MariaDB
  • PHP version: 8.3.6
  • phpMyAdmin version: 5.2.1-1
Client configuration
  • Browser: Chrome
  • Operating system: Win 10

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 from the SQL Editor page and reproduce the error with the INSERT and UPDATE examples using foo_1.2_bar. Compare those results with the working SELECT example, then trace the SQL parser's handling of these statements. Done means both non-SELECT examples no longer report an unexpected token near .2.

Written by the indexing model from the issue text.

Assessment

Tech stack
mariadb, php, sql
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.