- Drop support for PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, PHP 7.0 and HHVM
- Enable strict mode on PHP files
- Fixed incorrect error thrown on DEFAULT keyword in ALTER statement (#218)
- Add support for aliases on CASE expressions (#162 and #192)
- Add support for INDEX hints in SELECT statement (#199)
- Add support for LOCK and UNLOCK TABLES statement (#180)
- Add detection of extraneous comma in UPDATE statement (#160)
- Add detection of a missing comma between two ALTER operations (#189)
- Add missing support for STRAIGHT_JOIN (#196)
- Add support for end options in SET statement (#190)
- Fix building of RENAME statements (#201)
- Add support for PURGE statements (#207)
- Add support for COLLATE keyword (#190)
- Fix issue with CREATE OR REPLACE VIEW.
- Fix parsing of CREATE TABLE with per field COLLATE.
- Improved Context::loadClosest to better deal with corner cases.
- Localizaton updates.
- Make mbstring extension optional (though Symfony polyfill).
- Fixed build CREATE TABLE query with PARTITIONS having ENGINE but not VALUES.
- Added support for binding parameters.
- Fixed minor bug in Query::getFlags.
- Localizaton updates.
- Initial support for MariaDB SQL contexts.
- Add support for MariaDB 10.3 INTERSECT and EXCEPT.
- Use custom LoaderException for context loading errors.
- Various code cleanups.
- Improved error handling of several invalid statements.
- Fixed parsing SQL comment at the end of query.
- Improved handing of non utf-8 strings.
- Added query flag for SET queries.
- Fixed setting combination SQL Modes.
- Fixed building query with GROUP BY clause.
- Fixed invalid lexing of queries with : in strings.
- Properly handle maximal length of delimiter.
- Fixed wrong extract of string tokens with escaped characters.
- Properly handle lowercase begin statement.
- Added suppport for DELETE ... JOIN clauses.
- Changed BufferedQuery to include comments in output.
- Fixed parsing of inline comments.
- Coding style improvements.
- Chinese localization.
- Improved order validatin for JOIN clauses.
- Improved pretty printing of JOIN clauses.
- Added support for LOAD DATA statements.
- Localization using phpmyadmin/motranslator is now optional.
- Improved testsuite.
- Better handling of non upper cased not reserved keywords.
- Minor performance and coding style improvements.
- Use phpmyadmin/motranslator to localize messages.
- Fixed CLI wrappers for new API.
- Fixed README for new API.
- Added PhpMyAdmin namespace prefix to follow PSR-4.
- Coding style fixes.
- Fixed indentation in HTML formatting.
- Fixed parsing of unterminated variables.
- Improved comments lexing.
- Coding style fixes.
- Properly handle operators AND, NOT, OR, XOR, DIV, MOD
- Fix return value of Formatter.toString() when type is text
- Fix parsing of FIELDS and LINES options in SELECT..INTO
- PHP 7.2 compatibility.
- Better parameter passing to query formatter.
- Improved parsing of UNION queries.
- Recognize BINARY function.
- Fix broken incorrect clause order detection for Joins.
- Add parsing of end options in Select statements.
- Added verification order of SELECT statement clauses.
- Fixed parsing of ON UPDATE option in field definition of TIMESTAMP type with precision
- Fixed parsing of NATURAL JOIN, CROSS JOIN and related joins.
- Fixed parsing of BEGIN/END labels.
- Fixed API regression on DELETE statement
- Added support for CASE expressions
- Support for parsing and building DELETE statement
- Support for parsing subqueries in FROM clause
- No change release to sync GitHub releases with Packagist
- Fix parsing of DEFINER without backquotes
- Fixed escaping HTML entities in HTML formatter
- Fixed escaping of control chars in CLI formatter
- Fix parsing of REPLACE INTO ...
- Fix parsing of INSERT ... ON DUPLICATE KEY UPDATE ...
- Extended testsuite
- Re-enabled PHP 5.3 support
- Fix parsing of INSERT...SELECT and INSERT...SET syntax
- Fix parsing of CREATE TABLE ... PARTITION
- Fix parsing of SET CHARACTER SET, CHARSET, NAMES
- Add Support for 'CREATE TABLE
table_copyLIKEtable
- Add support for FULL OUTER JOIN
- Fix parsing of query with \
- Recognize UNION DISTINCT
- Recognize REGEXP and RLIKE operators
- Add FULLTEXT and SPATIAL keywords
- Properly parse CREATE TABLE [AS] SELECT
- Fix parsing of table with DEFAULT and COMMENT
- Fix parsing DEFAULT value on CREATE
- Fix parsing of ALTER VIEW
- Condition: Allow keyword
INTERVAL.
- Expression: Refactored parsing options.
- Context: Added custom mode that avoids escaping when possible.
- ArrayObj: Handle more complex expressions in arrays.
- BufferedQuery: Backslashes in comments escaped characters in comments.
- Condition: Allow
IFin conditions. - Context: Add
;as operator. - Context: Updated contexts to contain
BITdata type. - CreateStatement: The
DEFAULToption may be an expression. - DescribeStatement: Added
DESCas alias forDESCRIBE. - Expression: Rewrote expression parsing.
- Misc: Added PHPUnit's Code Coverage 3.0 as a dependency.
- Misc: Added support for PHP 5.4 back.
- Misc: Removed dependency to Ctype.
- Misc: Repository transfered from @udan11 to @phpMyAdmin.
- Misc: Updated
.gitignoreto ignorecomposer.lock. - Misc: Updated Composer and Travis configuration for PHP 7 and PHPUnit 5.
- Tools: Documented tags in
ContextGenerator.
- Allow
NULLin expressions. - Downgraded PHPUnit to 4.8. Removed old PHP versions.
- Updated PHPUnit to 5.1 and fixed some of the tests.
- Added
UNION ALLas a type ofUNION. - Expressions are permitted in
SEToperations. - Added
STRAIGHT_JOINas a known type of join. - Added missing definitions for
MATCHandAGAINST. - Added missing statement (
FLUSHandDEALLOCATE).
- Expressions may begin with a function that is also a reserved keyword (e.g.
IF).
- Fixed a bug where formatter split the function name and the parameters list.
- Add GRANT as known statement.
- Use JOIN expressions for flag detection.
- Fix the order of clauses in SELECT statements involving UNIONs.
- Added dummy parsers for CREATE USER and SET PASSWORD statements.
- Accept NOT operator in conditions.
- Fixed DELIMITER statements in BufferedQuery.
- Added INSERT statement builder.
- Fix error message in
SqlParser\Components\OptionsArray.
- Avoid building a field multiple times if clause has synonyms.
- Add EXISTS as an acceptable keyword in conditions.
- Handle backslashes separately for
SqlParser\Utils\BufferedQuery. Fixes a bug where backslashes in combination with strings weren't handled properly.
Breaking changes:
SqlParser\Components\Reference::$tableis now an instance ofSqlParser\Components\Expressionto support references from other tables.
- Add definitions for all JOIN clauses.
- Properly parse options when the value of the option is '='.
- Only RANGE and LIST type partitions support VALUES.
- Added utilities for handling tokens and tokens list.
- Added missing NOT IN operator. This caused troubles when parsing conditions that contained the
NOT INoperator.
- Added support for
OUTERas an optional keyword in joins.
- Fixed a bug related to (sub)partitions options not being included in the built component. Also, the option
ENGINEwas unrecognized.
- Better parsing for CREATE TABLE statements (related to breaking change 1).
- Added support for JSON data type.
- Refactoring and minor documentation improvements.
Breaking changes:
SqlParser\Components\Key::$columnsis now an array of arrays. Each array must contain anamekey which represents the name of the column and an optionallengthkey which represents the length of the column.
- First release of this library.