mini\Parsing\SQL\SqlLexer
class
Documentation
SQL Lexer - Tokenizes SQL strings
Uses a single combined regex with named groups for fast tokenization. Patterns are ordered long-to-short to ensure correct matching.
Constants (97)
| Name | Value |
|---|---|
T_SELECT |
'SELECT' |
T_INSERT |
'INSERT' |
T_REPLACE |
'REPLACE' |
T_UPDATE |
'UPDATE' |
T_DELETE |
'DELETE' |
T_FROM |
'FROM' |
T_INTO |
'INTO' |
T_VALUES |
'VALUES' |
T_SET |
'SET' |
T_WHERE |
'WHERE' |
T_AND |
'AND' |
T_OR |
'OR' |
T_IN |
'IN' |
T_ORDER |
'ORDER' |
T_BY |
'BY' |
T_LIMIT |
'LIMIT' |
T_OFFSET |
'OFFSET' |
T_AS |
'AS' |
T_ASC |
'ASC' |
T_DESC |
'DESC' |
T_NOT |
'NOT' |
T_IS |
'IS' |
T_NULL |
'NULL' |
T_TRUE |
'TRUE' |
T_FALSE |
'FALSE' |
T_LIKE |
'LIKE' |
T_JOIN |
'JOIN' |
T_LEFT |
'LEFT' |
T_RIGHT |
'RIGHT' |
T_INNER |
'INNER' |
T_OUTER |
'OUTER' |
T_FULL |
'FULL' |
T_CROSS |
'CROSS' |
T_ON |
'ON' |
T_DISTINCT |
'DISTINCT' |
T_GROUP |
'GROUP' |
T_HAVING |
'HAVING' |
T_BETWEEN |
'BETWEEN' |
T_EXISTS |
'EXISTS' |
T_UNION |
'UNION' |
T_INTERSECT |
'INTERSECT' |
T_EXCEPT |
'EXCEPT' |
T_ALL |
'ALL' |
T_ANY |
'ANY' |
T_SOME |
'SOME' |
T_CASE |
'CASE' |
T_WHEN |
'WHEN' |
T_THEN |
'THEN' |
T_ELSE |
'ELSE' |
T_END |
'END' |
T_OVER |
'OVER' |
T_PARTITION |
'PARTITION' |
T_WITH |
'WITH' |
T_RECURSIVE |
'RECURSIVE' |
T_CURRENT_DATE |
'CURRENT_DATE' |
T_CURRENT_TIME |
'CURRENT_TIME' |
T_CURRENT_TIMESTAMP |
'CURRENT_TIMESTAMP' |
T_FETCH |
'FETCH' |
T_FIRST |
'FIRST' |
T_NEXT |
'NEXT' |
T_ROWS |
'ROWS' |
T_ROW |
'ROW' |
T_ONLY |
'ONLY' |
T_CREATE |
'CREATE' |
T_DROP |
'DROP' |
T_ALTER |
'ALTER' |
T_TABLE |
'TABLE' |
T_INDEX |
'INDEX' |
T_VIEW |
'VIEW' |
T_IF |
'IF' |
T_PRIMARY |
'PRIMARY' |
T_KEY |
'KEY' |
T_UNIQUE |
'UNIQUE' |
T_FOREIGN |
'FOREIGN' |
T_REFERENCES |
'REFERENCES' |
T_CONSTRAINT |
'CONSTRAINT' |
T_DEFAULT |
'DEFAULT' |
T_AUTOINCREMENT |
'AUTOINCREMENT' |
T_CHECK |
'CHECK' |
T_CASCADE |
'CASCADE' |
T_RESTRICT |
'RESTRICT' |
T_ACTION |
'ACTION' |
T_NO |
'NO' |
T_TEMPORARY |
'TEMPORARY' |
T_TEMP |
'TEMP' |
T_IDENTIFIER |
'IDENTIFIER' |
T_STRING |
'STRING' |
T_NUMBER |
'NUMBER' |
T_PLACEHOLDER |
'PLACEHOLDER' |
T_COMMA |
'COMMA' |
T_DOT |
'DOT' |
T_STAR |
'STAR' |
T_LPAREN |
'LPAREN' |
T_RPAREN |
'RPAREN' |
T_OP |
'OPERATOR' |
T_EOF |
'EOF' |
KEYWORDS |
array (
'SELECT' => 'SELECT',
'INSERT' => 'INSERT',
'REPLACE' => 'REPLACE',
'UPDATE' => 'UPDATE',
'DELETE' => 'DELETE',
'FROM' => 'FROM',
'INTO' => 'INTO',
'VALUES' => 'VALUES',
'SET' => 'SET',
'WHERE' => 'WHERE',
'AND' => 'AND',
'OR' => 'OR',
'IN' => 'IN',
'ORDER' => 'ORDER',
'BY' => 'BY',
'LIMIT' => 'LIMIT',
'OFFSET' => 'OFFSET',
'AS' => 'AS',
'ASC' => 'ASC',
'DESC' => 'DESC',
'NOT' => 'NOT',
'IS' => 'IS',
'NULL' => 'NULL',
'TRUE' => 'TRUE',
'FALSE' => 'FALSE',
'LIKE' => 'LIKE',
'JOIN' => 'JOIN',
'LEFT' => 'LEFT',
'RIGHT' => 'RIGHT',
'INNER' => 'INNER',
'OUTER' => 'OUTER',
'FULL' => 'FULL',
'CROSS' => 'CROSS',
'ON' => 'ON',
'DISTINCT' => 'DISTINCT',
'GROUP' => 'GROUP',
'HAVING' => 'HAVING',
'BETWEEN' => 'BETWEEN',
'EXISTS' => 'EXISTS',
'UNION' => 'UNION',
'INTERSECT' => 'INTERSECT',
'EXCEPT' => 'EXCEPT',
'ALL' => 'ALL',
'ANY' => 'ANY',
'SOME' => 'SOME',
'CASE' => 'CASE',
'WHEN' => 'WHEN',
'THEN' => 'THEN',
'ELSE' => 'ELSE',
'END' => 'END',
'OVER' => 'OVER',
'PARTITION' => 'PARTITION',
'WITH' => 'WITH',
'RECURSIVE' => 'RECURSIVE',
'CURRENT_DATE' => 'CURRENT_DATE',
'CURRENT_TIME' => 'CURRENT_TIME',
'CURRENT_TIMESTAMP' => 'CURRENT_TIMESTAMP',
'FETCH' => 'FETCH',
'FIRST' => 'FIRST',
'NEXT' => 'NEXT',
'ROWS' => 'ROWS',
'ROW' => 'ROW',
'ONLY' => 'ONLY',
'CREATE' => 'CREATE',
'DROP' => 'DROP',
'ALTER' => 'ALTER',
'TABLE' => 'TABLE',
'INDEX' => 'INDEX',
'VIEW' => 'VIEW',
'IF' => 'IF',
'PRIMARY' => 'PRIMARY',
'KEY' => 'KEY',
'UNIQUE' => 'UNIQUE',
'FOREIGN' => 'FOREIGN',
'REFERENCES' => 'REFERENCES',
'CONSTRAINT' => 'CONSTRAINT',
'DEFAULT' => 'DEFAULT',
'AUTOINCREMENT' => 'AUTOINCREMENT',
'CHECK' => 'CHECK',
'CASCADE' => 'CASCADE',
'RESTRICT' => 'RESTRICT',
'ACTION' => 'ACTION',
'NO' => 'NO',
'TEMPORARY' => 'TEMPORARY',
'TEMP' => 'TEMP',
) |
Properties (2)
private
static
string $pattern
Combined regex pattern built once at class load time.
private
string $sql
Methods (3)
Documentation missing
Documentation missing
Tokenize SQL string into array of tokens