mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
pdo_sqlite: identifier quoting with square brakets
This commit is contained in:
@@ -28,8 +28,8 @@ int pdo_sqlite_scanner(pdo_scanner_t *s)
|
||||
/*!re2c
|
||||
BINDCHR = [:][a-zA-Z0-9_]+;
|
||||
QUESTION = [?];
|
||||
COMMENTS = ("/*"([^*]+|[*]+[^/*])*[*]*"*/"|"--"[^\r\n]*);
|
||||
SPECIALS = [:?"'`/-];
|
||||
COMMENTS = ("/*"([^*]+|[*]+[^/*])*[*]*"*/"|"--".*);
|
||||
SPECIALS = [:?"'`/[-];
|
||||
MULTICHAR = ([:]{2,}|[?]{2,});
|
||||
ANYNOEOF = [\001-\377];
|
||||
*/
|
||||
@@ -38,6 +38,7 @@ int pdo_sqlite_scanner(pdo_scanner_t *s)
|
||||
(["]((["]["])|ANYNOEOF)*["]) { RET(PDO_PARSER_TEXT); }
|
||||
(['](([']['])|ANYNOEOF)*[']) { RET(PDO_PARSER_TEXT); }
|
||||
([`](([`][`])|ANYNOEOF)*[`]) { RET(PDO_PARSER_TEXT); }
|
||||
("["ANYNOEOF*"]") { RET(PDO_PARSER_TEXT); }
|
||||
MULTICHAR { RET(PDO_PARSER_TEXT); }
|
||||
BINDCHR { RET(PDO_PARSER_BIND); }
|
||||
QUESTION { RET(PDO_PARSER_BIND_POS); }
|
||||
|
||||
@@ -31,8 +31,10 @@ foreach ($queries as $k => $query) {
|
||||
// One parameter
|
||||
$queries = [
|
||||
"SELECT * FROM {$table} WHERE '1' = ?",
|
||||
"SELECT * FROM {$table} WHERE \"?\" IN (?, '?')",
|
||||
"SELECT * FROM {$table} WHERE \"?\" IN (?, \"?\")",
|
||||
"SELECT * FROM {$table} WHERE `a``?` = ?",
|
||||
"SELECT * FROM {$table} WHERE \"a`?\" = ?",
|
||||
"SELECT * FROM {$table} WHERE [a`?] = ?",
|
||||
];
|
||||
|
||||
foreach ($queries as $k => $query) {
|
||||
@@ -56,3 +58,5 @@ bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
||||
Reference in New Issue
Block a user