mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
a57ce052cd
This is, as the name and a comment in the header imply, an internal header which is not supposed to be used by extensions other than PDO (not even by drivers). Since there is apparently no need to include this header in the parsers of the drivers, we remove these includes, and no longer declare the header to be installed. Given that the header is only exported for a couple of weeks[1], this is not considered to be a BC break, because it's unlikely that external drivers have already been adjusted to use this header, and otherwise they can still be fixed; PHP 8.4 is still in the pre-release stage. [1] <https://github.com/php/php-src/pull/14797> Closes GH-15688.
53 lines
2.0 KiB
C++
53 lines
2.0 KiB
C++
/*
|
|
+----------------------------------------------------------------------+
|
|
| Copyright (c) The PHP Group |
|
|
+----------------------------------------------------------------------+
|
|
| This source file is subject to version 3.01 of the PHP license, |
|
|
| that is bundled with this package in the file LICENSE, and is |
|
|
| available through the world-wide-web at the following url: |
|
|
| https://www.php.net/license/3_01.txt |
|
|
| If you did not receive a copy of the PHP license and are unable to |
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
| license@php.net so we can mail you a copy immediately. |
|
|
+----------------------------------------------------------------------+
|
|
| Author: Matteo Beccati <mbeccati@php.net> |
|
|
+----------------------------------------------------------------------+
|
|
*/
|
|
|
|
|
|
#include "php.h"
|
|
#include "ext/pdo/php_pdo_driver.h"
|
|
#include "ext/pdo/pdo_sql_parser.h"
|
|
|
|
int pdo_pgsql_scanner(pdo_scanner_t *s)
|
|
{
|
|
const char *cursor = s->cur;
|
|
|
|
s->tok = cursor;
|
|
/*!re2c
|
|
BINDCHR = [:][a-zA-Z0-9_]+;
|
|
QUESTION = [?];
|
|
ESCQUESTION = [?][?];
|
|
COMMENTS = ("/*"([^*]+|[*]+[^/*])*[*]*"*/"|"--".*);
|
|
DOLQ_START = [A-Za-z\200-\377_];
|
|
DOLQ_CONT = [A-Za-z\200-\377_0-9];
|
|
SPECIALS = [$eE:?"'/-];
|
|
MULTICHAR = [:]{2,};
|
|
ANYNOEOF = [\001-\377];
|
|
*/
|
|
|
|
/*!re2c
|
|
[eE](['](([']['])|([\\]ANYNOEOF)|ANYNOEOF\['\\])*[']) { RET(PDO_PARSER_TEXT); }
|
|
(["]((["]["])|ANYNOEOF\["])*["]) { RET(PDO_PARSER_TEXT); }
|
|
(['](([']['])|ANYNOEOF\['])*[']) { RET(PDO_PARSER_TEXT); }
|
|
[$](DOLQ_START DOLQ_CONT*)?[$] { RET(PDO_PARSER_CUSTOM_QUOTE); }
|
|
MULTICHAR { RET(PDO_PARSER_TEXT); }
|
|
ESCQUESTION { RET(PDO_PARSER_ESCAPED_QUESTION); }
|
|
BINDCHR { RET(PDO_PARSER_BIND); }
|
|
QUESTION { RET(PDO_PARSER_BIND_POS); }
|
|
SPECIALS { SKIP_ONE(PDO_PARSER_TEXT); }
|
|
COMMENTS { RET(PDO_PARSER_TEXT); }
|
|
(ANYNOEOF\SPECIALS)+ { RET(PDO_PARSER_TEXT); }
|
|
*/
|
|
}
|