pax_global_header00006660000000000000000000000064136352563460014527gustar00rootroot0000000000000052 comment=fd339b2b40b7910659c842891eb36d1d15079fcb sql-parser-4.6.1/000077500000000000000000000000001363525634600136305ustar00rootroot00000000000000sql-parser-4.6.1/CHANGELOG.md000066400000000000000000000251161363525634600154460ustar00rootroot00000000000000# Change Log ## [4.6.1] - 2020-03-20 * Revert some changes with the understanding of ANSI_QUOTES mode and identifiers * Suggest motranslator 4.0 in README ## [4.6.0] - 2020-03-20 * Stop instanciating an object to check its class name. (#290) * Replace sscanf by equivalent native PHP functions because sscanf can be disabled for security reasons. (#270) * Allow phpunit 7 * Fix for php error when "INSERT INTO x SET a = 1" is "INSERT INTO x SET = 1" (#295) * Fixed lexer fails to detect "*" as a wildcard (#288) * Fixed ANSI_QUOTES support (#284) * Fixed parser mistakes with comments (#156) ## [4.5.0] - 2020-01-07 * Fix ALTER TABLE ... PRIMARY/UNIQUE KEY results in error (#267) * Prevent overwrite of offset in Limit clause by parenthesis (#275) * Allow SCHEMA to be used in CREATE Database statement (#231) * Add missing options in SET statement (#255) * Add support for DROP USER statement (#259) * Fix php error "undefined index" when replacing a non existing clause (#249) ## [4.4.0] - 2019-11-12 * Fix for PHP deprecations messages about implode for php 7.4+ (#258) * Parse CHECK keyword on table definition (#264) * Parse truncate statement (#221) * Fix wrong parsing of partitions (#265) ## [4.3.2] - 2019-06-03 * Fix redundant whitespaces in build() outputs (#228) * Fix incorrect error on DEFAULT keyword in ALTER operation (#229) * Fix incorrect outputs from Query::getClause (#233) * Add support for reading an SQL file from stdin * Fix for missing tokenize-query in Composer's vendor/bin/ directory * Fix for PHP warnings with an incomplete CASE expression (#241) * Fix for error message with multiple CALL statements (#223) * Recognize the question mark character as a parameter (#242) ## [4.3.1] - 2019-01-05 * Fixed incorrect error thrown on DEFAULT keyword in ALTER statement (#218) ## [4.3.0] - 2018-12-25 * 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) ## [4.2.5] - 2018-10-31 * Fix issue with CREATE OR REPLACE VIEW. ## [4.2.4] - 2017-12-06 * Fix parsing of CREATE TABLE with per field COLLATE. * Improved Context::loadClosest to better deal with corner cases. * Localizaton updates. ## [4.2.3] - 2017-10-10 * Make mbstring extension optional (though Symfony polyfill). * Fixed build CREATE TABLE query with PARTITIONS having ENGINE but not VALUES. ## [4.2.2] - 2017-09-28 * Added support for binding parameters. ## [4.2.1] - 2017-09-08 * Fixed minor bug in Query::getFlags. * Localizaton updates. ## [4.2.0] - 2017-08-30 * Initial support for MariaDB SQL contexts. * Add support for MariaDB 10.3 INTERSECT and EXCEPT. ## [4.1.10] - 2017-08-21 * Use custom LoaderException for context loading errors. ## [4.1.9] - 2017-07-12 * Various code cleanups. * Improved error handling of several invalid statements. ## [4.1.8] - 2017-07-09 * Fixed parsing SQL comment at the end of query. * Improved handing of non utf-8 strings. * Added query flag for SET queries. ## [4.1.7] - 2017-06-06 * Fixed setting combination SQL Modes. ## [4.1.6] - 2017-06-01 * Fixed building query with GROUP BY clause. ## [4.1.5] - 2017-05-15 * Fixed invalid lexing of queries with : in strings. * Properly handle maximal length of delimiter. ## [4.1.4] - 2017-05-05 * Fixed wrong extract of string tokens with escaped characters. * Properly handle lowercase begin statement. ## [4.1.3] - 2017-04-06 * Added support for DELETE ... JOIN clauses. * Changed BufferedQuery to include comments in output. * Fixed parsing of inline comments. ## [4.1.2] - 2017-02-20 * Coding style improvements. * Chinese localization. * Improved order validatin for JOIN clauses. * Improved pretty printing of JOIN clauses. * Added support for LOAD DATA statements. ## [4.1.1] - 2017-02-07 * Localization using phpmyadmin/motranslator is now optional. * Improved testsuite. * Better handling of non upper cased not reserved keywords. * Minor performance and coding style improvements. ## [4.1.0] - 2017-01-23 * Use phpmyadmin/motranslator to localize messages. ## [4.0.1] - 2017-01-23 * Fixed CLI wrappers for new API. * Fixed README for new API. ## [4.0.0] - 2017-01-23 * Added PhpMyAdmin namespace prefix to follow PSR-4. ## [3.4.17] - 2017-01-20 * Coding style fixes. * Fixed indentation in HTML formatting. * Fixed parsing of unterminated variables. * Improved comments lexing. ## [3.4.16] - 2017-01-06 * Coding style fixes. * Properly handle operators AND, NOT, OR, XOR, DIV, MOD ## [3.4.15] - 2017-01-02 * 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. ## [3.4.14] - 2016-11-30 * Improved parsing of UNION queries. * Recognize BINARY function. ## [3.4.13] - 2016-11-15 * Fix broken incorrect clause order detection for Joins. * Add parsing of end options in Select statements. ## [3.4.12] - 2016-11-09 * Added verification order of SELECT statement clauses. ## [3.4.11] - 2016-10-25 * 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. ## [3.4.10] - 2016-10-03 * Fixed API regression on DELETE statement ## [3.4.9] - 2016-10-03 * Added support for CASE expressions * Support for parsing and building DELETE statement * Support for parsing subqueries in FROM clause ## [3.4.8] - 2016-09-22 * No change release to sync GitHub releases with Packagist ## [3.4.7] - 2016-09-20 * Fix parsing of DEFINER without backquotes * Fixed escaping HTML entities in HTML formatter * Fixed escaping of control chars in CLI formatter ## [3.4.6] - 2016-09-13 * Fix parsing of REPLACE INTO ... * Fix parsing of INSERT ... ON DUPLICATE KEY UPDATE ... * Extended testsuite * Re-enabled PHP 5.3 support ## [3.4.5] - 2016-09-13 * 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_copy` LIKE `table` ## [3.4.4] - 2016-04-26 * Add support for FULL OUTER JOIN ## [3.4.3] - 2016-04-19 * Fix parsing of query with \ ## [3.4.2] - 2016-04-07 * Recognize UNION DISTINCT * Recognize REGEXP and RLIKE operators ## [3.4.1] - 2016-04-06 * Add FULLTEXT and SPATIAL keywords * Properly parse CREATE TABLE [AS] SELECT * Fix parsing of table with DEFAULT and COMMENT ## [3.4.0] - 2016-02-23 * Fix parsing DEFAULT value on CREATE * Fix parsing of ALTER VIEW ## [3.3.1] - 2016-02-12 * Condition: Allow keyword `INTERVAL`. ## [3.3.0] - 2016-02-12 * Expression: Refactored parsing options. ## [3.2.0] - 2016-02-11 * Context: Added custom mode that avoids escaping when possible. ## [3.1.0] - 2016-02-10 * ArrayObj: Handle more complex expressions in arrays. * BufferedQuery: Backslashes in comments escaped characters in comments. * Condition: Allow `IF` in conditions. * Context: Add `;` as operator. * Context: Updated contexts to contain `BIT` data type. * CreateStatement: The `DEFAULT` option may be an expression. * DescribeStatement: Added `DESC` as alias for `DESCRIBE`. * 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 transferred from @udan11 to @phpMyAdmin. * Misc: Updated `.gitignore` to ignore `composer.lock`. * Misc: Updated Composer and Travis configuration for PHP 7 and PHPUnit 5. * Tools: Documented tags in `ContextGenerator`. ## [3.0.8] - 2015-12-18 * Allow `NULL` in expressions. * Downgraded PHPUnit to 4.8. Removed old PHP versions. * Updated PHPUnit to 5.1 and fixed some of the tests. * Added `UNION ALL` as a type of `UNION`. * Expressions are permitted in `SET` operations. * Added `STRAIGHT_JOIN` as a known type of join. * Added missing definitions for `MATCH` and `AGAINST`. * Added missing statement (`FLUSH` and `DEALLOCATE`). ## [3.0.7] - 2015-11-12 * Expressions may begin with a function that is also a reserved keyword (e.g. `IF`). ## [3.0.6] - 2015-11-12 * Fixed a bug where formatter split the function name and the parameters list. ## [3.0.5] - 2015-11-08 * 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. ## [3.0.4] - 2015-10-21 * Fix error message in `SqlParser\Components\OptionsArray`. ## [3.0.3] - 2015-10-10 * Avoid building a field multiple times if clause has synonyms. ## [3.0.2] - 2015-10-10 * Add EXISTS as an acceptable keyword in conditions. ## [3.0.1] - 2015-10-06 * Handle backslashes separately for `SqlParser\Utils\BufferedQuery`. Fixes a bug where backslashes in combination with strings weren't handled properly. ## [3.0.0] - 2015-10-02 __Breaking changes:__ * `SqlParser\Components\Reference::$table` is now an instance of `SqlParser\Components\Expression` to support references from other tables. ## [2.1.3] - 2015-10-02 * Add definitions for all JOIN clauses. ## [2.1.2] - 2015-10-02 * Properly parse options when the value of the option is '='. ## [2.1.1] - 2015-09-30 * Only RANGE and LIST type partitions support VALUES. ## [2.1.0] - 2015-09-30 * Added utilities for handling tokens and tokens list. ## [2.0.3] - 2015-09-30 * Added missing NOT IN operator. This caused troubles when parsing conditions that contained the `NOT IN` operator. ## [2.0.2] - 2015-09-30 * Added support for `OUTER` as an optional keyword in joins. ## [2.0.1] - 2015-09-30 * Fixed a bug related to (sub)partitions options not being included in the built component. Also, the option `ENGINE` was unrecognized. ## [2.0.0] - 2015-09-25 * 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::$columns` is now an array of arrays. Each array must contain a `name` key which represents the name of the column and an optional `length` key which represents the length of the column. ## [1.0.0] - 2015-08-20 * First release of this library. sql-parser-4.6.1/CODE_OF_CONDUCT.md000066400000000000000000000064271363525634600164400ustar00rootroot00000000000000# Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at info@phpmyadmin.net. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq sql-parser-4.6.1/CONTRIBUTING.md000066400000000000000000000022031363525634600160560ustar00rootroot00000000000000# Contributing to SQL Parser ## Reporting issues Our issue tracker is hosted at GitHub: https://github.com/phpmyadmin/sql-parser/issues Please search for existing issues before reporting new ones. ## Working with Git checkout The dependencies are managed by Composer, to get them all installed (or update on consequent runs) do: ``` composer update ``` ## Submitting patches Please submit your patches using GitHub pull requests, this allows us to review them and to run automated tests on the code. ## Coding standards We do follow PSR-1 and PSR-2 coding standards. You can use phpcbf to fix the code to match our expectations: ``` ./vendor/bin/phpcbf ``` ## Testsuite Our code comes with quite comprehensive testsuite, it is automatically executed on every commit and pull request, you can also run it locally: ``` ./vendor/bin/phpunit ``` The testsuite relies on fixtures of parser states, in case you need to regenerate some of these there are helper scripts in tools directory: ``` # Remove file you want to regenerate rm tests/data/parser/parse.out # Run the generator located in the tools directory ./tools/run_generators.sh ``` sql-parser-4.6.1/LICENSE.txt000066400000000000000000000432541363525634600154630ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. sql-parser-4.6.1/README.md000066400000000000000000000074061363525634600151160ustar00rootroot00000000000000# SQL Parser A validating SQL lexer and parser with a focus on MySQL dialect. ## Code status [![Build Status](https://travis-ci.org/phpmyadmin/sql-parser.svg?branch=QA)](https://travis-ci.org/phpmyadmin/sql-parser) [![Code Coverage](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/?branch=QA) [![codecov.io](https://codecov.io/github/phpmyadmin/sql-parser/coverage.svg?branch=QA)](https://codecov.io/github/phpmyadmin/sql-parser?branch=QA) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/?branch=QA) [![Translation status](https://hosted.weblate.org/widgets/phpmyadmin/-/svg-badge.svg)](https://hosted.weblate.org/engage/phpmyadmin/?utm_source=widget) [![Packagist](https://img.shields.io/packagist/dt/phpmyadmin/sql-parser.svg)](https://packagist.org/packages/phpmyadmin/sql-parser) [![Open Source Helpers](https://www.codetriage.com/phpmyadmin/sql-parser/badges/users.svg)](https://www.codetriage.com/phpmyadmin/sql-parser) ## Installation Please use [Composer][1] to install: ``` composer require phpmyadmin/sql-parser ``` ## Documentation The API documentation is available at . ## Usage ### Command line utilities Command line utility to syntax highlight SQL query: ```sh ./vendor/bin/highlight-query --query "SELECT 1" ``` Command line utility to lint SQL query: ```sh ./vendor/bin/lint-query --query "SELECT 1" ``` Command line utility to tokenize SQL query: ```sh ./vendor/bin/tokenize-query --query "SELECT 1" ``` All commands are able to parse input from stdin (standard in), such as: ```sh echo "SELECT 1" | ./vendor/bin/highlight-query cat example.sql | ./vendor/bin/lint-query ``` ### Formatting SQL query ```php echo PhpMyAdmin\SqlParser\Utils\Formatter::format($query, array('type' => 'html')); ``` ### Discoverying query type ```php use PhpMyAdmin\SqlParser\Parser; use PhpMyAdmin\SqlParser\Utils\Query; $query = 'OPTIMIZE TABLE tbl'; $parser = new Parser($query); $flags = Query::getFlags($parser->statements[0]); echo $flags['querytype']; ``` ### Parsing and building SQL query ```php require __DIR__ . '/vendor/autoload.php'; $query1 = "select * from a"; $parser = new PhpMyAdmin\SqlParser\Parser($query1); // inspect query var_dump($parser->statements[0]); // outputs object(PhpMyAdmin\SqlParser\Statements\SelectStatement) // modify query by replacing table a with table b $table2 = new \PhpMyAdmin\SqlParser\Components\Expression("", "b", "", ""); $parser->statements[0]->from[0] = $table2; // build query again from an array of object(PhpMyAdmin\SqlParser\Statements\SelectStatement) to a string $statement = $parser->statements[0]; $query2 = $statement->build(); var_dump($query2); // outputs string(19) "SELECT * FROM `b` " // Change SQL mode PhpMyAdmin\SqlParser\Context::setMode('ANSI_QUOTES'); // build the query again using different quotes $query2 = $statement->build(); var_dump($query2); // outputs string(19) "SELECT * FROM "b" " ``` ## Localization You can localize error messages installing `phpmyadmin/motranslator` version `4.0` or newer: ```sh composer require phpmyadmin/motranslator:^4.0 ``` The locale is automatically detected from your environment, you can also set a different locale **From cli**: ```sh LC_ALL=pl ./vendor/bin/lint-query --query "SELECT 1" ``` **From php**: ```php require __DIR__ . '/vendor/autoload.php'; $GLOBALS['lang'] = 'pl'; $query1 = "select * from a"; $parser = new PhpMyAdmin\SqlParser\Parser($query1); ``` ## More information This library was originally created during the Google Summer of Code 2015 and has been used by phpMyAdmin since version 4.5. [1]:https://getcomposer.org/ sql-parser-4.6.1/bin/000077500000000000000000000000001363525634600144005ustar00rootroot00000000000000sql-parser-4.6.1/bin/highlight-query000077500000000000000000000012321363525634600174360ustar00rootroot00000000000000#!/usr/bin/env php runHighlight()); sql-parser-4.6.1/bin/lint-query000077500000000000000000000012261363525634600164400ustar00rootroot00000000000000#!/usr/bin/env php runLint()); sql-parser-4.6.1/bin/tokenize-query000077500000000000000000000012311363525634600173160ustar00rootroot00000000000000#!/usr/bin/env php runTokenize()); sql-parser-4.6.1/composer.json000066400000000000000000000026741363525634600163630ustar00rootroot00000000000000{ "name": "phpmyadmin/sql-parser", "description": "A validating SQL lexer and parser with a focus on MySQL dialect.", "license": "GPL-2.0-or-later", "keywords": ["sql", "lexer", "parser", "analysis"], "homepage": "https://github.com/phpmyadmin/sql-parser", "authors": [ { "name": "The phpMyAdmin Team", "email": "developers@phpmyadmin.net", "homepage": "https://www.phpmyadmin.net/team/" } ], "support": { "issues": "https://github.com/phpmyadmin/sql-parser/issues", "source": "https://github.com/phpmyadmin/sql-parser" }, "require": { "php": ">=5.3.0", "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { "sami/sami": "^4.0", "phpunit/php-code-coverage": "*", "phpunit/phpunit": "~4.8 || ~5.7 || ~6.5 || ^7.0", "squizlabs/php_codesniffer": "~2.9 || ~3.4" }, "conflict": { "phpmyadmin/motranslator": "<3.0" }, "suggest": { "ext-mbstring": "For best performance", "phpmyadmin/motranslator": "Translate messages to your favorite locale" }, "bin": [ "bin/highlight-query", "bin/lint-query", "bin/tokenize-query" ], "autoload": { "psr-4": { "PhpMyAdmin\\SqlParser\\": "src" } }, "autoload-dev": { "psr-4": { "PhpMyAdmin\\SqlParser\\Tests\\": "tests" } } } sql-parser-4.6.1/locale/000077500000000000000000000000001363525634600150675ustar00rootroot00000000000000sql-parser-4.6.1/locale/af/000077500000000000000000000000001363525634600154555ustar00rootroot00000000000000sql-parser-4.6.1/locale/af/LC_MESSAGES/000077500000000000000000000000001363525634600172425ustar00rootroot00000000000000sql-parser-4.6.1/locale/af/LC_MESSAGES/sqlparser.mo000066400000000000000000000010221363525634600216060ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:30+0200 Last-Translator: Michal Čihař Language-Team: Afrikaans Language: af MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/af/LC_MESSAGES/sqlparser.po000066400000000000000000000142501363525634600216200ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:30+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Afrikaans \n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "With selected:" msgid "A symbol name was expected!" msgstr "Met gekose:" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "With selected:" msgid "A comma or a closing bracket was expected." msgstr "Met gekose:" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "With selected:" msgid "An alias was expected." msgstr "Met gekose:" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "With selected:" msgid "An expression was expected." msgstr "Met gekose:" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Die ry is verwyder" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "as 'n regular expression" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "Tabel %s is verwyder" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "By Begin van Tabel" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "By Begin van Tabel" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "By Begin van Tabel" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "With selected:" msgid "A table name was expected." msgstr "Met gekose:" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Die ry is verwyder" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Fout" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query" msgid "strict error" msgstr "Navraag dmv Voorbeeld" sql-parser-4.6.1/locale/ar/000077500000000000000000000000001363525634600154715ustar00rootroot00000000000000sql-parser-4.6.1/locale/ar/LC_MESSAGES/000077500000000000000000000000001363525634600172565ustar00rootroot00000000000000sql-parser-4.6.1/locale/ar/LC_MESSAGES/sqlparser.mo000066400000000000000000000122221363525634600216260ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r  " D ? -L ?z k )& )P z $#8H+  W/G9w-E7B>z12:L61jC[,2*8*c*&*"%%Hn)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2018-01-25 23:34+0000 Last-Translator: yagoub fadel Language-Team: Arabic Language: ar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5; X-Generator: Weblate 2.19-dev تم توقع قيم %1$d ، ولكن تم العثور على %2$d.كانت الكلمة الرئيسية "رجوع" متوقعة.من المتوقع وجود قوس مغلق.من المتوقع وجود فاصلة أو قوس إغلاق.تم العثور على بيان جديد، ولكن لا يوجد محدد بينه وبين سابقه .نتوقع منك اعادة تسمية .كان من المتوقع اسم رمز!كان من المتوقع وجود اسم رمز! لا يمكن استخدام كلمة رئيسية محجوزة كاسم عمود بدون علامات اقتباس.نتوقع تسمية الجدول .كان من المتوقع وجود اسم مستعار.اسم مستعار موجود مسبقا .متوقع وجود تعبير .متوقع حدوث تعويض .من المتوقع وجود قوس فتح متبوعا بمجموعة من القيم.من المتوقع وجود قوس مفتوح.نتوقع منك تعريف عمود علي الاقل .نتوقع إنهاء الاقتباس %1$s .المحدد المتوقع.المسافات البيضاء المتوقعة قبل المحدد.متوقع وجود الكلمة الرئيسية "TO".الكلمة المفتاحية في نهاية الافادةتعبير مفقود .لم يتم بدء أي معاملة من قبل.لم تنفذ بعد.نتوفع منك ادراج اسم الكيان .متوقع وجود الاسم الجديد للجدول .متوفع وجود اسم الجدول القديم .يتعارض هذا الخيار مع“%1$s“ .هذا النوع من الشرط غير صالح في الاستعلامات متعددة الجداول.تم تحليل هذا النوع من العبارات سابقا.بداية غير متوقعة للبيان.حرف غير متوقع .نقطة غير متوقعة.نهاية غير متوقعة من التعبيركلمة رئيسية غير متوقعة.ترتيب غير متوقع للبنود.رمز غير متوقع.عملية تغيير غير معروفة.نوع بيانات غير معروف.كلمة محجوزة غير معروفة.نوع بيان غير معروف.متوقع منك اسم متغير .الخطأ رقم 1خطأ صارمsql-parser-4.6.1/locale/ar/LC_MESSAGES/sqlparser.po000066400000000000000000000173321363525634600216400ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-01-25 23:34+0000\n" "Last-Translator: yagoub fadel \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Weblate 2.19-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "لم تنفذ بعد." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "تم العثور على بيان جديد، ولكن لا يوجد محدد بينه وبين سابقه ." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "عملية تغيير غير معروفة." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "تم توقع قيم %1$d ، ولكن تم العثور على %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "من المتوقع وجود قوس فتح متبوعا بمجموعة من القيم." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "من المتوقع وجود قوس مفتوح." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "كلمة رئيسية غير متوقعة." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "نهاية غير متوقعة من التعبير" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "كان من المتوقع وجود اسم رمز! لا يمكن استخدام كلمة رئيسية محجوزة كاسم عمود " "بدون علامات اقتباس." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "كان من المتوقع اسم رمز!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "من المتوقع وجود فاصلة أو قوس إغلاق." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "من المتوقع وجود قوس مغلق." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "نوع بيانات غير معروف." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "كان من المتوقع وجود اسم مستعار." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "اسم مستعار موجود مسبقا ." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "نقطة غير متوقعة." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "متوقع وجود تعبير ." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "متوقع حدوث تعويض ." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "يتعارض هذا الخيار مع“%1$s“ ." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "متوفع وجود اسم الجدول القديم ." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "متوقع وجود الكلمة الرئيسية \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "متوقع وجود الاسم الجديد للجدول ." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "نتوقع منك اعادة تسمية ." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "تعبير مفقود ." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "حرف غير متوقع ." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "المسافات البيضاء المتوقعة قبل المحدد." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "المحدد المتوقع." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "نتوقع إنهاء الاقتباس %1$s ." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "متوقع منك اسم متغير ." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "بداية غير متوقعة للبيان." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "نوع بيان غير معروف." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "لم يتم بدء أي معاملة من قبل." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "رمز غير متوقع." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "تم تحليل هذا النوع من العبارات سابقا." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "كلمة محجوزة غير معروفة." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "الكلمة المفتاحية في نهاية الافادة" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "ترتيب غير متوقع للبنود." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "نتوفع منك ادراج اسم الكيان ." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "نتوقع تسمية الجدول ." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "نتوقع منك تعريف عمود علي الاقل ." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "كانت الكلمة الرئيسية \"رجوع\" متوقعة." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "هذا النوع من الشرط غير صالح في الاستعلامات متعددة الجداول." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "الخطأ رقم 1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "خطأ صارم" sql-parser-4.6.1/locale/ast/000077500000000000000000000000001363525634600156565ustar00rootroot00000000000000sql-parser-4.6.1/locale/ast/LC_MESSAGES/000077500000000000000000000000001363525634600174435ustar00rootroot00000000000000sql-parser-4.6.1/locale/ast/LC_MESSAGES/sqlparser.mo000066400000000000000000000063541363525634600220240ustar00rootroot00000000000000 )**L dc;W<o (*EY'n'"!)=[s3o!,T-G u h  % < X Fw # (  7% "]   % ( & & < "N q %       %1$d values were expected, but found %2$d.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Missing expression.Not implemented yet.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unrecognized alter operation.Unrecognized data type.Variable name was expected.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-09-28 07:44+0000 Last-Translator: Xuacu Saturio Language-Team: Asturian Language: ast MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.17-dev Esperábense %1$d valores, pero s'alcontraron %2$d.Esperábase un corchete de zarru.Esperábase una coma o un corchete de zarru.Alcontróse una nueva declaración, pero nun hai llendador ente ésta y la anterior.Esperábase una operación de cambiu de nome.Esperábase un nome de símboluEsperábase un nome de símbolu. Una palabra acutada nun puede usase como nome de columna ensin comines.Esperábase un alcuñu.Alcontróse anteriormente un alcuñu.Esperábase una espresión.Esperábase un desplazamientu.Esperábase un corchete d'apertura siguíu por un conxuntu de valores.Esperábase un corchete d'apertura.Esperábense les comines de final %1$s.Esperábase un llendador.Esperábase espaciu(os) en blancu antes d'un llendador.Esperábase la palabra clave "TO".Falta una espresión.Entá nun se desendolcó.Esperábase'l nome nuevu de la tabla.Esperábase'l nome anterior de la tabla.Esta opción fai conflictu con "%1$s".Carácter inesperáu.Puntu inesperáu.Final inesperáu d'espresión CASEPalabra clave inesperada.Operación d'alteración desconocida.Tipu de datu desconocíu.Esperábase un nome de variable.sql-parser-4.6.1/locale/ast/LC_MESSAGES/sqlparser.po000066400000000000000000000154451363525634600220300ustar00rootroot00000000000000# phpMyAdmin SQL parser translation. # Copyright (C) 2015 - 2017 phpMyAdmin devel team # This file is distributed under the same license as the SQL parser package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-09-28 07:44+0000\n" "Last-Translator: Xuacu Saturio \n" "Language-Team: Asturian \n" "Language: ast\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Entá nun se desendolcó." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Alcontróse una nueva declaración, pero nun hai llendador ente ésta y la " "anterior." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Operación d'alteración desconocida." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Esperábense %1$d valores, pero s'alcontraron %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Esperábase un corchete d'apertura siguíu por un conxuntu de valores." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Esperábase un corchete d'apertura." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Palabra clave inesperada." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Final inesperáu d'espresión CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Esperábase un nome de símbolu. Una palabra acutada nun puede usase como nome " "de columna ensin comines." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Esperábase un nome de símbolu" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Esperábase una coma o un corchete de zarru." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Esperábase un corchete de zarru." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tipu de datu desconocíu." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Esperábase un alcuñu." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Alcontróse anteriormente un alcuñu." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Puntu inesperáu." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Esperábase una espresión." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Esperábase un desplazamientu." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Esta opción fai conflictu con \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Esperábase'l nome anterior de la tabla." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Esperábase la palabra clave \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Esperábase'l nome nuevu de la tabla." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Esperábase una operación de cambiu de nome." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Falta una espresión." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Carácter inesperáu." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Esperábase espaciu(os) en blancu antes d'un llendador." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Esperábase un llendador." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Esperábense les comines de final %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Esperábase un nome de variable." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/az/000077500000000000000000000000001363525634600155015ustar00rootroot00000000000000sql-parser-4.6.1/locale/az/LC_MESSAGES/000077500000000000000000000000001363525634600172665ustar00rootroot00000000000000sql-parser-4.6.1/locale/az/LC_MESSAGES/sqlparser.mo000066400000000000000000000066471363525634600216540ustar00rootroot00000000000000",/<*!$F*f c2Md<, $A&U|''""'=!Mo#) %4 Z *v 2  i Z x   9 0 !1 S r (  $ ' / )D n  /   + 3 N e ~    !"   %1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An opening bracket followed by a set of values was expected.At least one column definition was expected.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-11-25 14:44+0000 Last-Translator: Sevdimali İsa Language-Team: Azerbaijani Language: az MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.18-dev %1$d gözlənilirdi, amma %2$d tapıldı."RETURNS" açarsözü gözlənilirdi.Mötərizə gözlənilirdi.Vergül və ya mötərizə gözlənilirdi.Yenidən adlandırma əməliyyatı gözlənilirdi.Simvol adı gözlənilirdi!Bir simvol adı gözlənilirdi! Dırnaqsız reserv sözlər sütün adı olaraq istifadə edilə bilməz.Cədvəl adı gözlənilirdi.Alias gözlənilirdi.Daha öncə alias tapıldı.İfadə gözlənilməkdə.Mötərizə ardından bir qrup dəyər gözlənilməkdə.Ən az bir sütün açıqlaması gözlənilirdi."TO" açar sözü gözlənilirdi.İfadənin sonunda açar söz.Əksik ifadə.Daha öncə tranzaksiya başladılmadı.Hələki tətbiq edilməyib.Cədvəlin yeni adı gözlənilirdi.Cədvəlin köhnə adı gözlənilirdi.Bu seçim %1$s bununla zidiyyət təşkil edir.İfadənin gözlənilməz başlanğıcı.Gözlənilməyən simvol.Gözlənilməz nöqtə.Gözlənməz Böyük/Kiçik hərf ifadəsi sonuGözlənilməyən açar söz.Gözlənilməyən token.Kateqoriya olunmamış alter əməliyyatı.Tanınmayan verilən tipi.Tanınmayan açarsöz.Tanınmayan ifadə tipi.Dəyişən adı gözlənilirdi.xəta #1sql-parser-4.6.1/locale/az/LC_MESSAGES/sqlparser.po000066400000000000000000000156011363525634600216450ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-11-25 14:44+0000\n" "Last-Translator: Sevdimali İsa \n" "Language-Team: Azerbaijani \n" "Language: az\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.18-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Hələki tətbiq edilməyib." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Kateqoriya olunmamış alter əməliyyatı." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d gözlənilirdi, amma %2$d tapıldı." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Mötərizə ardından bir qrup dəyər gözlənilməkdə." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Gözlənilməyən açar söz." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Gözlənməz Böyük/Kiçik hərf ifadəsi sonu" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Bir simvol adı gözlənilirdi! Dırnaqsız reserv sözlər sütün adı olaraq " "istifadə edilə bilməz." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Simvol adı gözlənilirdi!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Vergül və ya mötərizə gözlənilirdi." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Mötərizə gözlənilirdi." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tanınmayan verilən tipi." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Alias gözlənilirdi." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Daha öncə alias tapıldı." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Gözlənilməz nöqtə." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "İfadə gözlənilməkdə." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Bu seçim %1$s bununla zidiyyət təşkil edir." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Cədvəlin köhnə adı gözlənilirdi." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "\"TO\" açar sözü gözlənilirdi." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Cədvəlin yeni adı gözlənilirdi." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Yenidən adlandırma əməliyyatı gözlənilirdi." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Əksik ifadə." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Gözlənilməyən simvol." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "%1$s hadisəsi yaradıldı." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Dəyişən adı gözlənilirdi." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "İfadənin gözlənilməz başlanğıcı." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tanınmayan ifadə tipi." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Daha öncə tranzaksiya başladılmadı." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Gözlənilməyən token." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Tanınmayan açarsöz." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "İfadənin sonunda açar söz." #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Cədvəlin başına" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Açıq olan cədvəl sayı." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Cədvəl adı gözlənilirdi." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Ən az bir sütün açıqlaması gözlənilirdi." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "\"RETURNS\" açarsözü gözlənilirdi." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "xəta #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query error" msgid "strict error" msgstr "Sorğu xətası" sql-parser-4.6.1/locale/be/000077500000000000000000000000001363525634600154555ustar00rootroot00000000000000sql-parser-4.6.1/locale/be/LC_MESSAGES/000077500000000000000000000000001363525634600172425ustar00rootroot00000000000000sql-parser-4.6.1/locale/be/LC_MESSAGES/sqlparser.mo000066400000000000000000000127171363525634600216230ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r  2 E 9 5W G ?] + +"83TP5O8+,dJ3A RFs%-68E;~jJ%7p -//Fv7+77-+e+)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-08-22 09:47+0000 Last-Translator: Viktar Vauchkevich Language-Team: Belarusian Language: be MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.17-dev Чакалася %1$d значэнняў, а знойдзена %2$d.Чакалася ключавое слова «RETURNS».Чакалася закрывальная дужка.Чакалася коска або закрывальная дужка.Знойдзена новае сцвярджэнне, але між ім і папярэднім няма раздзяляльніка.Чакалася аперацыя перайменавання.Чакалася назва сімвала!Чакалася назва сімвала! Зарэзерваваныя ключавыя словы нельга выкарыстоўваць як назву слупка без двукоссяў.Чакалася назва табліцы.Чакаўся псеўданім.Псеўданім быў знайдзены раней.Чакаўся выраз.Чакаўся соступ.Чакаліся адкрывальная дужка і спіс значэнняў.Чакалася адкрывальная дужка.Чакалася азначэнне прынамсі аднаго слупка.Чакалася канцавое двукоссе %1$s.Чакаецца раздзяляльнік.Чакаўся прагал(ы) перад раздзяляльнікам.Чакалаcя ключавое слова «TO».Ключавое слова ў канцы сцвярджэння.Адсутнічае выраз.Няма папярэдне запушчанай транзакцыі.Яшчэ не рэалізавана.Чакалася назва сутнасці.Чакалася новая назва табліцы.Чакалася старая назва табліцы.Гэты параметр канфліктуе з «%1$s».Гэты тып выразу не правільны для мультытаблічных запытаў.Гэты тып выразу быў папярэдне разабраны.Нечаканы пачатак сцвярджэння.Нечаканы сімвал.Нечаканая кропка.Нечаканы канец CASE-выразуНечаканае ключавое слова.Нечаканы парадак выразаў.Нечаканы знак.Нераспазнаная аперацыя змены.Нераспазнаны тып даных.Нераспазнанае ключавое слова.Нераспазнаны тып сцвярджэння.Чакалася назва зменнай.памылка #1недапушчальная памылкаsql-parser-4.6.1/locale/be/LC_MESSAGES/sqlparser.po000066400000000000000000000200261363525634600216160ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-08-22 09:47+0000\n" "Last-Translator: Viktar Vauchkevich \n" "Language-Team: Belarusian \n" "Language: be\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" "4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Яшчэ не рэалізавана." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Знойдзена новае сцвярджэнне, але між ім і папярэднім няма раздзяляльніка." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Нераспазнаная аперацыя змены." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Чакалася %1$d значэнняў, а знойдзена %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Чакаліся адкрывальная дужка і спіс значэнняў." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Чакалася адкрывальная дужка." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Нечаканае ключавое слова." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Нечаканы канец CASE-выразу" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Чакалася назва сімвала! Зарэзерваваныя ключавыя словы нельга выкарыстоўваць " "як назву слупка без двукоссяў." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Чакалася назва сімвала!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Чакалася коска або закрывальная дужка." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Чакалася закрывальная дужка." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Нераспазнаны тып даных." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Чакаўся псеўданім." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Псеўданім быў знайдзены раней." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Нечаканая кропка." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Чакаўся выраз." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Чакаўся соступ." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Гэты параметр канфліктуе з «%1$s»." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Чакалася старая назва табліцы." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Чакалаcя ключавое слова «TO»." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Чакалася новая назва табліцы." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Чакалася аперацыя перайменавання." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Адсутнічае выраз." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Нечаканы сімвал." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Чакаўся прагал(ы) перад раздзяляльнікам." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Чакаецца раздзяляльнік." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Чакалася канцавое двукоссе %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Чакалася назва зменнай." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Нечаканы пачатак сцвярджэння." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Нераспазнаны тып сцвярджэння." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Няма папярэдне запушчанай транзакцыі." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Нечаканы знак." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Гэты тып выразу быў папярэдне разабраны." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Нераспазнанае ключавое слова." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Ключавое слова ў канцы сцвярджэння." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Нечаканы парадак выразаў." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Чакалася назва сутнасці." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Чакалася назва табліцы." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Чакалася азначэнне прынамсі аднаго слупка." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Чакалася ключавое слова «RETURNS»." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Гэты тып выразу не правільны для мультытаблічных запытаў." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "памылка #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "недапушчальная памылка" sql-parser-4.6.1/locale/be@latin/000077500000000000000000000000001363525634600166055ustar00rootroot00000000000000sql-parser-4.6.1/locale/be@latin/LC_MESSAGES/000077500000000000000000000000001363525634600203725ustar00rootroot00000000000000sql-parser-4.6.1/locale/be@latin/LC_MESSAGES/sqlparser.mo000066400000000000000000000110441363525634600227430ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r  E 0 ) E *f T (  w)   #   4 Q.r$.$*6a*u !&>>+}#3P"a"!  )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-08-22 09:47+0000 Last-Translator: Viktar Vauchkevich Language-Team: Belarusian (latin) Language: be@latin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.17-dev Čakalasia %1$d značenniaŭ, a znojdziena %2$d.Čakalasia kliučavoje slova «RETURNS».Čakalasia zakryvaĺnaja dužka.Čakalasia koska abo zakryvaĺnaja dužka.Znojdziena novaje scviardžennie, alie miž im i papiarednim niama razdzialiaĺnika.Čakalasia apieracyja pierajmienavannia.Čakalasia nazva simvala!Čakalasia nazva simvala! Zareziervavanyja kliučavyja slovy nieĺha vykarystoŭvać jak nazvu slupka biez dvukossiaŭ.Čakalasia nazva tablicy.Čakaŭsia psieŭdanim.Psieŭdanim byŭ znajdzieny raniej.Čakaŭsia vyraz.Čakaŭsia sostup.Čakalisia adkryvaĺnaja dužka i spis značenniaŭ.Čakalasia adkryvaĺnaja dužka.Čakalasia aznačennie prynamsi adnaho slupka.Čakalasia kancavoje dvukossie %1$s.Čakajecca razdzialiaĺnik.Čakaŭsia prahal(y) pierad razdzialiaĺnikam.Čakalacja kliučavoje slova «TO».Kliučavoje slova ŭ kancy scviardžennia.Adsutničaje vyraz.Niama papiarednie zapuščanaj tranzakcyi.Jašče nie realizavana.Čakalasia nazva sutnasci.Čakalasia novaja nazva tablicy.Čakalasia staraja nazva tablicy.Hety paramietr kanfliktuje z «%1$s».Hety typ vyrazu nie praviĺny dlia muĺtytabličnych zapytaŭ.Hety typ vyrazu byŭ papiarednie razabrany.Niečakany pačatak scviardžennia.Niečakany simval.Niečakanaja kropka.Niečakany kaniec CASE-vyrazuNiečakanaje kliučavoje slova.Niečakany paradak vyrazaŭ.Niečakany znak.Nieraspaznanaja apieracyja zmieny.Nieraspaznany typ danych.Nieraspaznanaje kliučavoje slova.Nieraspaznany typ scviardžennia.Čakalasia nazva zmiennaj.pamylka #1niedapuščaĺnaja pamylkasql-parser-4.6.1/locale/be@latin/LC_MESSAGES/sqlparser.po000066400000000000000000000161561363525634600227570ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-08-22 09:47+0000\n" "Last-Translator: Viktar Vauchkevich \n" "Language-Team: Belarusian (latin) " "\n" "Language: be@latin\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" "4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Jašče nie realizavana." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Znojdziena novaje scviardžennie, alie miž im i papiarednim niama " "razdzialiaĺnika." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Nieraspaznanaja apieracyja zmieny." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Čakalasia %1$d značenniaŭ, a znojdziena %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Čakalisia adkryvaĺnaja dužka i spis značenniaŭ." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Čakalasia adkryvaĺnaja dužka." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Niečakanaje kliučavoje slova." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Niečakany kaniec CASE-vyrazu" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Čakalasia nazva simvala! Zareziervavanyja kliučavyja slovy nieĺha " "vykarystoŭvać jak nazvu slupka biez dvukossiaŭ." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Čakalasia nazva simvala!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Čakalasia koska abo zakryvaĺnaja dužka." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Čakalasia zakryvaĺnaja dužka." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Nieraspaznany typ danych." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Čakaŭsia psieŭdanim." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Psieŭdanim byŭ znajdzieny raniej." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Niečakanaja kropka." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Čakaŭsia vyraz." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Čakaŭsia sostup." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Hety paramietr kanfliktuje z «%1$s»." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Čakalasia staraja nazva tablicy." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Čakalacja kliučavoje slova «TO»." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Čakalasia novaja nazva tablicy." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Čakalasia apieracyja pierajmienavannia." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Adsutničaje vyraz." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Niečakany simval." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Čakaŭsia prahal(y) pierad razdzialiaĺnikam." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Čakajecca razdzialiaĺnik." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Čakalasia kancavoje dvukossie %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Čakalasia nazva zmiennaj." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Niečakany pačatak scviardžennia." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Nieraspaznany typ scviardžennia." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Niama papiarednie zapuščanaj tranzakcyi." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Niečakany znak." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Hety typ vyrazu byŭ papiarednie razabrany." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Nieraspaznanaje kliučavoje slova." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Kliučavoje slova ŭ kancy scviardžennia." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Niečakany paradak vyrazaŭ." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Čakalasia nazva sutnasci." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Čakalasia nazva tablicy." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Čakalasia aznačennie prynamsi adnaho slupka." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Čakalasia kliučavoje slova «RETURNS»." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Hety typ vyrazu nie praviĺny dlia muĺtytabličnych zapytaŭ." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "pamylka #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "niedapuščaĺnaja pamylka" sql-parser-4.6.1/locale/bg/000077500000000000000000000000001363525634600154575ustar00rootroot00000000000000sql-parser-4.6.1/locale/bg/LC_MESSAGES/000077500000000000000000000000001363525634600172445ustar00rootroot00000000000000sql-parser-4.6.1/locale/bg/LC_MESSAGES/sqlparser.mo000066400000000000000000000017121363525634600216160ustar00rootroot00000000000000<\pLq'c>A new statement was found, but no delimiter between it and the previous one.Not implemented yet.Unrecognized alter operation.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-08-07 11:22+0000 Last-Translator: Filip Obretenov Language-Team: Bulgarian Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.16-dev Беше открито ново изявление, но не и разграничител между него и предишния.Все още не е внедрена.Неизвестна промяна на операцията.sql-parser-4.6.1/locale/bg/LC_MESSAGES/sqlparser.po000066400000000000000000000167321363525634600216310ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-08-07 11:22+0000\n" "Last-Translator: Filip Obretenov \n" "Language-Team: Bulgarian \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.16-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Все още не е внедрена." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Беше открито ново изявление, но не и разграничител между него и предишния." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Неизвестна промяна на операцията." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected keyword." msgstr "Неочаквани знаци на ред %s." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Шаблон за име на таблица" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No tables selected." msgid "A comma or a closing bracket was expected." msgstr "Няма избрани таблици." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No tables selected." msgid "An alias was expected." msgstr "Няма избрани таблици." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Няма върнати редове" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Броят отворени таблици." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Броят отворени таблици." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Редът беше изтрит" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "като регулярен израз" #: src/Lexer.php:237 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected character." msgstr "Неочаквани знаци на ред %s." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "Събитието %1$s беше създадено." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Шаблон за име на таблица" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "В началото на таблицата" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected token." msgstr "Неочаквани знаци на ред %s." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "В началото на таблицата" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "В началото на таблицата" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Броят отворени таблици." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Шаблон за име на таблица" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Редът беше изтрит" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "грешки." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Събиране на грешки" sql-parser-4.6.1/locale/bn/000077500000000000000000000000001363525634600154665ustar00rootroot00000000000000sql-parser-4.6.1/locale/bn/LC_MESSAGES/000077500000000000000000000000001363525634600172535ustar00rootroot00000000000000sql-parser-4.6.1/locale/bn/LC_MESSAGES/sqlparser.mo000066400000000000000000000010201363525634600216150ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:44+0200 Last-Translator: Michal Čihař Language-Team: Bengali Language: bn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/bn/LC_MESSAGES/sqlparser.po000066400000000000000000000167621363525634600216430ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:44+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Bengali \n" "Language: bn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected keyword." msgstr "%s লাইনে অপ্রত্যাশিত চিহ্ন।" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "টেবলের নামের নকশা" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "ডাটাবেইজ নিবার্চন করা হয়নি।" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "ডাটাবেইজ নিবার্চন করা হয়নি।" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "কোন রো নির্বাচন করা হয় নাই" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "খোলা টেবিলের সংখ্যা।" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "খোলা টেবিলের সংখ্যা।" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "রো টি মুছা হয়েছে।" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "রেগুলার এক্সপ্রেশনের মত" #: src/Lexer.php:237 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected character." msgstr "%s লাইনে অপ্রত্যাশিত চিহ্ন।" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "ইভেন্ট %1$s তৈরী হয়েছে।" #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "টেবলের নামের নকশা" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "টেবিলের শুরুতে" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected token." msgstr "%s লাইনে অপ্রত্যাশিত চিহ্ন।" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "টেবিলের শুরুতে" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "টেবিলের শুরুতে" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "খোলা টেবিলের সংখ্যা।" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "টেবলের নামের নকশা" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "রো টি মুছা হয়েছে।" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "ভুলসমূহ" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "ভুলসমূহ জড়ো" sql-parser-4.6.1/locale/br/000077500000000000000000000000001363525634600154725ustar00rootroot00000000000000sql-parser-4.6.1/locale/br/LC_MESSAGES/000077500000000000000000000000001363525634600172575ustar00rootroot00000000000000sql-parser-4.6.1/locale/br/LC_MESSAGES/sqlparser.mo000066400000000000000000000010161363525634600216260ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2014-03-28 11:07+0200 Last-Translator: Michal Čihař Language-Team: Breton Language: br MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 1.9-dev sql-parser-4.6.1/locale/br/LC_MESSAGES/sqlparser.po000066400000000000000000000151511363525634600216360ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2011 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2014-03-28 11:07+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Breton \n" "Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 1.9-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Patrom anv taolenn" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No rows selected" msgid "A comma or a closing bracket was expected." msgstr "N'eus bet diuzet linenn ebet" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No rows selected" msgid "An alias was expected." msgstr "N'eus bet diuzet linenn ebet" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "N'eus bet diuzet linenn ebet" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The bookmark has been deleted." msgid "A rename operation was expected." msgstr "Diverket eo bet ar sined." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "evel un droienn reoliek" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Routine %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "Krouet eo bet an argerzh %1s." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Patrom anv taolenn" #: src/Parser.php:423 #, fuzzy #| msgid "Number of inserted rows" msgid "Unexpected beginning of statement." msgstr "Niver a linennoù da ensoc'hañ" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Number of inserted rows" msgid "Keyword at end of statement." msgstr "Niver a linennoù da ensoc'hañ" #: src/Statement.php:503 #, fuzzy #| msgid "Number of inserted rows" msgid "Unexpected ordering of clauses." msgstr "Niver a linennoù da ensoc'hañ" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Patrom anv taolenn" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The bookmark has been deleted." msgid "At least one column definition was expected." msgstr "Diverket eo bet ar sined." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Fazi" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Dastum ar fazioù" sql-parser-4.6.1/locale/brx/000077500000000000000000000000001363525634600156625ustar00rootroot00000000000000sql-parser-4.6.1/locale/brx/LC_MESSAGES/000077500000000000000000000000001363525634600174475ustar00rootroot00000000000000sql-parser-4.6.1/locale/brx/LC_MESSAGES/sqlparser.mo000066400000000000000000000010211363525634600220120ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-09-04 09:33+0200 Last-Translator: Michal Čihař Language-Team: Bodo Language: brx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Weblate 2.4-dev sql-parser-4.6.1/locale/brx/LC_MESSAGES/sqlparser.po000066400000000000000000000132351363525634600220270ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2015 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2015. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-09-04 09:33+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Bodo \n" "Language: brx\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Weblate 2.4-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/bs/000077500000000000000000000000001363525634600154735ustar00rootroot00000000000000sql-parser-4.6.1/locale/bs/LC_MESSAGES/000077500000000000000000000000001363525634600172605ustar00rootroot00000000000000sql-parser-4.6.1/locale/bs/LC_MESSAGES/sqlparser.mo000066400000000000000000000011321363525634600216260ustar00rootroot00000000000000$,8 9Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:31+0200 Last-Translator: Michal Čihař Language-Team: Bosnian Language: bs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/bs/LC_MESSAGES/sqlparser.po000066400000000000000000000144621363525634600216430ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:31+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Bosnian \n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy msgid "A symbol name was expected!" msgstr "Šablon imena datoteke" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Nije izabrana ni jedna baza." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Nije izabrana ni jedna baza." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No databases selected." msgid "An expression was expected." msgstr "Nije izabrana ni jedna baza." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Red je obrisan" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "kao regularni izraz" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "Tabela %s je odbačena" #: src/Lexer.php:884 #, fuzzy msgid "Variable name was expected." msgstr "Šablon imena datoteke" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Na početku tabele" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Na početku tabele" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Na početku tabele" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy msgid "A table name was expected." msgstr "Šablon imena datoteke" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Red je obrisan" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Greška" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query type" msgid "strict error" msgstr "Vrsta upita" sql-parser-4.6.1/locale/ca/000077500000000000000000000000001363525634600154525ustar00rootroot00000000000000sql-parser-4.6.1/locale/ca/LC_MESSAGES/000077500000000000000000000000001363525634600172375ustar00rootroot00000000000000sql-parser-4.6.1/locale/ca/LC_MESSAGES/sqlparser.mo000066400000000000000000000110701363525634600216070ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   1 & & 1 [A )   e  #   D $80](2 '&N-e"$-H@6&! /Ii(! ))(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2018-01-15 17:44+0000 Last-Translator: Robert Antoni Buj Gelonch Language-Team: Catalan Language: ca MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.19-dev S'esperaven %1$d valors, però s'han trobat %2$d.S'esperava una paraula clau "RETURNS".S'esperava un claudàtor de tancament.S'esperava una coma o un claudàtor de tancament.S'ha trobat una sentència nova, però no hi ha cap delimitador entre aquesta i l'anterior.S'esperava una operació de canvi de nom.S'esperava un nom de símbol!S'esperava un nom de símbol! No es pot utilitzar una paraula clau reservada com a nom de columna sense les cometes invertides.S'esperava un nom de taula.S'esperava un àlies.S'ha trobat un àlies anteriorment.S'esperava una expressió.S'esperava un desplaçament.S'esperava un claudàtor d'obertura seguit per un conjunt de valors.S'esperava un claudàtor d'obertura.S'esperava al menys la definició d'una columna.S'esperava una cometa de tancament %1$s.S'esperava un delimitador.S'esperaven espais en blanc abans del delimitador.S'esperava la paraula clau "TO".Paraula clau al final de la sentència.Expressió no trobada.No s'ha iniciat cap transacció anteriorment.Encara no implementat.S'esperava el nom de l'entitat.S'esperava el nom nou de la taula.S'esperava el nom antic de la taula.Aquesta opció està en conflicte amb "%1$s".Aquest tipus de clàusula no és vàlid en consultes de diverses taules.Aquest tipus de clàusula s'ha analitzat anteriorment.Començament no esperat de sentència.Caràcter no esperat.Punt inesperat.Final inesperat d'expressió CASEParaula clau no esperada.Ordre de condicions no esperat.Testimoni no esperat.Operació de modificació no reconeguda.Tipus de dades desconegut.Paraula clau no reconeguda.Tipus de sentència no reconegut.S'esperava un nom de variable.error #1Error estrictesql-parser-4.6.1/locale/ca/LC_MESSAGES/sqlparser.po000066400000000000000000000162471363525634600216250ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-01-15 17:44+0000\n" "Last-Translator: Robert Antoni Buj Gelonch \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.19-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Encara no implementat." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "S'ha trobat una sentència nova, però no hi ha cap delimitador entre aquesta " "i l'anterior." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Operació de modificació no reconeguda." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "S'esperaven %1$d valors, però s'han trobat %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "S'esperava un claudàtor d'obertura seguit per un conjunt de valors." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "S'esperava un claudàtor d'obertura." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Paraula clau no esperada." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Final inesperat d'expressió CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "S'esperava un nom de símbol! No es pot utilitzar una paraula clau reservada " "com a nom de columna sense les cometes invertides." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "S'esperava un nom de símbol!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "S'esperava una coma o un claudàtor de tancament." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "S'esperava un claudàtor de tancament." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tipus de dades desconegut." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "S'esperava un àlies." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "S'ha trobat un àlies anteriorment." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Punt inesperat." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "S'esperava una expressió." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "S'esperava un desplaçament." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Aquesta opció està en conflicte amb \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "S'esperava el nom antic de la taula." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "S'esperava la paraula clau \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "S'esperava el nom nou de la taula." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "S'esperava una operació de canvi de nom." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Expressió no trobada." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Caràcter no esperat." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "S'esperaven espais en blanc abans del delimitador." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "S'esperava un delimitador." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "S'esperava una cometa de tancament %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "S'esperava un nom de variable." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Començament no esperat de sentència." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tipus de sentència no reconegut." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "No s'ha iniciat cap transacció anteriorment." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Testimoni no esperat." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Aquest tipus de clàusula s'ha analitzat anteriorment." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Paraula clau no reconeguda." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Paraula clau al final de la sentència." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Ordre de condicions no esperat." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "S'esperava el nom de l'entitat." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "S'esperava un nom de taula." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "S'esperava al menys la definició d'una columna." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "S'esperava una paraula clau \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Aquest tipus de clàusula no és vàlid en consultes de diverses taules." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "error #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "Error estricte" sql-parser-4.6.1/locale/ckb/000077500000000000000000000000001363525634600156265ustar00rootroot00000000000000sql-parser-4.6.1/locale/ckb/LC_MESSAGES/000077500000000000000000000000001363525634600174135ustar00rootroot00000000000000sql-parser-4.6.1/locale/ckb/LC_MESSAGES/sqlparser.mo000066400000000000000000000010251363525634600217620ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-11-20 15:47+0000 Last-Translator: Dana Akram Language-Team: Kurdish Sorani Language: ckb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/ckb/LC_MESSAGES/sqlparser.po000066400000000000000000000147711363525634600220010ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2012 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-11-20 15:47+0000\n" "Last-Translator: Dana Akram \n" "Language-Team: Kurdish Sorani \n" "Language: ckb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "No tables selected." msgid "A symbol name was expected!" msgstr "هیچ خشتەیەک هەڵنەبژێردراوە." #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No tables selected." msgid "A comma or a closing bracket was expected." msgstr "هیچ خشتەیەک هەڵنەبژێردراوە." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No tables selected." msgid "An alias was expected." msgstr "هیچ خشتەیەک هەڵنەبژێردراوە." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "هیچ ڕیزێک هەڵنەبژێراوە" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "ڕیزەکە سڕایەوە" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "Versions" msgid "Missing expression." msgstr "وەشانەکان" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "Number of rows" msgid "Unexpected beginning of statement." msgstr "ژمارەی ڕیزەکان" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Number of rows" msgid "Keyword at end of statement." msgstr "ژمارەی ڕیزەکان" #: src/Statement.php:503 #, fuzzy #| msgid "Number of rows" msgid "Unexpected ordering of clauses." msgstr "ژمارەی ڕیزەکان" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "No tables selected." msgid "A table name was expected." msgstr "هیچ خشتەیەک هەڵنەبژێردراوە." #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "ڕیزەکە سڕایەوە" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "هەڵە" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/cs/000077500000000000000000000000001363525634600154745ustar00rootroot00000000000000sql-parser-4.6.1/locale/cs/LC_MESSAGES/000077500000000000000000000000001363525634600172615ustar00rootroot00000000000000sql-parser-4.6.1/locale/cs/LC_MESSAGES/sqlparser.mo000066400000000000000000000025011363525634600216300ustar00rootroot00000000000000 | *!L`u!'99Vt! 8   %1$d values were expected, but found %2$d.Expected delimiter.Not implemented yet.Unexpected character.Unexpected end of CASE expressionUnexpected keyword.Unexpected token.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.error #1Project-Id-Version: Czech (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2019-04-28 14:48+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Czech Language: cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; X-Generator: Weblate 3.6.1 Byly nalezeny %2$d hodnoty, namísto očekávaných %1$d.Byl očekáván oddělovač.Zatím není implementováno.Neočekávaný znak.Neočekávaný konec CASE výrazuNeočekávané klíčové slovo.Neočekávaný token.Nerozpoznaný datový typ.Nerozpoznané klíčové slovo.Nerozpoznaný typ výrazu.chyba #1sql-parser-4.6.1/locale/cs/LC_MESSAGES/sqlparser.po000066400000000000000000000163521363525634600216440ustar00rootroot00000000000000# # Michal Čihař , 2010, 2011, 2012. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2019-04-28 12:48+0000\n" "Last-Translator: William Desportes \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 3.6.1\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Zatím není implementováno." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 #, fuzzy #| msgid "Iconic table operations" msgid "Unrecognized alter operation." msgstr "Zobrazení ikon pro operace s tabulkami" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Byly nalezeny %2$d hodnoty, namísto očekávaných %1$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Neočekávané klíčové slovo." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Neočekávaný konec CASE výrazu" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Vzor pro jméno tabulky" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No tables selected." msgid "A comma or a closing bracket was expected." msgstr "Nebyly vybrány žádné tabulky." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Nerozpoznaný datový typ." #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No tables selected." msgid "An alias was expected." msgstr "Nebyly vybrány žádné tabulky." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No versions selected." msgid "An expression was expected." msgstr "Nebyly vybrány žádné verze." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Počet aktuálně otevřených tabulek." #: src/Components/RenameOperation.php:119 #, fuzzy msgid "Keyword \"TO\" was expected." msgstr "Bylo očekáváno klíčové slovo \"TO\"." #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Počet aktuálně otevřených tabulek." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "Template was deleted." msgid "A rename operation was expected." msgstr "Šablona byla smazána." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "jako regulární výraz" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Neočekávaný znak." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Byl očekáván oddělovač." #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "Byla vytvořena událost %1$s." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Vzor pro jméno tabulky" #: src/Parser.php:423 #, fuzzy #| msgid "at beginning of table" msgid "Unexpected beginning of statement." msgstr "na začátku tabulky" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Nerozpoznaný typ výrazu." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Neočekávaný token." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Nerozpoznané klíčové slovo." #: src/Statement.php:377 #, fuzzy #| msgid "at beginning of table" msgid "Keyword at end of statement." msgstr "na začátku tabulky" #: src/Statement.php:503 #, fuzzy #| msgid "at beginning of table" msgid "Unexpected ordering of clauses." msgstr "na začátku tabulky" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Počet aktuálně otevřených tabulek." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Bylo očekáváno jméno tabulky." #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "Template was deleted." msgid "At least one column definition was expected." msgstr "Šablona byla smazána." #: src/Statements/CreateStatement.php:550 #, fuzzy msgid "A \"RETURNS\" keyword was expected." msgstr "Bylo očekáváno klíčové slovo \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "chyba #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Sbírat chyby" sql-parser-4.6.1/locale/cy/000077500000000000000000000000001363525634600155025ustar00rootroot00000000000000sql-parser-4.6.1/locale/cy/LC_MESSAGES/000077500000000000000000000000001363525634600172675ustar00rootroot00000000000000sql-parser-4.6.1/locale/cy/LC_MESSAGES/sqlparser.mo000066400000000000000000000011111363525634600216320ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:04+0200 Last-Translator: Michal Čihař Language-Team: Welsh Language: cy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=6; plural=(n==0) ? 0 : (n==1) ? 1 : (n==2) ? 2 : (n==3) ? 3 :(n==6) ? 4 : 5; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/cy/LC_MESSAGES/sqlparser.po000066400000000000000000000152501363525634600216460ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2010 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # FIRST AUTHOR , YEAR. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:04+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Welsh \n" "Language: cy\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=(n==0) ? 0 : (n==1) ? 1 : (n==2) ? 2 : " "(n==3) ? 3 :(n==6) ? 4 : 5;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Templed enw tabl" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Dim cronfeydd data wedi'u dewis." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Dim cronfeydd data wedi'u dewis." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No databases selected." msgid "An expression was expected." msgstr "Dim cronfeydd data wedi'u dewis." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Cafodd y rhes ei dileu" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "fel mynegiad arferol (regular expression)" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Database %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "Cafodd y gronfa ddata %1$s ei chreu." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Templed enw tabl" #: src/Parser.php:423 #, fuzzy #| msgid "Show dimension of tables" msgid "Unexpected beginning of statement." msgstr "Dangos dimensiynau'r tabl" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Show dimension of tables" msgid "Keyword at end of statement." msgstr "Dangos dimensiynau'r tabl" #: src/Statement.php:503 #, fuzzy #| msgid "Show dimension of tables" msgid "Unexpected ordering of clauses." msgstr "Dangos dimensiynau'r tabl" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Templed enw tabl" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Cafodd y rhes ei dileu" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Gwall" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query" msgid "strict error" msgstr "Ymholiad" sql-parser-4.6.1/locale/da/000077500000000000000000000000001363525634600154535ustar00rootroot00000000000000sql-parser-4.6.1/locale/da/LC_MESSAGES/000077500000000000000000000000001363525634600172405ustar00rootroot00000000000000sql-parser-4.6.1/locale/da/LC_MESSAGES/sqlparser.mo000066400000000000000000000105721363525634600216160ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   ) % $ ) _-   b # < R p  H ( (<X/u!.(B\ {+N?Wt! 0Jck)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-09-14 19:11+0000 Last-Translator: Claus Svalekjaer Language-Team: Danish Language: da MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.17-dev %1$d værdier var ventet, men fandt %2$d.Et "RETURNS" nøgleord var forventet.En kantet højreparantes var ventet.Et komma eller lukke parentes var ventet.Et nyt statement blev fundet, men der var ingen adskillelsestegn mellem det og det foregående.En omdøbsopgave var ventet.Et symbol var ventet!Et symbolnavn var ventet! Et reserveret nøgleord kan ikke bruges som et feltnavn uden backquotes.Et tabelnavn var ventet.Et alias var verntet.Et alias er fundet tidligere.Et udtryk var ventet.En forskydning var ventet.En kantet venstreparentes efterfulgt af et sæt værdier blev forventet.En kantet venstreparantes var forventet.Mindst en kolonne definition var ventet.Slut quote %1$s var ventet.Forventede adskillelsestegn.Forventede whitespace(s) før adskillelsestegn.Nøgleordet "TO" var forventet.Nøgleord i slutningen af udtryk.Manglende udtryk.Ingen transaktion er blevet startet tidligere.Endnu ikke implementeret.Enhedens navn var ventet.Tabellens nye navn var ventet.Tabellens gamle navn var ventet.Denne indstilling er i konflikt med "%1$s".Denn type af sætningskonstruktion er ikke gyldig i multitabel forespørgsler.Denne type af sætningskonstruktion er tidligere blevet parset.Uventet start på statement.Uventet karakter.Uventet punktum.Uventet afslutning af CASE udtrykUventet nøgleord.Uventet clause rækkefølge.Uventet token.Ukendt alter opgave.Ukendt datatype.Ukendt nøgleord.Ukendt type af statement.Variabelnavn var ventet.fejl #1stringent fejlsql-parser-4.6.1/locale/da/LC_MESSAGES/sqlparser.po000066400000000000000000000157121363525634600216220ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-09-14 19:11+0000\n" "Last-Translator: Claus Svalekjaer \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Endnu ikke implementeret." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Et nyt statement blev fundet, men der var ingen adskillelsestegn mellem det " "og det foregående." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Ukendt alter opgave." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d værdier var ventet, men fandt %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "En kantet venstreparentes efterfulgt af et sæt værdier blev forventet." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "En kantet venstreparantes var forventet." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Uventet nøgleord." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Uventet afslutning af CASE udtryk" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Et symbolnavn var ventet! Et reserveret nøgleord kan ikke bruges som et " "feltnavn uden backquotes." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Et symbol var ventet!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Et komma eller lukke parentes var ventet." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "En kantet højreparantes var ventet." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Ukendt datatype." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Et alias var verntet." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Et alias er fundet tidligere." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Uventet punktum." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Et udtryk var ventet." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "En forskydning var ventet." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Denne indstilling er i konflikt med \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Tabellens gamle navn var ventet." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Nøgleordet \"TO\" var forventet." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Tabellens nye navn var ventet." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "En omdøbsopgave var ventet." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Manglende udtryk." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Uventet karakter." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Forventede whitespace(s) før adskillelsestegn." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Forventede adskillelsestegn." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Slut quote %1$s var ventet." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Variabelnavn var ventet." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Uventet start på statement." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Ukendt type af statement." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Ingen transaktion er blevet startet tidligere." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Uventet token." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Denne type af sætningskonstruktion er tidligere blevet parset." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Ukendt nøgleord." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Nøgleord i slutningen af udtryk." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Uventet clause rækkefølge." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Enhedens navn var ventet." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Et tabelnavn var ventet." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Mindst en kolonne definition var ventet." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Et \"RETURNS\" nøgleord var forventet." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" "Denn type af sætningskonstruktion er ikke gyldig i multitabel forespørgsler." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "fejl #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "stringent fejl" sql-parser-4.6.1/locale/de/000077500000000000000000000000001363525634600154575ustar00rootroot00000000000000sql-parser-4.6.1/locale/de/LC_MESSAGES/000077500000000000000000000000001363525634600172445ustar00rootroot00000000000000sql-parser-4.6.1/locale/de/LC_MESSAGES/sqlparser.mo000066400000000000000000000110731363525634600216170ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   ( 0 ) 8 _K *  | r     K&M.t4*'%Ci)}%%/ %=Dc- &F!c !+)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: phpMyAdmin-docs 4.0.0-dev Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-11-08 18:00+0000 Last-Translator: Thomas Artmann Language-Team: German Language: de MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.18-dev %1$d Werte erwartet, aber %2$d gefunden.Ein „RETURNS“-Schlüsselwort wurde erwartet.Eine schließende Klammer wurde erwartet.Ein Komma oder eine schließende Klammer wurde erwartet.Eine neue Anweisung wurde gefunden, aber kein Trennzeichen zwischen ihm und dem vorhergehenden.Eine Umbenennungsoperation wurde erwartet.Ein Symbolname wurde erwartet!Ein Symbolname wurde erwartet! Ein reserviertes Schlüsselwort kann nicht ohne Backquotes als Tabellenname verwendet werden.Tabellenname wurde erwartet.Ein Alias wurde erwartet.Ein Alias wurde zuvor gefunden.Ein Ausdruck wurde erwartet.Ein Offset wurde erwartet.Eine öffnende Klammer, gefolgt von einer Liste von Werten, wurde erwartet.Eine öffnende Klammer wurde erwartet.Mindestens eine Felddefinition wurde erwartet.Schließendes Anführungszeichen %1$s wurde erzeugt.Erwartete Trennzeichen.Erwartete Whitespace vor dem Trennzeichen.Schlüsselwort „TO“ wurde erwartet.Schlüsselwort am Ende der Anweisung.Fehlender Ausdruck.Bisher wurde keine Transaktion gestartet.Noch nicht implementiert.Der Name der Entität wurde erwartet.Der neue Tabellenname wurde erwartet.Der ursprüngliche Tabellenname wurde erwartet.Diese Option widerspricht „%1$s“.Diese Art von Klausel ist in Mehr-Tabellen-Anfragen nicht zulässig.Diese Art von Klausel wurde zuvor analysiert.Unerwarteter Statement-Anfang.Unerwartetes Zeichen.Unerwarteter Punkt.Unerwartetes Ende eines CASE AusdrucksUnerwartetes Schlüsselwort.Unerwartete Datensatzanforderung.Unerwartetes Zeichen.Unerkannte ALTER-Operation.Unerkannter Datentyp.Unerkanntes Schlüsselwort.Unerkannte Statement-Typ.Variablenname wurde erwartet.Fehler #1strikter Fehlersql-parser-4.6.1/locale/de/LC_MESSAGES/sqlparser.po000066400000000000000000000162471363525634600216320ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: phpMyAdmin-docs 4.0.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-11-08 18:00+0000\n" "Last-Translator: Thomas Artmann \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.18-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Noch nicht implementiert." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Eine neue Anweisung wurde gefunden, aber kein Trennzeichen zwischen ihm und " "dem vorhergehenden." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Unerkannte ALTER-Operation." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d Werte erwartet, aber %2$d gefunden." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" "Eine öffnende Klammer, gefolgt von einer Liste von Werten, wurde erwartet." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Eine öffnende Klammer wurde erwartet." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Unerwartetes Schlüsselwort." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Unerwartetes Ende eines CASE Ausdrucks" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Ein Symbolname wurde erwartet! Ein reserviertes Schlüsselwort kann nicht " "ohne Backquotes als Tabellenname verwendet werden." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Ein Symbolname wurde erwartet!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Ein Komma oder eine schließende Klammer wurde erwartet." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Eine schließende Klammer wurde erwartet." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Unerkannter Datentyp." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Ein Alias wurde erwartet." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Ein Alias wurde zuvor gefunden." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Unerwarteter Punkt." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Ein Ausdruck wurde erwartet." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Ein Offset wurde erwartet." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Diese Option widerspricht „%1$s“." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Der ursprüngliche Tabellenname wurde erwartet." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Schlüsselwort „TO“ wurde erwartet." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Der neue Tabellenname wurde erwartet." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Eine Umbenennungsoperation wurde erwartet." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Fehlender Ausdruck." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Unerwartetes Zeichen." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Erwartete Whitespace vor dem Trennzeichen." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Erwartete Trennzeichen." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Schließendes Anführungszeichen %1$s wurde erzeugt." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Variablenname wurde erwartet." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Unerwarteter Statement-Anfang." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Unerkannte Statement-Typ." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Bisher wurde keine Transaktion gestartet." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Unerwartetes Zeichen." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Diese Art von Klausel wurde zuvor analysiert." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Unerkanntes Schlüsselwort." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Schlüsselwort am Ende der Anweisung." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Unerwartete Datensatzanforderung." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Der Name der Entität wurde erwartet." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Tabellenname wurde erwartet." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Mindestens eine Felddefinition wurde erwartet." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Ein „RETURNS“-Schlüsselwort wurde erwartet." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Diese Art von Klausel ist in Mehr-Tabellen-Anfragen nicht zulässig." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "Fehler #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "strikter Fehler" sql-parser-4.6.1/locale/el/000077500000000000000000000000001363525634600154675ustar00rootroot00000000000000sql-parser-4.6.1/locale/el/LC_MESSAGES/000077500000000000000000000000001363525634600172545ustar00rootroot00000000000000sql-parser-4.6.1/locale/el/LC_MESSAGES/sqlparser.mo000066400000000000000000000133221363525634600216260ustar00rootroot00000000000000,|;*!*6La cOj< ,2_(&$''L't"8*"#F\!l  = Y b o Ee > 5 M n J 1M  -^+>+5#yY8Q <^,`5)&_O)?@@FHY83&)ZC2B->Dl@6<)5f%,*!  )'$ +%"& #( %1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-01-24 07:02+0000 Last-Translator: Παναγιώτης Παπάζογλου Language-Team: Greek Language: el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.11-dev Αναμενόταν %1$d τιμές, αλλά βρέθηκαν %2$d.Αναμενόταν μια λέξη-κλειδί «RETURNS».Αναμενόταν κλείσιμο αγκύλης.Αναμενόταν ένα κόμμα ή μια κλειστή αγκύλη.Βρέθηκε μια νέα δήλωση, αλλά χωρίς διαχωριστικό μεταξύ της και της προηγούμενης.Αναμενόταν μια λειτουργία μετονομασίας.Αναμενόταν όνομα συμβόλου!Αναμενόταν ένα όνομα συμβόλου! Μια δεσμευμένη λέξη-κλειδί δεν μπορεί να χρησιμοποιηθεί ως όνομα στήλης χωρίς εισαγωγικά.Αναμενόταν όνομα πίνακα.Αναμενόταν μια ετικέτα.Βρέθηκε μια ετικέτα προηγουμένως.Αναμενόταν μια έκφραση.Αναμενόταν μια αντιστάθμιση.Αναμενόταν μια ανοιχτή αγκύλη ακολουθούμενη από ένα σύνολο τιμών.Αναμενόταν μια ανοιχτή αγκύλη.Αναμενόταν τουλάχιστον ένας ορισμός πεδίου.Αναμενόταν τελικό εισαγωγικό %1$s.Αναμενόταν διαχωριστής.Αναμενόταν λευκό(ά) διάστημα(τα) πριν τον διαχωριστή.Αναμενόταν η λέξη-κλειδί «TO».Απολεσθείσα έκφραση.Καμιά συναλλαγή δεν ξεκίνησε προηγουμένως.Δεν εφαρμόστηκε ακόμα.Αναμενόταν το όνομα της οντότητας.Αναμενόταν το νέο όνομα του πίνακα.Αναμενόταν το παλαιό όνομα του πίνακα.Αυτή η επιλογή έχει διαίνεξη με το «%1$s».Αυτός ο τύπος ρύτρας δεν είναι έγκυρος σε ερωτήματα πολλαπλών πινάκων.Αυτός ο τύπος ρύτρας έχει αναλυθεί προηγουμένως.Μη αναμενόμενη έναρξη δήλωσης.Μη αναμενόμενος χαρακτήρας.Μη αναμενόμενη τελεία.Μη αναμενόμενο τέλος της έκφρασης CASEΜη αναμενόμενη λέξη-κλειδί.Μη αναμενόμενη ταξινόμηση δηλώσεων.Μη αναμενόμενο τεκμήριο.Μη αναγνωρισμένη λειτουργία αλλαγής.Μη αναγνωρισμένος τύπος δεδομένων.Μη αναγνωρισμένη λέξη κλειδί.Μη αναγνωρισμένος τύπος δήλωσης.Αναμενόταν όνομα μεταβλητής.σφάλμα #1περιορισμένο σφάλμαsql-parser-4.6.1/locale/el/LC_MESSAGES/sqlparser.po000066400000000000000000000207401363525634600216330ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-01-24 07:02+0000\n" "Last-Translator: Παναγιώτης Παπάζογλου \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.11-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Δεν εφαρμόστηκε ακόμα." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Βρέθηκε μια νέα δήλωση, αλλά χωρίς διαχωριστικό μεταξύ της και της " "προηγούμενης." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Μη αναγνωρισμένη λειτουργία αλλαγής." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Αναμενόταν %1$d τιμές, αλλά βρέθηκαν %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Αναμενόταν μια ανοιχτή αγκύλη ακολουθούμενη από ένα σύνολο τιμών." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Αναμενόταν μια ανοιχτή αγκύλη." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Μη αναμενόμενη λέξη-κλειδί." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Μη αναμενόμενο τέλος της έκφρασης CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Αναμενόταν ένα όνομα συμβόλου! Μια δεσμευμένη λέξη-κλειδί δεν μπορεί να " "χρησιμοποιηθεί ως όνομα στήλης χωρίς εισαγωγικά." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Αναμενόταν όνομα συμβόλου!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Αναμενόταν ένα κόμμα ή μια κλειστή αγκύλη." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Αναμενόταν κλείσιμο αγκύλης." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Μη αναγνωρισμένος τύπος δεδομένων." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Αναμενόταν μια ετικέτα." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Βρέθηκε μια ετικέτα προηγουμένως." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Μη αναμενόμενη τελεία." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Αναμενόταν μια έκφραση." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Αναμενόταν μια αντιστάθμιση." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Αυτή η επιλογή έχει διαίνεξη με το «%1$s»." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Αναμενόταν το παλαιό όνομα του πίνακα." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Αναμενόταν η λέξη-κλειδί «TO»." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Αναμενόταν το νέο όνομα του πίνακα." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Αναμενόταν μια λειτουργία μετονομασίας." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Απολεσθείσα έκφραση." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Μη αναμενόμενος χαρακτήρας." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Αναμενόταν λευκό(ά) διάστημα(τα) πριν τον διαχωριστή." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Αναμενόταν διαχωριστής." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Αναμενόταν τελικό εισαγωγικό %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Αναμενόταν όνομα μεταβλητής." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Μη αναμενόμενη έναρξη δήλωσης." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Μη αναγνωρισμένος τύπος δήλωσης." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Καμιά συναλλαγή δεν ξεκίνησε προηγουμένως." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Μη αναμενόμενο τεκμήριο." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Αυτός ο τύπος ρύτρας έχει αναλυθεί προηγουμένως." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Μη αναγνωρισμένη λέξη κλειδί." #: src/Statement.php:377 #, fuzzy #| msgid "Unexpected beginning of statement." msgid "Keyword at end of statement." msgstr "Μη αναμενόμενη έναρξη δήλωσης." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Μη αναμενόμενη ταξινόμηση δηλώσεων." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Αναμενόταν το όνομα της οντότητας." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Αναμενόταν όνομα πίνακα." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Αναμενόταν τουλάχιστον ένας ορισμός πεδίου." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Αναμενόταν μια λέξη-κλειδί «RETURNS»." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Αυτός ο τύπος ρύτρας δεν είναι έγκυρος σε ερωτήματα πολλαπλών πινάκων." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "σφάλμα #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "περιορισμένο σφάλμα" sql-parser-4.6.1/locale/en_GB/000077500000000000000000000000001363525634600160415ustar00rootroot00000000000000sql-parser-4.6.1/locale/en_GB/LC_MESSAGES/000077500000000000000000000000001363525634600176265ustar00rootroot00000000000000sql-parser-4.6.1/locale/en_GB/LC_MESSAGES/sqlparser.mo000066400000000000000000000105261363525634600222030ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   * !  * L, y  b  4 K j  < , )I(]&$'3'["8*" -C!Su$@ I)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-10-26 23:49+0000 Last-Translator: Bo Anderson Language-Team: English (United Kingdom) Language: en_GB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.17 %1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword cannot be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognised alter operation.Unrecognised data type.Unrecognised keyword.Unrecognised statement type.Variable name was expected.error #1strict errorsql-parser-4.6.1/locale/en_GB/LC_MESSAGES/sqlparser.po000066400000000000000000000157711363525634600222150ustar00rootroot00000000000000# Automatically generated <>, 2010. # Robert Readman , 2012. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-10-26 23:49+0000\n" "Last-Translator: Bo Anderson \n" "Language-Team: English (United Kingdom) " "\n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.17\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Not implemented yet." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "A new statement was found, but no delimiter between it and the previous one." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Unrecognised alter operation." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d values were expected, but found %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "An opening bracket followed by a set of values was expected." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "An opening bracket was expected." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Unexpected keyword." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Unexpected end of CASE expression" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "A symbol name was expected! A reserved keyword cannot be used as a column " "name without backquotes." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "A symbol name was expected!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "A comma or a closing bracket was expected." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "A closing bracket was expected." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Unrecognised data type." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "An alias was expected." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "An alias was previously found." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Unexpected dot." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "An expression was expected." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "An offset was expected." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "This option conflicts with \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "The old name of the table was expected." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Keyword \"TO\" was expected." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "The new name of the table was expected." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "A rename operation was expected." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Missing expression." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Unexpected character." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Expected whitespace(s) before delimiter." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Expected delimiter." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Ending quote %1$s was expected." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Variable name was expected." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Unexpected beginning of statement." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Unrecognised statement type." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "No transaction was previously started." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Unexpected token." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "This type of clause was previously parsed." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Unrecognised keyword." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Keyword at end of statement." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Unexpected ordering of clauses." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "The name of the entity was expected." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "A table name was expected." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "At least one column definition was expected." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "A \"RETURNS\" keyword was expected." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "This type of clause is not valid in Multi-table queries." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "error #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "strict error" sql-parser-4.6.1/locale/eo/000077500000000000000000000000001363525634600154725ustar00rootroot00000000000000sql-parser-4.6.1/locale/eo/LC_MESSAGES/000077500000000000000000000000001363525634600172575ustar00rootroot00000000000000sql-parser-4.6.1/locale/eo/LC_MESSAGES/sqlparser.mo000066400000000000000000000010751363525634600216330ustar00rootroot00000000000000,<PQZ4error #1Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2016-12-21 15:58+0000 Last-Translator: Michal Čihař Language-Team: Esperanto Language: eo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.10 eraro #1sql-parser-4.6.1/locale/eo/LC_MESSAGES/sqlparser.po000066400000000000000000000132451363525634600216400ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2014 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2014. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2016-12-21 15:58+0000\n" "Last-Translator: Michal Čihař \n" "Language-Team: Esperanto \n" "Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.10\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "eraro #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/es/000077500000000000000000000000001363525634600154765ustar00rootroot00000000000000sql-parser-4.6.1/locale/es/LC_MESSAGES/000077500000000000000000000000001363525634600172635ustar00rootroot00000000000000sql-parser-4.6.1/locale/es/LC_MESSAGES/sqlparser.mo000066400000000000000000000110451363525634600216350ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   / " " - W0 $ o > ^ $t   G $3?"s6"'.,Gt$(+)>./m$#  'H(e!% )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-09-10 09:25+0000 Last-Translator: Franco Language-Team: Spanish Language: es MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.17-dev Se esperaban %1$d valores, pero encontró %2$d.Se esperaba una palabra "RETURNS".Se esperaba un corchete de cierre.Se esperaba una coma o un corchete de cierre.Se encontró una nueva declaración, pero no hay delimitador entre éste y el anterior.Se esperaba un cambio de nombre.¡Se esperaba un nombre de símbolo!¡Se esperaba un nombre de símbolo! Una palabra reservada no puede usarse como nombre de columna sin comillas.Se esperaba un nombre de tabla.Se esperaba un alias.Se encontró anteriormente un alias.Se esperaba una expresión.Se espera un desplazamiento.Se esperaba un corchete de apertura seguido por un conjunto de valores.Se esperaba un corchete de apertura.Se esperaba la definición de al menos una columna.Se esperaba terminar la cita %1$s.Delimitador esperado.Espacio(s) en blanco esperado(s) antes de delimitador.Se esperaba la palabra clave "TO".Palabra clave al final de la sentencia.Expresión desaparecida.Ninguna operación se inició anteriormente.Aún no implementado.Se esperaba el nombre de la entidad.Se esperaba el nuevo nombre de la tabla.Se esperaba el nombre anterior de la tabla.Esta opción tiene conflictos con "%1$s".Este tipo de cláusula no es válida en consultas multi-tabla.Este tipo de cláusula se analizó previamente.Comienzo inesperado de declaración.Caracter inesperado.Punto inesperado.Final inesperado de expresión CASEPalabra clave inesperada.Orden inesperado de condiciones.Símbolo (token) inesperado.Operación de modificación desconocida.Tipo de dato desconocido.Palabra clave no reconocida.Tipo de declaración desconocida.Se esperaba el nombre de la variable.error #1error estrictosql-parser-4.6.1/locale/es/LC_MESSAGES/sqlparser.po000066400000000000000000000162271363525634600216470ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-09-10 09:25+0000\n" "Last-Translator: Franco \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Aún no implementado." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Se encontró una nueva declaración, pero no hay delimitador entre éste y el " "anterior." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Operación de modificación desconocida." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Se esperaban %1$d valores, pero encontró %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" "Se esperaba un corchete de apertura seguido por un conjunto de valores." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Se esperaba un corchete de apertura." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Palabra clave inesperada." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Final inesperado de expresión CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "¡Se esperaba un nombre de símbolo! Una palabra reservada no puede usarse " "como nombre de columna sin comillas." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "¡Se esperaba un nombre de símbolo!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Se esperaba una coma o un corchete de cierre." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Se esperaba un corchete de cierre." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tipo de dato desconocido." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Se esperaba un alias." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Se encontró anteriormente un alias." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Punto inesperado." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Se esperaba una expresión." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Se espera un desplazamiento." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Esta opción tiene conflictos con \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Se esperaba el nombre anterior de la tabla." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Se esperaba la palabra clave \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Se esperaba el nuevo nombre de la tabla." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Se esperaba un cambio de nombre." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Expresión desaparecida." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Caracter inesperado." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Espacio(s) en blanco esperado(s) antes de delimitador." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Delimitador esperado." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Se esperaba terminar la cita %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Se esperaba el nombre de la variable." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Comienzo inesperado de declaración." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tipo de declaración desconocida." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Ninguna operación se inició anteriormente." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Símbolo (token) inesperado." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Este tipo de cláusula se analizó previamente." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Palabra clave no reconocida." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Palabra clave al final de la sentencia." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Orden inesperado de condiciones." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Se esperaba el nombre de la entidad." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Se esperaba un nombre de tabla." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Se esperaba la definición de al menos una columna." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Se esperaba una palabra \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Este tipo de cláusula no es válida en consultas multi-tabla." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "error #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "error estricto" sql-parser-4.6.1/locale/et/000077500000000000000000000000001363525634600154775ustar00rootroot00000000000000sql-parser-4.6.1/locale/et/LC_MESSAGES/000077500000000000000000000000001363525634600172645ustar00rootroot00000000000000sql-parser-4.6.1/locale/et/LC_MESSAGES/sqlparser.mo000066400000000000000000000102751363525634600216420ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   (   " F Q j  ! 0 G X 6f  ' !  &7Pj,z/=4*r"3Oe{ )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-09-06 19:45+0000 Last-Translator: Kristjan Räts Language-Team: Estonian Language: et MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.17-dev Oodati %1$d väärtust, kuid leiti %2$d.Oodati võtmesõna "RETURNS".Oodati lõpetavat sulgu.Oodati koma või lõpetavat sulgu.Leiti uus lause, kuid selle ja talle järgneva vahelt puudub eraldaja.Oodati ümbernimetamist.Oodati sümboli nime!Oodati sümboli nime! Reserveeritud võtmesõna saab kasutada veeru nimena ainult siis, kui ta on ühekordsete tagurpidi jutumärkide vahel.Oodati tabeli nime.Oodati aliast.Eelnevalt leiti alias.Oodati avaldist.Oodati nihet.Oodati avanevat sulgu, millele järgnevad väärtused.Oodati avanevat sulgu.Oodati vähemalt ühe veeru kirjeldust.Oodati lõpetavat sümbolit %1$s.Oodati eraldajat.Oodati eraldajale eelnevat tühemikku.Oodati võtmesõna "TO".Võtmesõna lause lõpus.Avaldis puudub.Transaktsiooni ei olnud eelnevalt alustatud.Hetkel veel rakendamata.Oodati olemi nime.Oodati tabeli uut nime.Oodati tabeli vana nime.See säte põhjustab konflikti sättega "%1$s".Sellist tüüpi klausel ei ole mitme tabeli päringus kehtiv.Sellist tüüpi klausel parsiti eelnevalt.Ootamatu lause algus.Ootamatu sümbol.Ootamatu punkt.Ootamatu CASE lause lõppOotamatu võtmesõna.Ootamatu lausete järjestus.Ootamatud märk.Tundmatu ALTER operatsioon.Tundmatu andmetüüp.Tundmatu võtmesõna.Tundmatut tüüpi lause.Oodati muutuja nime.viga #1otsene vigasql-parser-4.6.1/locale/et/LC_MESSAGES/sqlparser.po000066400000000000000000000154101363525634600216410ustar00rootroot00000000000000# # # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-09-06 19:45+0000\n" "Last-Translator: Kristjan Räts \n" "Language-Team: Estonian \n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Hetkel veel rakendamata." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "Leiti uus lause, kuid selle ja talle järgneva vahelt puudub eraldaja." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Tundmatu ALTER operatsioon." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Oodati %1$d väärtust, kuid leiti %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Oodati avanevat sulgu, millele järgnevad väärtused." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Oodati avanevat sulgu." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Ootamatu võtmesõna." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Ootamatu CASE lause lõpp" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Oodati sümboli nime! Reserveeritud võtmesõna saab kasutada veeru nimena " "ainult siis, kui ta on ühekordsete tagurpidi jutumärkide vahel." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Oodati sümboli nime!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Oodati koma või lõpetavat sulgu." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Oodati lõpetavat sulgu." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tundmatu andmetüüp." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Oodati aliast." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Eelnevalt leiti alias." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Ootamatu punkt." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Oodati avaldist." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Oodati nihet." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "See säte põhjustab konflikti sättega \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Oodati tabeli vana nime." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Oodati võtmesõna \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Oodati tabeli uut nime." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Oodati ümbernimetamist." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Avaldis puudub." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Ootamatu sümbol." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Oodati eraldajale eelnevat tühemikku." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Oodati eraldajat." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Oodati lõpetavat sümbolit %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Oodati muutuja nime." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Ootamatu lause algus." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tundmatut tüüpi lause." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Transaktsiooni ei olnud eelnevalt alustatud." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Ootamatud märk." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Sellist tüüpi klausel parsiti eelnevalt." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Tundmatu võtmesõna." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Võtmesõna lause lõpus." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Ootamatu lausete järjestus." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Oodati olemi nime." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Oodati tabeli nime." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Oodati vähemalt ühe veeru kirjeldust." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Oodati võtmesõna \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Sellist tüüpi klausel ei ole mitme tabeli päringus kehtiv." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "viga #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "otsene viga" sql-parser-4.6.1/locale/eu/000077500000000000000000000000001363525634600155005ustar00rootroot00000000000000sql-parser-4.6.1/locale/eu/LC_MESSAGES/000077500000000000000000000000001363525634600172655ustar00rootroot00000000000000sql-parser-4.6.1/locale/eu/LC_MESSAGES/sqlparser.mo000066400000000000000000000010171363525634600216350ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:26+0200 Last-Translator: Michal Čihař Language-Team: Basque Language: eu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/eu/LC_MESSAGES/sqlparser.po000066400000000000000000000144471363525634600216530ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:26+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy msgid "A symbol name was expected!" msgstr "Txantiloi-fitxategiaren izena" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Ez dago datu-baserik aukeratuta." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Ez dago datu-baserik aukeratuta." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No databases selected." msgid "An expression was expected." msgstr "Ez dago datu-baserik aukeratuta." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Errenkada ezabatua izan da" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "adierazpen erregular moduan" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "%s taula ezabatu egin da" #: src/Lexer.php:884 #, fuzzy msgid "Variable name was expected." msgstr "Txantiloi-fitxategiaren izena" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Taularen hasieran" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Taularen hasieran" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Taularen hasieran" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy msgid "A table name was expected." msgstr "Txantiloi-fitxategiaren izena" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Errenkada ezabatua izan da" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Errorea" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query type" msgid "strict error" msgstr "Kontsulta mota" sql-parser-4.6.1/locale/fa/000077500000000000000000000000001363525634600154555ustar00rootroot00000000000000sql-parser-4.6.1/locale/fa/LC_MESSAGES/000077500000000000000000000000001363525634600172425ustar00rootroot00000000000000sql-parser-4.6.1/locale/fa/LC_MESSAGES/sqlparser.mo000066400000000000000000000007711363525634600216200ustar00rootroot00000000000000$,89Project-Id-Version: Persian (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2019-03-25 20:40+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Persian Language: fa MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 3.6-dev sql-parser-4.6.1/locale/fa/LC_MESSAGES/sqlparser.po000066400000000000000000000160161363525634600216220ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2019-03-25 19:40+0000\n" "Last-Translator: manssour \n" "Language-Team: Persian \n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 3.6-dev\n" #: src/Component.php:43 src/Component.php:63 #, fuzzy msgid "Not implemented yet." msgstr "هنوز پیاده سازی نشده." #: src/Components/AlterOperation.php:241 src/Statement.php:334 #, fuzzy msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "بیانیه جدیدی یافت شد،اما هیچ محدودیتی قبل و بعد از ان یافت نشد" #: src/Components/AlterOperation.php:253 #, fuzzy msgid "Unrecognized alter operation." msgstr "عملیات غیر قابل تشخیص" #: src/Components/Array2d.php:88 #, fuzzy, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d مقادیر انتظار می رود، اما یافت شد %2$d" #: src/Components/Array2d.php:111 #, fuzzy msgid "An opening bracket followed by a set of values was expected." msgstr "یک براکت باز دنبال شده توسط مقادیر قرار داده شده" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 #, fuzzy msgid "An opening bracket was expected." msgstr "یک براکت باز دنبال شده" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 #, fuzzy msgid "Unexpected keyword." msgstr "کلمه کلیدی ناشناس" #: src/Components/CaseExpression.php:199 #, fuzzy msgid "Unexpected end of CASE expression" msgstr "پایان ناشناخته عبارات" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "No databases selected." msgid "A symbol name was expected!" msgstr "هیچ پایگاه داده ای انتخاب نشده است." #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "هیچ پایگاه داده ای انتخاب نشده است." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "هیچ پایگاه داده ای انتخاب نشده است." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "هیچ سطری انتخاب نشده است" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "سطر حذف گرديد" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "بعنوان مبين منظم(as regular expression)" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "جدول %s حذف گرديد" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "در ابتداي جدول" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "در ابتداي جدول" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "در ابتداي جدول" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "No databases selected." msgid "A table name was expected." msgstr "هیچ پایگاه داده ای انتخاب نشده است." #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "سطر حذف گرديد" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "خطا" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query" msgid "strict error" msgstr "پرس و جو" sql-parser-4.6.1/locale/fi/000077500000000000000000000000001363525634600154655ustar00rootroot00000000000000sql-parser-4.6.1/locale/fi/LC_MESSAGES/000077500000000000000000000000001363525634600172525ustar00rootroot00000000000000sql-parser-4.6.1/locale/fi/LC_MESSAGES/sqlparser.mo000066400000000000000000000044621363525634600216310ustar00rootroot00000000000000* 4*TL    <]}''"!+Mas/%M '[3Rm!     %1$d values were expected, but found %2$d.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!An alias was expected.An expression was expected.An opening bracket was expected.Ending quote %1$s was expected.Not implemented yet.The new name of the table was expected.The old name of the table was expected.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected token.Unrecognized alter operation.Unrecognized data type.Variable name was expected.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-12-01 19:45+0000 Last-Translator: ekeimaja Language-Team: Finnish Language: fi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.18-dev Odotettiin arvoa %1$d , mutta löydettiin %2$d.Odotettiin sulkumerkkiä.Odotettiin pilkkua tai sulkumerkkiä.Löydettiin uusi lauseke, muttei erotinta sen ja sitä edeltäneen välillä.Odotettiin uudelleennimeämistoimintoa.Odotettiin symbolinimeä!Odotettiin aliasta.Odotettiin ilmaisua.Odotettiin avausmerkkiä.Odotettiin loppumerkkiä %1$s.Ei vielä toteutettu.Odotettiin uutta taulunimeä.Odotettiin vanhaa taulunimeä.Odottamaton ilmaisun alku.Odottamatton merkki.Odottamaton piste.Odottamaton loppu CASE-ilmaisulleOdottamaton avainsana.Odottamaton merkki.Tunnistamaton "alter"-toiminto.Tunnistamaton datatyyppi.Odotettiin muuttujaa.sql-parser-4.6.1/locale/fi/LC_MESSAGES/sqlparser.po000066400000000000000000000154621363525634600216360ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-12-01 19:45+0000\n" "Last-Translator: ekeimaja \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.18-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ei vielä toteutettu." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Löydettiin uusi lauseke, muttei erotinta sen ja sitä edeltäneen välillä." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Tunnistamaton \"alter\"-toiminto." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Odotettiin arvoa %1$d , mutta löydettiin %2$d." #: src/Components/Array2d.php:111 #, fuzzy msgid "An opening bracket followed by a set of values was expected." msgstr "Odotettiin avausmerkki ja sitä odotettiin seuraavan arvoja." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Odotettiin avausmerkkiä." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Odottamaton avainsana." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Odottamaton loppu CASE-ilmaisulle" #: src/Components/CreateDefinition.php:223 #, fuzzy msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Odotettiin symbolin nimeä! Varattua avainsanaa ei voida käyttää palstan " "nimenä ilman lainausmerkkejä." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Odotettiin symbolinimeä!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Odotettiin pilkkua tai sulkumerkkiä." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Odotettiin sulkumerkkiä." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tunnistamaton datatyyppi." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Odotettiin aliasta." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Odottamaton piste." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Odotettiin ilmaisua." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Odotettiin vanhaa taulunimeä." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Odotettiin uutta taulunimeä." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Odotettiin uudelleennimeämistoimintoa." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "regexp-haku" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Odottamatton merkki." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Odotettiin loppumerkkiä %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Odotettiin muuttujaa." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Odottamaton ilmaisun alku." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Odottamaton merkki." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Unexpected beginning of statement." msgid "Keyword at end of statement." msgstr "Odottamaton ilmaisun alku." #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Taulun alkuun" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Avoinna olevien taulujen määrä." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Taulunimen pohja" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Rivi on nyt poistettu." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "virhettä." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Kerää virheet" sql-parser-4.6.1/locale/fr/000077500000000000000000000000001363525634600154765ustar00rootroot00000000000000sql-parser-4.6.1/locale/fr/LC_MESSAGES/000077500000000000000000000000001363525634600172635ustar00rootroot00000000000000sql-parser-4.6.1/locale/fr/LC_MESSAGES/sqlparser.mo000066400000000000000000000111061363525634600216330ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   ?b ) ' 6 e+ , # c  *   G'K6s!B$.!Su7#*(,.U22$.S!g"  -7)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: French (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-12-23 06:01+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: French Language: fr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 3.4-dev %1$d valeurs étaient attendues, mais %2$d ont été trouvées.Le mot clé « RETURNS » était attendu.Une parenthèse droite était attendue.Une virgule ou une parenthèse droite était attendus.Un nouvel énoncé a été trouvé, mais il n'y a aucun délimiteur entre celui-ci et le précédent.Une opération de renommage était attendue.Un nom de variable était attendu !Un nom de symbole était attendu ! Un mot clé réservé ne peut pas servir comme nom de colonne sans les apostrophes inverses.Un nom de table était attendu.Un alias était attendu.Un alias a été constaté précédemment.Une expression était attendue.Un décalage était prévu.Une parenthèse gauche suivie d'un ensemble de valeurs était attendus.Une parenthèse gauche était attendue.La définition d'au moins une colonne était attendue.Un guillemet %1$s était attendu.Un délimiteur était attendu.Des espaces ou tabulations étaient attendus avant le délimiteur.Le mot clé « TO » était attendu.Mot clé à la fin de l'énoncé.Expression manquante.Aucune transaction n'a été précédemment démarrée.Pas encore mis en œuvre.Le nom de l'entité était attendu.Le nouveau nom de la table était attendu.L'ancien nom de la table était attendu.Cette option entre en conflit avec « %1$s ».Ce type de clause a été analysé précédemment.Ce type de clause a été analysé précédemment.Début d'énoncé inattendu.Caractère inattendu.Point inattendu.Fin inattendue d'une expression CASEMot clef inattendu.Classement inattendu des clauses.Jeton inattendu.Opération ALTER non reconnue.Type de données non reconnu.Mot clé non reconnu.Type d'énoncé non reconnu.Un nom de variable était attendu.erreur #1erreur strictesql-parser-4.6.1/locale/fr/LC_MESSAGES/sqlparser.po000066400000000000000000000163231363525634600216440ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: phpMyAdmin-docs 4.0.0-dev\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-12-23 05:01+0000\n" "Last-Translator: tmtisfree \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 3.4-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Pas encore mis en œuvre." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Un nouvel énoncé a été trouvé, mais il n'y a aucun délimiteur entre celui-ci " "et le précédent." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Opération ALTER non reconnue." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d valeurs étaient attendues, mais %2$d ont été trouvées." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Une parenthèse gauche suivie d'un ensemble de valeurs était attendus." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Une parenthèse gauche était attendue." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Mot clef inattendu." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Fin inattendue d'une expression CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Un nom de symbole était attendu ! Un mot clé réservé ne peut pas servir " "comme nom de colonne sans les apostrophes inverses." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Un nom de variable était attendu !" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Une virgule ou une parenthèse droite était attendus." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Une parenthèse droite était attendue." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Type de données non reconnu." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Un alias était attendu." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Un alias a été constaté précédemment." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Point inattendu." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Une expression était attendue." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Un décalage était prévu." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Cette option entre en conflit avec « %1$s »." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "L'ancien nom de la table était attendu." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Le mot clé « TO » était attendu." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Le nouveau nom de la table était attendu." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Une opération de renommage était attendue." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Expression manquante." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Caractère inattendu." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Des espaces ou tabulations étaient attendus avant le délimiteur." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Un délimiteur était attendu." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Un guillemet %1$s était attendu." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Un nom de variable était attendu." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Début d'énoncé inattendu." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Type d'énoncé non reconnu." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Aucune transaction n'a été précédemment démarrée." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Jeton inattendu." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Ce type de clause a été analysé précédemment." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Mot clé non reconnu." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Mot clé à la fin de l'énoncé." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Classement inattendu des clauses." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Le nom de l'entité était attendu." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Un nom de table était attendu." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "La définition d'au moins une colonne était attendue." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Le mot clé « RETURNS » était attendu." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Ce type de clause a été analysé précédemment." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "erreur #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "erreur stricte" sql-parser-4.6.1/locale/fy/000077500000000000000000000000001363525634600155055ustar00rootroot00000000000000sql-parser-4.6.1/locale/fy/LC_MESSAGES/000077500000000000000000000000001363525634600172725ustar00rootroot00000000000000sql-parser-4.6.1/locale/fy/LC_MESSAGES/sqlparser.mo000066400000000000000000000010351363525634600216420ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-12-24 23:02+0000 Last-Translator: Robin van der Vliet Language-Team: Frisian Language: fy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/fy/LC_MESSAGES/sqlparser.po000066400000000000000000000136771363525634600216640ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2014 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2014. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-12-24 23:02+0000\n" "Last-Translator: Robin van der Vliet \n" "Language-Team: Frisian \n" "Language: fy\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "Compression" msgid "Missing expression." msgstr "Kompresje" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "Number of tables:" msgid "Unexpected beginning of statement." msgstr "Oantal tabellen:" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Number of tables:" msgid "Keyword at end of statement." msgstr "Oantal tabellen:" #: src/Statement.php:503 #, fuzzy #| msgid "Number of tables:" msgid "Unexpected ordering of clauses." msgstr "Oantal tabellen:" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Flater" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query error" msgid "strict error" msgstr "Queryflater" sql-parser-4.6.1/locale/gl/000077500000000000000000000000001363525634600154715ustar00rootroot00000000000000sql-parser-4.6.1/locale/gl/LC_MESSAGES/000077500000000000000000000000001363525634600172565ustar00rootroot00000000000000sql-parser-4.6.1/locale/gl/LC_MESSAGES/sqlparser.mo000066400000000000000000000010211363525634600216210ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2016-01-17 22:02+0000 Last-Translator: Xosé Calvo Language-Team: Galician Language: gl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/gl/LC_MESSAGES/sqlparser.po000066400000000000000000000161061363525634600216360ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2016-01-17 22:02+0000\n" "Last-Translator: Xosé Calvo \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 #, fuzzy #| msgid "Iconic table operations" msgid "Unrecognized alter operation." msgstr "Operacións de táboas con iconas" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected keyword." msgstr "Hai caracteres inesperados na liña %s." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Modelo de nome dos ficheiros" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Non hai ningunha base de datos escollida." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Non hai ningunha base de datos escollida." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Non hai ningunha fileira seleccionada" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "O número de táboas abertas." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "O número de táboas abertas." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Eliminouse a fileira" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "como expresión regular" #: src/Lexer.php:237 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected character." msgstr "Hai caracteres inesperados na liña %s." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "O acontecemento %1$s foi creado." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Modelo de nome dos ficheiros" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "No comezo da táboa" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected token." msgstr "Hai caracteres inesperados na liña %s." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "No comezo da táboa" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "No comezo da táboa" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "O número de táboas abertas." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Modelo de nome dos ficheiros" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Eliminouse a fileira" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "erros." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Recoller os erros" sql-parser-4.6.1/locale/gu/000077500000000000000000000000001363525634600155025ustar00rootroot00000000000000sql-parser-4.6.1/locale/gu/LC_MESSAGES/000077500000000000000000000000001363525634600172675ustar00rootroot00000000000000sql-parser-4.6.1/locale/gu/LC_MESSAGES/sqlparser.mo000066400000000000000000000047411363525634600216460ustar00rootroot00000000000000x*y*L<X p'!/Men'R{e9-3gO;G'Po<D/B 1r <     %1$d values were expected, but found %2$d.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.An expression was expected.An offset was expected.An opening bracket was expected.Keyword "TO" was expected.Not implemented yet.The old name of the table was expected.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unrecognized alter operation.Unrecognized data type.Project-Id-Version: Gujarati (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-12-05 15:09+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Gujarati Language: gu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 3.4-dev %1$d આ પ્રકાર ની values અપેક્ષિત હતી, પણ મળ્યું %2$d.કલોસિંગ બ્રેકેટની અપેક્ષા હતી.અલ્પવિરામ અથવા કલોસિંગ બ્રેકેટની અપેક્ષા હતી.નવો નિવેદન મળ્યો હતો, પરંતુ તે અને પાછલા એક વચ્ચે કોઈ વિભાજક અક્ષરો નથી મળયા.નિવેદનની અપેક્ષા હતી.ઓફસેટ અપેક્ષિત હતી.ઓપનિંગ બ્રેકેટ અપેક્ષિત હતું.કીવર્ડ "TO" અપેક્ષિત હતો.હજુ સુધી અમલમાં નથી મુકાયુ.ટેબલનુ જૂનું નામ અપેક્ષિત હતુ.અનપેક્ષિત પૂર્ણ વિરામ.અનપેક્ષિત અંત CASE નિવેદન નોઅનપેક્ષિત કીવર્ડ.આ ફેરફાર માન્ય નથી.અનપેક્ષિત ડેટા પ્રકાર.sql-parser-4.6.1/locale/gu/LC_MESSAGES/sqlparser.po000066400000000000000000000155301363525634600216470ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2015 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2016. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-12-05 14:09+0000\n" "Last-Translator: Hardik Jogadia \n" "Language-Team: Gujarati \n" "Language: gu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 3.4-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "હજુ સુધી અમલમાં નથી મુકાયુ." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "નવો નિવેદન મળ્યો હતો, પરંતુ તે અને પાછલા એક વચ્ચે કોઈ વિભાજક અક્ષરો નથી મળયા." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "આ ફેરફાર માન્ય નથી." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d આ પ્રકાર ની values અપેક્ષિત હતી, પણ મળ્યું %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "ઓપનિંગ બ્રેકેટ અપેક્ષિત હતું." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "અનપેક્ષિત કીવર્ડ." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "અનપેક્ષિત અંત CASE નિવેદન નો" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "અલ્પવિરામ અથવા કલોસિંગ બ્રેકેટની અપેક્ષા હતી." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "કલોસિંગ બ્રેકેટની અપેક્ષા હતી." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "અનપેક્ષિત ડેટા પ્રકાર." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "અનપેક્ષિત પૂર્ણ વિરામ." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "નિવેદનની અપેક્ષા હતી." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "ઓફસેટ અપેક્ષિત હતી." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "ટેબલનુ જૂનું નામ અપેક્ષિત હતુ." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "કીવર્ડ \"TO\" અપેક્ષિત હતો." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/he/000077500000000000000000000000001363525634600154635ustar00rootroot00000000000000sql-parser-4.6.1/locale/he/LC_MESSAGES/000077500000000000000000000000001363525634600172505ustar00rootroot00000000000000sql-parser-4.6.1/locale/he/LC_MESSAGES/sqlparser.mo000066400000000000000000000122501363525634600216210ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   E P ;5 Iq d < '] ) &Jq&$rJNI@&$BKE$" /-K;y;-P2p*9&@,g**& &1+X )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Hebrew (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-04-25 13:54+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Hebrew Language: he MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && n % 10 == 0) ? 2 : 3)); X-Generator: Weblate 3.0-dev היו אמורים להיות %1$d ערכים, אך נמצאו %2$d.אמורה הייתה להיות מילת מפתח „RETURNS” (מחזירה).אמורים היו להיות סוגריים סוגרים.אמורים היו להיות פסיק או סוגריים סוגרים.נמצא ביטוי חדש, אך לא נמצא מפריד בינו לבין הביטוי הקודם.אמורה הייתה להיות פעולת שינוי שם.אמור היה להיות שם סמל!אמור היה להיות שם של סמל! אסור להשתמש במילה שמורה בתור שם עמודה ללא סימן הטעמה משני (`).אמור היה להיות שם טבלה.אמור היה להיות כינוי.נמצא כינוי בעבר.אמור היה להיות ביטוי.אמור היה להיות היסט.היו אמורים להיות סוגריים מרובעים פותחים ואחריהם סדרה של ערכים.היו אמורים להיות סוגריים מרובעים פותחים.אמורה הייתה להיות לפחות הגדרת עמודה אחת.אמורות היו להיות מירכאות סוגרות %1$s.אמור היה להיות מפריד.אמורים היו להיות רווחים לפני המפריד.אמורה הייתה להיות מילת המפתח „TO” (אל).מילת מפתח בסוף משפט.ביטוי חסר.לא החלה העברה בעבר.לא מוטמע עדיין.אמור היה להיות שם היישות.אמור היה להיות השם החדש של הטבלה.אמור היה להיות השם הישן של הטבלה.אפשרות זו סותרת את „%1$s”.סוג סעיף זה אינו תקף בשאילתות מרובות טבלאות.סוג הסעיף הזה כבר נותח בעבר.תחילת הביטוי אינו צפוי.תו בלתי צפוי.נקודה בלתי צפויה.סיום בלתי צפוי לביטוי התניה (CASE)מילת מפתח בלתי צפויה.סידור הסעיפים בלתי צפוי.אסימון בלתי צפוי.פעולת שינוי בלתי מזוהה.סוג הנתונים אינו מזוהה.מילת מפתח בלתי מזוהה.סוג המשפט בלתי מזוהה.אמור היה להיות שם משתנה.שגיאה #1שגיאת הקפדהsql-parser-4.6.1/locale/he/LC_MESSAGES/sqlparser.po000066400000000000000000000174131363525634600216320ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-04-25 11:54+0000\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " "n % 10 == 0) ? 2 : 3));\n" "X-Generator: Weblate 3.0-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "לא מוטמע עדיין." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "נמצא ביטוי חדש, אך לא נמצא מפריד בינו לבין הביטוי הקודם." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "פעולת שינוי בלתי מזוהה." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "היו אמורים להיות %1$d ערכים, אך נמצאו %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "היו אמורים להיות סוגריים מרובעים פותחים ואחריהם סדרה של ערכים." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "היו אמורים להיות סוגריים מרובעים פותחים." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "מילת מפתח בלתי צפויה." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "סיום בלתי צפוי לביטוי התניה (CASE)" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "אמור היה להיות שם של סמל! אסור להשתמש במילה שמורה בתור שם עמודה ללא סימן " "הטעמה משני (`)." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "אמור היה להיות שם סמל!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "אמורים היו להיות פסיק או סוגריים סוגרים." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "אמורים היו להיות סוגריים סוגרים." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "סוג הנתונים אינו מזוהה." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "אמור היה להיות כינוי." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "נמצא כינוי בעבר." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "נקודה בלתי צפויה." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "אמור היה להיות ביטוי." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "אמור היה להיות היסט." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "אפשרות זו סותרת את „%1$s”." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "אמור היה להיות השם הישן של הטבלה." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "אמורה הייתה להיות מילת המפתח „TO” (אל)." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "אמור היה להיות השם החדש של הטבלה." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "אמורה הייתה להיות פעולת שינוי שם." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "ביטוי חסר." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "תו בלתי צפוי." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "אמורים היו להיות רווחים לפני המפריד." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "אמור היה להיות מפריד." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "אמורות היו להיות מירכאות סוגרות %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "אמור היה להיות שם משתנה." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "תחילת הביטוי אינו צפוי." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "סוג המשפט בלתי מזוהה." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "לא החלה העברה בעבר." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "אסימון בלתי צפוי." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "סוג הסעיף הזה כבר נותח בעבר." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "מילת מפתח בלתי מזוהה." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "מילת מפתח בסוף משפט." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "סידור הסעיפים בלתי צפוי." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "אמור היה להיות שם היישות." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "אמור היה להיות שם טבלה." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "אמורה הייתה להיות לפחות הגדרת עמודה אחת." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "אמורה הייתה להיות מילת מפתח „RETURNS” (מחזירה)." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "סוג סעיף זה אינו תקף בשאילתות מרובות טבלאות." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "שגיאה #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "שגיאת הקפדה" sql-parser-4.6.1/locale/hi/000077500000000000000000000000001363525634600154675ustar00rootroot00000000000000sql-parser-4.6.1/locale/hi/LC_MESSAGES/000077500000000000000000000000001363525634600172545ustar00rootroot00000000000000sql-parser-4.6.1/locale/hi/LC_MESSAGES/sqlparser.mo000066400000000000000000000010161363525634600216230ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:29+0200 Last-Translator: Michal Čihař Language-Team: Hindi Language: hi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/hi/LC_MESSAGES/sqlparser.po000066400000000000000000000162621363525634600216370ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:29+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Hindi \n" "Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 #, fuzzy #| msgid "Iconic table operations" msgid "Unrecognized alter operation." msgstr "चिह्न टेबल ऑपरेटरों" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "टेबल नाम टेम्पलेट" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "कोइ डाटाबेस नहीं चुना गया है।" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "कोइ डाटाबेस नहीं चुना गया है।" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "कोई पंक्ति चयनित नहीं" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "Title of browser window when a table is selected" msgid "The old name of the table was expected." msgstr "ब्राउज़र विंडो का शीर्षक है जब किसी भी सर्वर का चयन नहीं किया है" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "रौ को डिलीट कर दिया" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "नियमित अभिव्यक्ति के रूप में" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Table %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "%1$s टेबल बना दिया गया है" #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "टेबल नाम टेम्पलेट" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "टेबल के शुरू में" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "टेबल के शुरू में" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "टेबल के शुरू में" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "टेबल नाम टेम्पलेट" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "रौ को डिलीट कर दिया" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "त्रुटियों" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "त्रुटियों को इकट्ठा करें" sql-parser-4.6.1/locale/hr/000077500000000000000000000000001363525634600155005ustar00rootroot00000000000000sql-parser-4.6.1/locale/hr/LC_MESSAGES/000077500000000000000000000000001363525634600172655ustar00rootroot00000000000000sql-parser-4.6.1/locale/hr/LC_MESSAGES/sqlparser.mo000066400000000000000000000011331363525634600216340ustar00rootroot00000000000000$,8!9Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:24+0200 Last-Translator: Michal Čihař Language-Team: Croatian Language: hr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/hr/LC_MESSAGES/sqlparser.po000066400000000000000000000151371363525634600216500ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:24+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy msgid "A symbol name was expected!" msgstr "Predložak naziva datoteka" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Nema odabrane baze podataka." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Nema odabrane baze podataka." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Nema odabranih redova" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Broj otvorenih tablica." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Broj otvorenih tablica." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Redak je izbrisan" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "kao regularan izraz" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Table %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "Tablica %1$s je izrađena." #: src/Lexer.php:884 #, fuzzy msgid "Variable name was expected." msgstr "Predložak naziva datoteka" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Pri početku tablice" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Pri početku tablice" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Pri početku tablice" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Broj otvorenih tablica." #: src/Statements/CreateStatement.php:430 #, fuzzy msgid "A table name was expected." msgstr "Predložak naziva datoteka" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Redak je izbrisan" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "greške." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Skupi greške" sql-parser-4.6.1/locale/hu/000077500000000000000000000000001363525634600155035ustar00rootroot00000000000000sql-parser-4.6.1/locale/hu/LC_MESSAGES/000077500000000000000000000000001363525634600172705ustar00rootroot00000000000000sql-parser-4.6.1/locale/hu/LC_MESSAGES/sqlparser.mo000066400000000000000000000071071363525634600216460ustar00rootroot00000000000000%D5l@*A!l*L &Gcz< ,+Xx(&$ '1'Y"*"*H`v 4  $ , UF   '  ( C; $ )  - 3 +N z    - 5 E b v  '   " 1 9 $ "#  % ! %1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2016-12-21 15:58+0000 Last-Translator: Michal Čihař Language-Team: Hungarian Language: hu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.10 %1$d értékek voltak elvárva, de %2$d található."RETURNS" kulcsszavat vártunk.Záró kapcsos zárójelet vártunk.Egy vessző vagy egy záró zárójel várt.Egy új utasítás található, de nincs elválasztó közte és az előző között.Egy átnevezési művelet várt.Egy szimbólumnév várt!Egy álnév várt.Egy álnév korábban már megtalálva.Egy kifejezés várt.Offsetet vártunk.Nyitó kapcsos zárójelet és az azt követő értékeket vártuk.Nyitó kapcsos zárójelet vártunk.Legalább egy oszlopmeghatározás várt.A(z) %1$s záró idézés várt.Határolót vártunk.A határoló előtt szóközö(ke)t vártunk."TO" kulcsszavat vártunk.Nem volt korábban elindított tranzakció.Még nincs megvalósítva.Az entitás neve várt.A tábla új neve várt.A tábla régi neve várt.Ez a lehetőség ütközik ezzel: „%1$s”.A kikötés ezen típusa korábban fel lett dolgozva.Váratlan utasítás kezdet.Váratlan karakter.Váratlan pont.Váratlan jelsor.Felismerhetetlen módosítás művelet.Felismerhetetlen adattípus.Felismerhetetlen kulcsszó.Felismerhetetlen utasítástípus.Változónév várt.hiba #1szigorú hibasql-parser-4.6.1/locale/hu/LC_MESSAGES/sqlparser.po000066400000000000000000000160741363525634600216540ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2016-12-21 15:58+0000\n" "Last-Translator: Michal Čihař \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.10\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Még nincs megvalósítva." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Egy új utasítás található, de nincs elválasztó közte és az előző között." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Felismerhetetlen módosítás művelet." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d értékek voltak elvárva, de %2$d található." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Nyitó kapcsos zárójelet és az azt követő értékeket vártuk." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Nyitó kapcsos zárójelet vártunk." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 #, fuzzy #| msgid "Unexpected token." msgid "Unexpected keyword." msgstr "Váratlan jelsor." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Egy szimbólumnév várt!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Egy vessző vagy egy záró zárójel várt." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Záró kapcsos zárójelet vártunk." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Felismerhetetlen adattípus." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Egy álnév várt." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Egy álnév korábban már megtalálva." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Váratlan pont." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Egy kifejezés várt." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Offsetet vártunk." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Ez a lehetőség ütközik ezzel: „%1$s”." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "A tábla régi neve várt." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "\"TO\" kulcsszavat vártunk." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "A tábla új neve várt." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Egy átnevezési művelet várt." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "reguláris kifejezésként" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Váratlan karakter." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "A határoló előtt szóközö(ke)t vártunk." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Határolót vártunk." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "A(z) %1$s záró idézés várt." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Változónév várt." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Váratlan utasítás kezdet." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Felismerhetetlen utasítástípus." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Nem volt korábban elindított tranzakció." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Váratlan jelsor." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "A kikötés ezen típusa korábban fel lett dolgozva." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Felismerhetetlen kulcsszó." #: src/Statement.php:377 #, fuzzy #| msgid "Unexpected beginning of statement." msgid "Keyword at end of statement." msgstr "Váratlan utasítás kezdet." #: src/Statement.php:503 #, fuzzy #| msgid "at beginning of table" msgid "Unexpected ordering of clauses." msgstr "a tábla elejénél" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Az entitás neve várt." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Táblanév sablon" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Legalább egy oszlopmeghatározás várt." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "\"RETURNS\" kulcsszavat vártunk." #: src/Statements/DeleteStatement.php:314 #, fuzzy #| msgid "No transaction was previously started." msgid "This type of clause is not valid in Multi-table queries." msgstr "Nem volt korábban elindított tranzakció." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "hiba #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "szigorú hiba" sql-parser-4.6.1/locale/hy/000077500000000000000000000000001363525634600155075ustar00rootroot00000000000000sql-parser-4.6.1/locale/hy/LC_MESSAGES/000077500000000000000000000000001363525634600172745ustar00rootroot00000000000000sql-parser-4.6.1/locale/hy/LC_MESSAGES/sqlparser.mo000066400000000000000000000032441363525634600216500ustar00rootroot00000000000000 t* <]t,''-C_MEK*8 SC6>> L9j  A comma or a closing bracket was expected.A rename operation was expected.An alias was expected.An expression was expected.At least one column definition was expected.Ending quote %1$s was expected.The new name of the table was expected.The old name of the table was expected.Unexpected character.Variable name was expected.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-12-18 18:19+0000 Last-Translator: Andrey Aleksanyants Language-Team: Armenian Language: hy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Weblate 2.5-dev Սպասվում էր ստորակետը կամ փակող փակագիծը։Սպասվում էր վերանվանման գործողությունը։Սպասվում էր այլանունը։Սպասվում էր արտահայտությունը։Սպասվում էր առնվազն մեկ սյունակի սահմանումը։Սպասվում էր %1$s փակող չակերտը։Սպասվում էր աղյուսակի նոր անունը։Սպասվում էր աղյուսակի հին անունը։Անսպասելի նշան։Սպասվում էր փոփոխականի անունը։sql-parser-4.6.1/locale/hy/LC_MESSAGES/sqlparser.po000066400000000000000000000155011363525634600216520ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2012 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-12-18 18:19+0000\n" "Last-Translator: Andrey Aleksanyants \n" "Language-Team: Armenian \n" "Language: hy\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 #, fuzzy #| msgid "Unexpected character." msgid "Unexpected keyword." msgstr "Անսպասելի նշան։" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Variable name was expected." msgid "A symbol name was expected!" msgstr "Սպասվում էր փոփոխականի անունը։" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Սպասվում էր ստորակետը կամ փակող փակագիծը։" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Սպասվում էր այլանունը։" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Սպասվում էր արտահայտությունը։" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Սպասվում էր աղյուսակի հին անունը։" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Սպասվում էր աղյուսակի նոր անունը։" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Սպասվում էր վերանվանման գործողությունը։" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "որպես կանոնավոր արտահայտություն" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Անսպասելի նշան։" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Սպասվում էր %1$s փակող չակերտը։" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Սպասվում էր փոփոխականի անունը։" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected ordering of clauses." msgstr "Անսպասելի նշաններ %s տողում։" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Variable name was expected." msgid "A table name was expected." msgstr "Սպասվում էր փոփոխականի անունը։" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Սպասվում էր առնվազն մեկ սյունակի սահմանումը։" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Սխալ" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query error" msgid "strict error" msgstr "Հարցման սխալ" sql-parser-4.6.1/locale/ia/000077500000000000000000000000001363525634600154605ustar00rootroot00000000000000sql-parser-4.6.1/locale/ia/LC_MESSAGES/000077500000000000000000000000001363525634600172455ustar00rootroot00000000000000sql-parser-4.6.1/locale/ia/LC_MESSAGES/sqlparser.mo000066400000000000000000000111471363525634600216220ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   2 & % 0 U5 ( " "b  &   F $F/k&0" $/T.i$(, 'AH6'&A$`(%$+P Y)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-11-14 22:08+0000 Last-Translator: Giovanni Sora Language-Team: Interlingua Language: ia MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.18-dev %1$d valores esseva expectate, ma il trovava %2$d.On expectava le parola clave "RETURN".On expectava un parenthesis claudite.On expectava un comma o un parentheses claudite.On trovava un nove declaration, ma il non ha alcun demarcator inter isto e le previe.On expectava un operation de renominar..On expectava un nomine de symbolo!On expectava un nomine de symbolo! Un parola clave reservate non pte esser usate como nomine de columna sin retro citationes (backquotes).On expectava un nomine de tabella.On expectava un alias.Previemente on trovava un pseudonymo.On expectava un expression.On expectava un displaciamento.On expectava un parenthesis aperite sequite per un insimul de valores.On expectava un parenthesis aperite.On expectava al minus un definition de columna.On expectava le fin de citation %1$s .On expectava demarcator.On expectava spatio(s) blanc ante le demarcator.On expectava le parola clave "TO".Parola clave al fin del instruction.Expression mancante.Necun transaction esseva initiate previemente.Ancora non actuate.On expectava le nomine del entitate.On expectava le nove nomine del tabella.On expectava le vetule nomine de le tabella.Iste option conflige con "%1$s".Iste typo de proposition non es valide in query de multi-tabella.Iste typo de proposition esseva analysate previemente.Un initio de instruction non expectate.Un character non expectate.Puncto inexpectate.Un fin inexpectate del expression CASEUn parola clave non expectate.Un ordine de clausas non expectate.Un indicio non expectate.Operation d alteration non recognoscite.Typo de datos non cognoscite.Parola clave non recognoscite.Typo de declaration non recognoscite.On expectava un nomine de variabile.error #1stricte errorsql-parser-4.6.1/locale/ia/LC_MESSAGES/sqlparser.po000066400000000000000000000165561363525634600216360ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2013 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2013. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-11-14 22:08+0000\n" "Last-Translator: Giovanni Sora \n" "Language-Team: Interlingua \n" "Language: ia\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.18-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ancora non actuate." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "On trovava un nove declaration, ma il non ha alcun demarcator inter isto e " "le previe." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Operation d alteration non recognoscite." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d valores esseva expectate, ma il trovava %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "On expectava un parenthesis aperite sequite per un insimul de valores." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "On expectava un parenthesis aperite." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Un parola clave non expectate." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Un fin inexpectate del expression CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "On expectava un nomine de symbolo! Un parola clave reservate non pte esser " "usate como nomine de columna sin retro citationes (backquotes)." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "On expectava un nomine de symbolo!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "On expectava un comma o un parentheses claudite." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "On expectava un parenthesis claudite." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Typo de datos non cognoscite." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "On expectava un alias." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Previemente on trovava un pseudonymo." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Puncto inexpectate." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "On expectava un expression." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "On expectava un displaciamento." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Iste option conflige con \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "On expectava le vetule nomine de le tabella." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "On expectava le parola clave \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "On expectava le nove nomine del tabella." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "On expectava un operation de renominar.." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Expression mancante." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Un character non expectate." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "On expectava spatio(s) blanc ante le demarcator." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "On expectava demarcator." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "On expectava le fin de citation %1$s ." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "On expectava un nomine de variabile." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Un initio de instruction non expectate." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Typo de declaration non recognoscite." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Necun transaction esseva initiate previemente." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Un indicio non expectate." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Iste typo de proposition esseva analysate previemente." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Parola clave non recognoscite." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Parola clave al fin del instruction." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Un ordine de clausas non expectate." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "On expectava le nomine del entitate." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "On expectava un nomine de tabella." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "On expectava al minus un definition de columna." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "On expectava le parola clave \"RETURN\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Iste typo de proposition non es valide in query de multi-tabella." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "error #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "stricte error" sql-parser-4.6.1/locale/id/000077500000000000000000000000001363525634600154635ustar00rootroot00000000000000sql-parser-4.6.1/locale/id/LC_MESSAGES/000077500000000000000000000000001363525634600172505ustar00rootroot00000000000000sql-parser-4.6.1/locale/id/LC_MESSAGES/sqlparser.mo000066400000000000000000000105551363525634600216270ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   -d '  ) Q %V | w  1 (J (s % <  *If$}!,+D]y'2)7M`' >X a)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Indonesian (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2019-03-11 16:03+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Indonesian Language: id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 3.5.1 Nilai %1$d diharapkan. Namun, ditemukan %2$d.Sebuah kata kunci "RETURNS" diharapkan.Sebuah kurung tutup diharapkan.Sebuah koma atau kurung tutup diharapkan.Suatu pernyataan baru ditemukan, tetapi tanpa pembatas antara itu dan sebelumnya.Sebuah operasi ganti nama diharapkan.Sebuah nama simbol diharapkan!Sebuah nama simbol diharapkan! Kata kunci yang telah diatur tidak dapat digunakan sebagai nama kolom tanpa tanda kutip.Sebuah nama tabel diharapkan.Sebuah alias diharapkan.Sebuah alias telah ditemukan sebelumnya.Sebuah perintah (expression) diharapkan.Suatu pergeseran (offset) diharapkan.Sebuah kurung buka yang diikuti oleh nilai-nilai diharapkan.Sebuah kurung buka diharapkan.Setidaknya satu definisi kolom diharapkan.Petik akhir %1$s diharapkan.Mengharapkan pembatas.Mengharapkan spasi sebelum pembatas.Kata kunci "TO" diharapkan.Kata kunci pada akhir pernyataan.Perintah (expression) hilang.Tidak ada transaksi yang dimulai sebelumnya.Belum diimplementasikan.Nama entitas diharapkan.Nama baru tabel diharapkan.Nama lama tabel diharapkan.Pilihan ini bertentangan dengan "%1$s".Jenis klausa ini tidak sah dalam kueri multitabel.Jenis klausa ini telah diurai sebelumnya.Awal pernyataan tak terduga.Karakter tak terduga.Titik tak terduga.Akhir operasi CASE tak terdugaKata kunci tak terduga.Pengurutan klausa tak terduga.Token tak terduga.Operasi ubah tabel (alter) tak dikenal.Tipe data tak dikenal.Kata kunci tak dikenal.Jenis pernyataan tak dikenal.Nama variabel diharapkan.galat #1galat ketatsql-parser-4.6.1/locale/id/LC_MESSAGES/sqlparser.po000066400000000000000000000160251363525634600216300ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2019-03-11 15:03+0000\n" "Last-Translator: Muhammad Rifqi Priyo Susanto " "\n" "Language-Team: Indonesian \n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.5.1\n" "X-Poedit-Basepath: ../../..\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Belum diimplementasikan." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Suatu pernyataan baru ditemukan, tetapi tanpa pembatas antara itu dan " "sebelumnya." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Operasi ubah tabel (alter) tak dikenal." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Nilai %1$d diharapkan. Namun, ditemukan %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Sebuah kurung buka yang diikuti oleh nilai-nilai diharapkan." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Sebuah kurung buka diharapkan." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Kata kunci tak terduga." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Akhir operasi CASE tak terduga" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Sebuah nama simbol diharapkan! Kata kunci yang telah diatur tidak dapat " "digunakan sebagai nama kolom tanpa tanda kutip." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Sebuah nama simbol diharapkan!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Sebuah koma atau kurung tutup diharapkan." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Sebuah kurung tutup diharapkan." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tipe data tak dikenal." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Sebuah alias diharapkan." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Sebuah alias telah ditemukan sebelumnya." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Titik tak terduga." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Sebuah perintah (expression) diharapkan." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Suatu pergeseran (offset) diharapkan." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Pilihan ini bertentangan dengan \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Nama lama tabel diharapkan." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Kata kunci \"TO\" diharapkan." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Nama baru tabel diharapkan." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Sebuah operasi ganti nama diharapkan." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Perintah (expression) hilang." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Karakter tak terduga." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Mengharapkan spasi sebelum pembatas." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Mengharapkan pembatas." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Petik akhir %1$s diharapkan." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Nama variabel diharapkan." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Awal pernyataan tak terduga." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Jenis pernyataan tak dikenal." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Tidak ada transaksi yang dimulai sebelumnya." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Token tak terduga." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Jenis klausa ini telah diurai sebelumnya." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Kata kunci tak dikenal." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Kata kunci pada akhir pernyataan." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Pengurutan klausa tak terduga." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Nama entitas diharapkan." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Sebuah nama tabel diharapkan." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Setidaknya satu definisi kolom diharapkan." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Sebuah kata kunci \"RETURNS\" diharapkan." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Jenis klausa ini tidak sah dalam kueri multitabel." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "galat #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "galat ketat" sql-parser-4.6.1/locale/it/000077500000000000000000000000001363525634600155035ustar00rootroot00000000000000sql-parser-4.6.1/locale/it/LC_MESSAGES/000077500000000000000000000000001363525634600172705ustar00rootroot00000000000000sql-parser-4.6.1/locale/it/LC_MESSAGES/sqlparser.mo000066400000000000000000000111321363525634600216370ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   8 ' . k2 &  j  *   @ ;-\=!(%N7d')*'@R9(#(L!a(   :D)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-09-09 08:40+0000 Last-Translator: Dan Ungureanu Language-Team: Italian Language: it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.17-dev Erano attesi %1$d valori, ma ne sono stati trovati %2$d.Era attesa una parola chiave "RETURNS".Era attesa una parentesi chiusa.Era attesa una virgola o una parentesi chiusa.E' stato trovato un nuovo statement, ma c'è alcun delimitatore tra questo nuovo statement e il precedente.Era attesa una operazione di rinomina.Era atteso un nome di simbolo!Era atteso un nome di simbolo! Un termine riservato non può essere usato come nome di un campo senza inserirlo tra backquotes ( ` ).Era atteso un nome di tabella.Era atteso un alias.Un alias è stato trovato precedentemente.Era attesa un'espressione.Era atteso un offset.Era attesa una parentesi aperta seguita da un insieme di valori.Era attesa una parentesi aperta.Era attesa almeno la definizione di un campo.Era atteso il fine quote %1$s.Era atteso un delimitatore.Erano attesi uno o più spazi bianchi prima del delimitatore.Era attesa la parola chiave "TO".Parola chiave alla fine dello statement.Espressione mancante.Non è stata iniziata alcuna transazione in precedenza.Non ancora implementato.Era atteso il nome dell'entity.Era atteso il nuovo nome della tabella.Era atteso il vecchio nome della tabella.Questa opzione è in conflitto con "%1$s".Questo tipo di clausola non è valida nelle query Multi-tabella.Questo tipo di clausola è stata esaminata in precedenza.Inizio di statement inatteso.Carattere inatteso.Segno di punteggiatura "punto" inatteso.Inattesa fine dell'espressione CASEKeyword inaspettata.Ordinamento di clausole inatteso.Token inatteso.Operazione di modifica non riconosciuta.Tipo dati non riconosciuto.Parola chiave non riconosciuta.Tipo statement non riconosciuto.Era atteso un nome di variabile.errore #1errore di tipo strictsql-parser-4.6.1/locale/it/LC_MESSAGES/sqlparser.po000066400000000000000000000163131363525634600216500ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-09-09 08:40+0000\n" "Last-Translator: Dan Ungureanu \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Non ancora implementato." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "E' stato trovato un nuovo statement, ma c'è alcun delimitatore tra questo " "nuovo statement e il precedente." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Operazione di modifica non riconosciuta." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Erano attesi %1$d valori, ma ne sono stati trovati %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Era attesa una parentesi aperta seguita da un insieme di valori." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Era attesa una parentesi aperta." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Keyword inaspettata." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Inattesa fine dell'espressione CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Era atteso un nome di simbolo! Un termine riservato non può essere usato " "come nome di un campo senza inserirlo tra backquotes ( ` )." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Era atteso un nome di simbolo!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Era attesa una virgola o una parentesi chiusa." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Era attesa una parentesi chiusa." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tipo dati non riconosciuto." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Era atteso un alias." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Un alias è stato trovato precedentemente." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Segno di punteggiatura \"punto\" inatteso." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Era attesa un'espressione." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Era atteso un offset." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Questa opzione è in conflitto con \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Era atteso il vecchio nome della tabella." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Era attesa la parola chiave \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Era atteso il nuovo nome della tabella." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Era attesa una operazione di rinomina." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Espressione mancante." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Carattere inatteso." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Erano attesi uno o più spazi bianchi prima del delimitatore." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Era atteso un delimitatore." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Era atteso il fine quote %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Era atteso un nome di variabile." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Inizio di statement inatteso." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tipo statement non riconosciuto." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Non è stata iniziata alcuna transazione in precedenza." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Token inatteso." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Questo tipo di clausola è stata esaminata in precedenza." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Parola chiave non riconosciuta." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Parola chiave alla fine dello statement." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Ordinamento di clausole inatteso." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Era atteso il nome dell'entity." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Era atteso un nome di tabella." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Era attesa almeno la definizione di un campo." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Era attesa una parola chiave \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Questo tipo di clausola non è valida nelle query Multi-tabella." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "errore #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "errore di tipo strict" sql-parser-4.6.1/locale/ja/000077500000000000000000000000001363525634600154615ustar00rootroot00000000000000sql-parser-4.6.1/locale/ja/LC_MESSAGES/000077500000000000000000000000001363525634600172465ustar00rootroot00000000000000sql-parser-4.6.1/locale/ja/LC_MESSAGES/sqlparser.mo000066400000000000000000000116731363525634600216270ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   Eb 2 ' 3 {7 $ % ' ' 3 ,'HHp*90'O6w-BB8{<0-;6Hr-6 9U!u"$*0H!y )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Japanese (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2019-02-22 17:18+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Japanese Language: ja MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 3.5-dev 値 %1$d があるべきですが、 %2$d が見つかりました。キーワード "RETURNS" があるべきです。閉じる括弧があるべきです。カンマか閉じる括弧があるべきです。新しいステートメントが見つかりましたが、それとその前の間に区切り文字がありません。リネーム操作が必要です。シンボル名があるべきです!シンボル名が予期されていました。 カラム名は予約語を利用するときに、バッククォートでエスケープする必要があります。テーブル名があるべきです。エイリアスがあるべきです。エイリアスが前に見つかっています。式があるべきです。オフセットがあるべきです。左括弧とそれに続く一連の値が予期されていました。左括弧が予期されていました。少なくとも 1 つのカラム定義が必要です。終端クォート %1$s があるべきです。区切り文字があるべきです。空白が区切り文字の前にあるべきです。キーワード "TO" があるべきです。ステートメントの末尾にキーワードがあります。式がありません。開始されているトランザクションはありません。実装されていません。エンティティの名前が予想されていました。テーブルの新しい名前が必要です。テーブルの古い名前が必要です。このオプションは "%1$s" と競合しています。この句の種類は、複数テーブルクエリでは無効です。この句種類は既に処理しました。ステートメントの開始があるべきです。予期しない文字。予期しないドット。予期しないCASE式の終了予期しないキーワード。予期しない節の順序。予期しないトークン。認識できない alter 操作。認識できないデータ形式。認識できないキーワードです。認識されないステートメント形式。変数名があるべきです。エラー #1厳格なエラーsql-parser-4.6.1/locale/ja/LC_MESSAGES/sqlparser.po000066400000000000000000000170471363525634600216330ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2019-02-22 16:18+0000\n" "Last-Translator: Joshua PowellNishiyama \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "実装されていません。" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "新しいステートメントが見つかりましたが、それとその前の間に区切り文字がありま" "せん。" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "認識できない alter 操作。" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "値 %1$d があるべきですが、 %2$d が見つかりました。" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "左括弧とそれに続く一連の値が予期されていました。" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "左括弧が予期されていました。" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "予期しないキーワード。" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "予期しないCASE式の終了" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "シンボル名が予期されていました。 カラム名は予約語を利用するときに、バッククォートでエスケープする必要があります。" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "シンボル名があるべきです!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "カンマか閉じる括弧があるべきです。" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "閉じる括弧があるべきです。" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "認識できないデータ形式。" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "エイリアスがあるべきです。" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "エイリアスが前に見つかっています。" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "予期しないドット。" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "式があるべきです。" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "オフセットがあるべきです。" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "このオプションは \"%1$s\" と競合しています。" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "テーブルの古い名前が必要です。" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "キーワード \"TO\" があるべきです。" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "テーブルの新しい名前が必要です。" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "リネーム操作が必要です。" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "式がありません。" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "予期しない文字。" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "空白が区切り文字の前にあるべきです。" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "区切り文字があるべきです。" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "終端クォート %1$s があるべきです。" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "変数名があるべきです。" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "ステートメントの開始があるべきです。" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "認識されないステートメント形式。" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "開始されているトランザクションはありません。" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "予期しないトークン。" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "この句種類は既に処理しました。" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "認識できないキーワードです。" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "ステートメントの末尾にキーワードがあります。" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "予期しない節の順序。" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "エンティティの名前が予想されていました。" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "テーブル名があるべきです。" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "少なくとも 1 つのカラム定義が必要です。" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "キーワード \"RETURNS\" があるべきです。" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "この句の種類は、複数テーブルクエリでは無効です。" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "エラー #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "厳格なエラー" sql-parser-4.6.1/locale/ka/000077500000000000000000000000001363525634600154625ustar00rootroot00000000000000sql-parser-4.6.1/locale/ka/LC_MESSAGES/000077500000000000000000000000001363525634600172475ustar00rootroot00000000000000sql-parser-4.6.1/locale/ka/LC_MESSAGES/sqlparser.mo000066400000000000000000000010141363525634600216140ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:03+0200 Last-Translator: Michal Čihař Language-Team: Georgian Language: ka MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/ka/LC_MESSAGES/sqlparser.po000066400000000000000000000151231363525634600216250ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:03+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Georgian \n" "Language: ka\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Remove selected users" msgid "A symbol name was expected!" msgstr "Remove selected users" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "Remove selected users" msgid "A comma or a closing bracket was expected." msgstr "Remove selected users" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "Remove selected users" msgid "An alias was expected." msgstr "Remove selected users" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "Remove selected users" msgid "An expression was expected." msgstr "Remove selected users" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "სტრიქონი წაიშალა" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "რეგულარული გამოსახულება" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Table %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "Table %1$s has been created." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "ცხრილის დასაწყისში" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "ცხრილის დასაწყისში" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "ცხრილის დასაწყისში" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Remove selected users" msgid "A table name was expected." msgstr "Remove selected users" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "სტრიქონი წაიშალა" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "შეცდომა" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Ignore errors" msgid "strict error" msgstr "შეცდომების იგნორირება" sql-parser-4.6.1/locale/kk/000077500000000000000000000000001363525634600154745ustar00rootroot00000000000000sql-parser-4.6.1/locale/kk/LC_MESSAGES/000077500000000000000000000000001363525634600172615ustar00rootroot00000000000000sql-parser-4.6.1/locale/kk/LC_MESSAGES/sqlparser.mo000066400000000000000000000104111363525634600216270ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   ,c !  & N B c ly   " 9 K ;^  / ( )"Li *! ,,8Y(  !6Rk  )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Kazakh (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2019-04-01 21:04+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Kazakh Language: kk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 3.6-dev %1$d mánderi kútilgen, biraq %2$d tabyldy.«RETURNS» kilt sózi kútilgen.Jabushy jaqsha kútilgen.Útir nemese jabushy jaqsha kútilgen.Jańa nusqaý tabyldy, biraq onyń men aldyńǵy bireý arasynda bólgish joq.Qaıta ataý áreketi kútilgen.Tańba aty kútilgen!Tańba aty kútilgen! Saqtalǵan kilt sózdi doǵal ekpindersiz baǵan aty retinde paıdalanýǵa bolmaıdy.Keste aty kútilgen.Búrkenshik aty kútilgen.Aldynda búrkenshik aty tabylǵan.Órnek kútilgen.Yǵysý kútilgen.Ashýshy jaqsha, sodan keıin mánder jıyntyǵy kútilgen.Ashýshy jaqsha kútilgen.Eń keminde bir baǵannyń anyqtamsy kútilgen.«%1$s» jabýshy tyrnaqshasy kútilgen.Bólgish kútilgen.Bólgishke deıin bosoryn(dar) kútilgen.«TO» kilt sózi kútilgen.Nusqaý aıaǵynda kilt sóz.Órnek joq.Eshbir tranzaksıa aldynda bastalǵan joq.Áli iske asyrylmady.Nysan aty kútilgen.Kesteniń jańa ataýy kútilgen.Kesteniń eski ataýy kútilgen.Bul opsıa «%1$s» degenmen qaıshy keledi.Birneshe keste saýaldarynda bul sóılem tyri jaramsyz.Bul sóılemdiń túri aldynda taldandy.Nusqaýdyń kútpegen bastalýy.Kútpegen tańba.Kútpegen núkte.CASE órneginiń kútpegen sońyKútpegen kilt sóz.Kútpegen sóılemder reti.Kútpegen tańbalaýysh.Tanylmaǵan ózgertý áreketi.Tanylmaǵan derekter túri.Tanylmaǵan kilt sóz.Tanylmaǵan nusqaý túri.Aınymaly aty kútilgen.qate № 1qatań qatesql-parser-4.6.1/locale/kk/LC_MESSAGES/sqlparser.po000066400000000000000000000160331363525634600216400ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2012 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2019-04-01 19:04+0000\n" "Last-Translator: WWWesten \n" "Language-Team: Kazakh \n" "Language: kk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 3.6-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Áli iske asyrylmady." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "Jańa nusqaý tabyldy, biraq onyń men aldyńǵy bireý arasynda bólgish joq." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Tanylmaǵan ózgertý áreketi." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d mánderi kútilgen, biraq %2$d tabyldy." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Ashýshy jaqsha, sodan keıin mánder jıyntyǵy kútilgen." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Ashýshy jaqsha kútilgen." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Kútpegen kilt sóz." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "CASE órneginiń kútpegen sońy" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Tańba aty kútilgen! Saqtalǵan kilt sózdi doǵal ekpindersiz baǵan aty retinde " "paıdalanýǵa bolmaıdy." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Tańba aty kútilgen!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Útir nemese jabushy jaqsha kútilgen." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Jabushy jaqsha kútilgen." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tanylmaǵan derekter túri." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Búrkenshik aty kútilgen." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Aldynda búrkenshik aty tabylǵan." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Kútpegen núkte." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Órnek kútilgen." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Yǵysý kútilgen." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Bul opsıa «%1$s» degenmen qaıshy keledi." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Kesteniń eski ataýy kútilgen." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "«TO» kilt sózi kútilgen." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Kesteniń jańa ataýy kútilgen." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Qaıta ataý áreketi kútilgen." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Órnek joq." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Kútpegen tańba." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Bólgishke deıin bosoryn(dar) kútilgen." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Bólgish kútilgen." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "«%1$s» jabýshy tyrnaqshasy kútilgen." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Aınymaly aty kútilgen." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Nusqaýdyń kútpegen bastalýy." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tanylmaǵan nusqaý túri." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Eshbir tranzaksıa aldynda bastalǵan joq." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Kútpegen tańbalaýysh." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Bul sóılemdiń túri aldynda taldandy." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Tanylmaǵan kilt sóz." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Nusqaý aıaǵynda kilt sóz." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Kútpegen sóılemder reti." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Nysan aty kútilgen." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Keste aty kútilgen." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Eń keminde bir baǵannyń anyqtamsy kútilgen." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "«RETURNS» kilt sózi kútilgen." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Birneshe keste saýaldarynda bul sóılem tyri jaramsyz." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "qate № 1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "qatań qate" sql-parser-4.6.1/locale/km/000077500000000000000000000000001363525634600154765ustar00rootroot00000000000000sql-parser-4.6.1/locale/km/LC_MESSAGES/000077500000000000000000000000001363525634600172635ustar00rootroot00000000000000sql-parser-4.6.1/locale/km/LC_MESSAGES/sqlparser.mo000066400000000000000000000011541363525634600216350ustar00rootroot00000000000000,<PQZVerror #1Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-08-12 15:08+0000 Last-Translator: ប៉ុកណូ រ៉ូយ៉ាល់ Language-Team: Central Khmer Language: km MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 2.16 កំហុស​ #1sql-parser-4.6.1/locale/km/LC_MESSAGES/sqlparser.po000066400000000000000000000151071363525634600216430ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2014 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2014. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-08-12 15:08+0000\n" "Last-Translator: ប៉ុកណូ រ៉ូយ៉ាល់ \n" "Language-Team: Central Khmer \n" "Language: km\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 2.16\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "No databases selected." msgid "A symbol name was expected!" msgstr "មិន​បាន​ជ្រើស​មូលដ្ឋាន​ទិន្នន័យ។" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "មិន​បាន​ជ្រើស​មូលដ្ឋាន​ទិន្នន័យ។" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "មិន​បាន​ជ្រើស​មូលដ្ឋាន​ទិន្នន័យ។" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No databases selected." msgid "An expression was expected." msgstr "មិន​បាន​ជ្រើស​មូលដ្ឋាន​ទិន្នន័យ។" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The bookmark has been deleted." msgid "A rename operation was expected." msgstr "បាន​លុប​ចំណាំ។" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "No databases selected." msgid "A table name was expected." msgstr "មិន​បាន​ជ្រើស​មូលដ្ឋាន​ទិន្នន័យ។" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The bookmark has been deleted." msgid "At least one column definition was expected." msgstr "បាន​លុប​ចំណាំ។" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "កំហុស​ #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/kn/000077500000000000000000000000001363525634600154775ustar00rootroot00000000000000sql-parser-4.6.1/locale/kn/LC_MESSAGES/000077500000000000000000000000001363525634600172645ustar00rootroot00000000000000sql-parser-4.6.1/locale/kn/LC_MESSAGES/sqlparser.mo000066400000000000000000000010341363525634600216330ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-07-24 13:05+0200 Last-Translator: Shameem Ahmed A Mulla Language-Team: Kannada Language: kn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.4-dev sql-parser-4.6.1/locale/kn/LC_MESSAGES/sqlparser.po000066400000000000000000000134611363525634600216450ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2013 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2013. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-07-24 13:05+0200\n" "Last-Translator: Shameem Ahmed A Mulla \n" "Language-Team: Kannada \n" "Language: kn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.4-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "No tables selected." msgid "A table name was expected." msgstr "ಯಾವುದೇ ಕೋಷ್ಟಕಗಳು ಆಯ್ಕೆ ಮಾಡಲಿಲ್ಲ." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/ko/000077500000000000000000000000001363525634600155005ustar00rootroot00000000000000sql-parser-4.6.1/locale/ko/LC_MESSAGES/000077500000000000000000000000001363525634600172655ustar00rootroot00000000000000sql-parser-4.6.1/locale/ko/LC_MESSAGES/sqlparser.mo000066400000000000000000000035051363525634600216410ustar00rootroot00000000000000 h*i''<"d!@'D#b(+74-H$v&'*/    %1$d values were expected, but found %2$d.A symbol name was expected!An expression was expected.An offset was expected.Keyword "TO" was expected.Not implemented yet.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unrecognized alter operation.Unrecognized data type.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2016-12-25 22:02+0000 Last-Translator: SD SkyKlouD Language-Team: Korean Language: ko MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 2.11-dev 값 %1$d 이 예상되었지만, %2$d 가 발견되었습니다.심볼 이름이 예상되었습니다!식이 예상되었습니다.오프셋이 예상되었습니다.키워드 "TO"가 예상되었습니다.아직 구현되지 않은 기능입니다.테이블의 새로운 이름이 예상되었습니다.테이블의 이전 이름이 예상되었습니다.이 옵션은 "%1$s"와(과) 충돌합니다.예상되지 않은 점(.)입니다.예상되지 않은 CASE 문의 종료예상되지 않은 키워드입니다.인식되지 않은 ALTER 작업입니다.인식할 수 없는 데이터 형식입니다.sql-parser-4.6.1/locale/ko/LC_MESSAGES/sqlparser.po000066400000000000000000000162501363525634600216450ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2016-12-25 22:02+0000\n" "Last-Translator: SD SkyKlouD \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 2.11-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "아직 구현되지 않은 기능입니다." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "인식되지 않은 ALTER 작업입니다." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "값 %1$d 이 예상되었지만, %2$d 가 발견되었습니다." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "예상되지 않은 키워드입니다." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "예상되지 않은 CASE 문의 종료" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "심볼 이름이 예상되었습니다!" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No tables selected." msgid "A comma or a closing bracket was expected." msgstr "테이블이 선택되지 않았습니다." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "인식할 수 없는 데이터 형식입니다." #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No tables selected." msgid "An alias was expected." msgstr "테이블이 선택되지 않았습니다." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "예상되지 않은 점(.)입니다." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "식이 예상되었습니다." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "오프셋이 예상되었습니다." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "이 옵션은 \"%1$s\"와(과) 충돌합니다." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "테이블의 이전 이름이 예상되었습니다." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "키워드 \"TO\"가 예상되었습니다." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "테이블의 새로운 이름이 예상되었습니다." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "행을 삭제 하였습니다." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "정규표현식" #: src/Lexer.php:237 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected character." msgstr "%s 라인에 알 수 없는 문자가 있습니다." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "이벤트 %1$s 를 생성했습니다." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "파일명 템플릿" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "테이블의 처음" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected token." msgstr "%s 라인에 알 수 없는 문자가 있습니다." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "테이블의 처음" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "테이블의 처음" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "열린 테이블 수." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "파일명 템플릿" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "행을 삭제 하였습니다." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "오류" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "오류 수집" sql-parser-4.6.1/locale/ksh/000077500000000000000000000000001363525634600156545ustar00rootroot00000000000000sql-parser-4.6.1/locale/ksh/LC_MESSAGES/000077500000000000000000000000001363525634600174415ustar00rootroot00000000000000sql-parser-4.6.1/locale/ksh/LC_MESSAGES/sqlparser.mo000066400000000000000000000010331363525634600220070ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2014-10-02 15:09+0200 Last-Translator: Purodha Language-Team: Colognian Language: ksh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n==0 ? 0 : n==1 ? 1 : 2; X-Generator: Weblate 1.10-dev sql-parser-4.6.1/locale/ksh/LC_MESSAGES/sqlparser.po000066400000000000000000000133641363525634600220240ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2014 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2014. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2014-10-02 15:09+0200\n" "Last-Translator: Purodha \n" "Language-Team: Colognian \n" "Language: ksh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==0 ? 0 : n==1 ? 1 : 2;\n" "X-Generator: Weblate 1.10-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "The database name is empty!" msgid "A table name was expected." msgstr "Kein Name för di Dahtebangk!" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/ky/000077500000000000000000000000001363525634600155125ustar00rootroot00000000000000sql-parser-4.6.1/locale/ky/LC_MESSAGES/000077500000000000000000000000001363525634600172775ustar00rootroot00000000000000sql-parser-4.6.1/locale/ky/LC_MESSAGES/sqlparser.mo000066400000000000000000000010171363525634600216470ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:03+0200 Last-Translator: Michal Čihař Language-Team: Kyrgyz Language: ky MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/ky/LC_MESSAGES/sqlparser.po000066400000000000000000000145311363525634600216570ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2013 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2013. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:03+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Kyrgyz \n" "Language: ky\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Database %1$s has been created." msgid "A symbol name was expected!" msgstr "%1$s аттуу берилиштер базасы түзүлдү." #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "Database %1$s has been created." msgid "A comma or a closing bracket was expected." msgstr "%1$s аттуу берилиштер базасы түзүлдү." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "Database %1$s has been created." msgid "An alias was expected." msgstr "%1$s аттуу берилиштер базасы түзүлдү." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "Database %1$s has been created." msgid "A rename operation was expected." msgstr "%1$s аттуу берилиштер базасы түзүлдү." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Database %1$s has been created." msgid "A table name was expected." msgstr "%1$s аттуу берилиштер базасы түзүлдү." #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "Database %1$s has been created." msgid "At least one column definition was expected." msgstr "%1$s аттуу берилиштер базасы түзүлдү." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/li/000077500000000000000000000000001363525634600154735ustar00rootroot00000000000000sql-parser-4.6.1/locale/li/LC_MESSAGES/000077500000000000000000000000001363525634600172605ustar00rootroot00000000000000sql-parser-4.6.1/locale/li/LC_MESSAGES/sqlparser.mo000066400000000000000000000010421363525634600216260ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-12-29 15:36+0000 Last-Translator: Robin van der Vliet Language-Team: Limburgish Language: li MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/li/LC_MESSAGES/sqlparser.po000066400000000000000000000132561363525634600216430ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2014 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2014. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-12-29 15:36+0000\n" "Last-Translator: Robin van der Vliet \n" "Language-Team: Limburgish \n" "Language: li\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/lt/000077500000000000000000000000001363525634600155065ustar00rootroot00000000000000sql-parser-4.6.1/locale/lt/LC_MESSAGES/000077500000000000000000000000001363525634600172735ustar00rootroot00000000000000sql-parser-4.6.1/locale/lt/LC_MESSAGES/sqlparser.mo000066400000000000000000000011221363525634600216400ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:20+0200 Last-Translator: Michal Čihař Language-Team: Lithuanian Language: lt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/lt/LC_MESSAGES/sqlparser.po000066400000000000000000000155731363525634600216620ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:20+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Lithuanian \n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" "%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 #, fuzzy #| msgid "Iconic table operations" msgid "Unrecognized alter operation." msgstr "Piktograminės lentelių operacijos" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Lentelės vardo šablonas" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Nepažymėjote duomenų bazės." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Nepažymėjote duomenų bazės." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Nepasirinkti įrašai" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Lentelių kurios yra atidarytos skaičius." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Lentelių kurios yra atidarytos skaičius." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Eilutė buvo ištrinta" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "kaip reguliarųjį išsireiškimą" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "Įvykis %1$s buvo sukurtas." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Lentelės vardo šablonas" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Lentelės pradžioje" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Lentelės pradžioje" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Lentelės pradžioje" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Lentelių kurios yra atidarytos skaičius." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Lentelės vardo šablonas" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Eilutė buvo ištrinta" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "klaidos." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Rinkti klaidas" sql-parser-4.6.1/locale/lv/000077500000000000000000000000001363525634600155105ustar00rootroot00000000000000sql-parser-4.6.1/locale/lv/LC_MESSAGES/000077500000000000000000000000001363525634600172755ustar00rootroot00000000000000sql-parser-4.6.1/locale/lv/LC_MESSAGES/sqlparser.mo000066400000000000000000000010701363525634600216440ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2016-01-23 11:11+0000 Last-Translator: Arturs Nikolajevs Language-Team: Latvian Language: lv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/lv/LC_MESSAGES/sqlparser.po000066400000000000000000000144241363525634600216560ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2016-01-23 11:11+0000\n" "Last-Translator: Arturs Nikolajevs \n" "Language-Team: Latvian \n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy msgid "A symbol name was expected!" msgstr "Faila nosaukuma šablons" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Datubāze nav izvēlēta." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Datubāze nav izvēlēta." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Rindas nav iezīmētas" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Ieraksts tika dzēsts" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "kā regulārā izteiksme" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "Tabula %s tika izdzēsta" #: src/Lexer.php:884 #, fuzzy msgid "Variable name was expected." msgstr "Faila nosaukuma šablons" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Tabulas sākumā" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Tabulas sākumā" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Tabulas sākumā" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy msgid "A table name was expected." msgstr "Faila nosaukuma šablons" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Ieraksts tika dzēsts" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Kļūda" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query type" msgid "strict error" msgstr "Vaicājuma tips" sql-parser-4.6.1/locale/mk/000077500000000000000000000000001363525634600154765ustar00rootroot00000000000000sql-parser-4.6.1/locale/mk/LC_MESSAGES/000077500000000000000000000000001363525634600172635ustar00rootroot00000000000000sql-parser-4.6.1/locale/mk/LC_MESSAGES/sqlparser.mo000066400000000000000000000010441363525634600216330ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:23+0200 Last-Translator: Michal Čihař Language-Team: Macedonian Language: mk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n==1 || n%10==1 ? 0 : 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/mk/LC_MESSAGES/sqlparser.po000066400000000000000000000151241363525634600216420ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:23+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Macedonian \n" "Language: mk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n==1 || n%10==1 ? 0 : 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy msgid "A symbol name was expected!" msgstr "Шаблон на име на податотека" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Не е избрана ни една база на податоци." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Не е избрана ни една база на податоци." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Нема селектирани записи" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Записот е избришан" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "како регуларен израз" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "Табелата %s е избришана" #: src/Lexer.php:884 #, fuzzy msgid "Variable name was expected." msgstr "Шаблон на име на податотека" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "на почетокот од табелата" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "на почетокот од табелата" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "на почетокот од табелата" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy msgid "A table name was expected." msgstr "Шаблон на име на податотека" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Записот е избришан" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Грешка" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query type" msgid "strict error" msgstr "Вид на упит" sql-parser-4.6.1/locale/ml/000077500000000000000000000000001363525634600154775ustar00rootroot00000000000000sql-parser-4.6.1/locale/ml/LC_MESSAGES/000077500000000000000000000000001363525634600172645ustar00rootroot00000000000000sql-parser-4.6.1/locale/ml/LC_MESSAGES/sqlparser.mo000066400000000000000000000010221363525634600216300ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:05+0200 Last-Translator: Michal Čihař Language-Team: Malayalam Language: ml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/ml/LC_MESSAGES/sqlparser.po000066400000000000000000000145441363525634600216500ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2011 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:05+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Malayalam \n" "Language: ml\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Remove database" msgid "A symbol name was expected!" msgstr "വിവരശേഖരം നീക്കുക" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "Remove database" msgid "A comma or a closing bracket was expected." msgstr "വിവരശേഖരം നീക്കുക" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "Remove database" msgid "An alias was expected." msgstr "വിവരശേഖരം നീക്കുക" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "Remove database" msgid "An expression was expected." msgstr "വിവരശേഖരം നീക്കുക" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "Database %1$s has been created." msgid "A rename operation was expected." msgstr "വിവരശേഖരം(ങ്ങൾ) %1$s സൃഷ്ടിച്ചിരിക്കുന്നു." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Remove database" msgid "A table name was expected." msgstr "വിവരശേഖരം നീക്കുക" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "Database %1$s has been created." msgid "At least one column definition was expected." msgstr "വിവരശേഖരം(ങ്ങൾ) %1$s സൃഷ്ടിച്ചിരിക്കുന്നു." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/mn/000077500000000000000000000000001363525634600155015ustar00rootroot00000000000000sql-parser-4.6.1/locale/mn/LC_MESSAGES/000077500000000000000000000000001363525634600172665ustar00rootroot00000000000000sql-parser-4.6.1/locale/mn/LC_MESSAGES/sqlparser.mo000066400000000000000000000014021363525634600216340ustar00rootroot000000000000004L`*aD6%1$d values were expected, but found %2$d.Unrecognized alter operation.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-05-29 07:42+0000 Last-Translator: Sambuu-Yondon Language-Team: Mongolian Language: mn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.14.1 %1$d утгууд хүссэн, гэвч %2$d утга олдсон.үл ойлгогдох alter үйлдэл байна.sql-parser-4.6.1/locale/mn/LC_MESSAGES/sqlparser.po000066400000000000000000000154561363525634600216550ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-05-29 07:42+0000\n" "Last-Translator: Sambuu-Yondon \n" "Language-Team: Mongolian \n" "Language: mn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.14.1\n" #: src/Component.php:43 src/Component.php:63 #, fuzzy msgid "Not implemented yet." msgstr "Хараахан хэрэгжүүлэлт хийгээгүй" #: src/Components/AlterOperation.php:241 src/Statement.php:334 #, fuzzy msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "шинэ болзол илэрсэн, гэвч өмнөхөөсөө зааглагч байхгүй." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "үл ойлгогдох alter үйлдэл байна." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d утгууд хүссэн, гэвч %2$d утга олдсон." #: src/Components/Array2d.php:111 #, fuzzy msgid "An opening bracket followed by a set of values was expected." msgstr "хаалт нээсний дараагаар утга оноох хэрэгтэй" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "No databases selected." msgid "A symbol name was expected!" msgstr "ӨС сонгогдоогүй." #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "ӨС сонгогдоогүй." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "ӨС сонгогдоогүй." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Сонгогдсон мөргүй" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Мөр устгагдсан" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "PHP Version" msgid "Missing expression." msgstr "PHP хувилбар" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Table %s has been dropped." msgid "Ending quote %1$s was expected." msgstr "Хүснэгт %s нь устгагдлаа" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Хүснэгтийн эхэнд" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Хүснэгтийн эхэнд" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Хүснэгтийн эхэнд" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "No databases selected." msgid "A table name was expected." msgstr "ӨС сонгогдоогүй." #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Мөр устгагдсан" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Алдаа" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query type" msgid "strict error" msgstr "Асуултын төрөл" sql-parser-4.6.1/locale/ms/000077500000000000000000000000001363525634600155065ustar00rootroot00000000000000sql-parser-4.6.1/locale/ms/LC_MESSAGES/000077500000000000000000000000001363525634600172735ustar00rootroot00000000000000sql-parser-4.6.1/locale/ms/LC_MESSAGES/sqlparser.mo000066400000000000000000000010111363525634600216350ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:06+0200 Last-Translator: Michal Čihař Language-Team: Malay Language: ms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/ms/LC_MESSAGES/sqlparser.po000066400000000000000000000143011363525634600216460ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:06+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Malay \n" "Language: ms\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "With selected:" msgid "A symbol name was expected!" msgstr "Dengan pilihan:" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "With selected:" msgid "A comma or a closing bracket was expected." msgstr "Dengan pilihan:" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "With selected:" msgid "An alias was expected." msgstr "Dengan pilihan:" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "With selected:" msgid "An expression was expected." msgstr "Dengan pilihan:" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Baris telah dipadam" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "sebagai penyataan regular (regexp)" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "Jadual %s telah digugurkan" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Pada Awalan Jadual" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Pada Awalan Jadual" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Pada Awalan Jadual" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "With selected:" msgid "A table name was expected." msgstr "Dengan pilihan:" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Baris telah dipadam" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Ralat" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query type" msgid "strict error" msgstr "Jenis Kueri" sql-parser-4.6.1/locale/nb/000077500000000000000000000000001363525634600154665ustar00rootroot00000000000000sql-parser-4.6.1/locale/nb/LC_MESSAGES/000077500000000000000000000000001363525634600172535ustar00rootroot00000000000000sql-parser-4.6.1/locale/nb/LC_MESSAGES/sqlparser.mo000066400000000000000000000075451363525634600216370ustar00rootroot00000000000000)d;*!L Stc&Eay(&"I$^''"8*/"Z}! )AWt * $ # K '? g q}    5 H f  $  %  ( ? X n  ( > , < ] ky" $9Q Y)' &$ ! ("#  % %1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Norwegian Bokmål (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2019-04-30 16:36+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Norwegian Bokmål Language: nb_NO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 3.6.1 %1$d verdier var forventet, men fant %2$d.Et "RETURNS" søkeord ble forventet.En sluttende brakett var forventet.En ny uttalelse ble funnet, men ingen skilletegn mellom det og den forrige.En navneenringsoperasjon var forventet.Symbolnavn forventet!Et symbol navn var forventet! Et forbeholdt nøkkelord kan ikke bli brukt som et kolonnenavn uten tilbakesitater.Tabellnavn forventet.Alias forventet.Et alias ble tidligere funnet.Uttrykk forventet.En forskyvning var forventet.Sluttsitat %1$s forventet.Forventet avgrensning.Forventet blanktegn før skilletegn.Søkeordet "TIL" var forventet.Nøkkelord ved slutten av uttalelsen.Manglende uttrykk.Ingen transaksjon ble tidligere startet.Ikke implementert ennå.Enhetsnavn forventet.Forventet nytt tabellnavn.Forventet gammelt tabellnavn.Denne operasjonen konflikter med "%1$s".Denne typen klausul er ikke gyldig i Multi-tabell-spørringer.Denne typen klausul ble tidligere analysert.Uventet begynnelse på uttykket.Uventet tegn.Uventet dott.Uventet slutt av CASE-uttrykketUventede karakterer på linje %sd.Uventet klausulrekkefølge.Uventet tegn.Ukjent endringsoperasjon.Ukjent datatype.Ukjent nøkkelord.Ukjent setningstype.Variabelnavn forventet.feil #1streng feilsql-parser-4.6.1/locale/nb/LC_MESSAGES/sqlparser.po000066400000000000000000000157331363525634600216400ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2019-04-30 14:36+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 3.6.1\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ikke implementert ennå." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "En ny uttalelse ble funnet, men ingen skilletegn mellom det og den forrige." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Ukjent endringsoperasjon." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d verdier var forventet, men fant %2$d." #: src/Components/Array2d.php:111 #, fuzzy msgid "An opening bracket followed by a set of values was expected." msgstr "En åpeningsklamme etterfulgt av ett sett verdier var forventet." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 #, fuzzy msgid "An opening bracket was expected." msgstr "En åpningsklamme var forventet." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Uventede karakterer på linje %sd." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Uventet slutt av CASE-uttrykket" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Et symbol navn var forventet! Et forbeholdt nøkkelord kan ikke bli brukt som " "et kolonnenavn uten tilbakesitater." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Symbolnavn forventet!" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No tables selected." msgid "A comma or a closing bracket was expected." msgstr "Et komma eller lukkingsklamme var forventet." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "En sluttende brakett var forventet." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Ukjent datatype." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Alias forventet." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Et alias ble tidligere funnet." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Uventet dott." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Uttrykk forventet." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "En forskyvning var forventet." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Denne operasjonen konflikter med \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Forventet gammelt tabellnavn." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Søkeordet \"TIL\" var forventet." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Forventet nytt tabellnavn." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "En navneenringsoperasjon var forventet." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Manglende uttrykk." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Uventet tegn." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Forventet blanktegn før skilletegn." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Forventet avgrensning." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Sluttsitat %1$s forventet." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Variabelnavn forventet." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Uventet begynnelse på uttykket." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Ukjent setningstype." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Ingen transaksjon ble tidligere startet." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Uventet tegn." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Denne typen klausul ble tidligere analysert." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Ukjent nøkkelord." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Nøkkelord ved slutten av uttalelsen." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Uventet klausulrekkefølge." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Enhetsnavn forventet." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Tabellnavn forventet." #: src/Statements/CreateStatement.php:438 #, fuzzy msgid "At least one column definition was expected." msgstr "Minst én kolonnedefinisjon forventet." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Et \"RETURNS\" søkeord ble forventet." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Denne typen klausul er ikke gyldig i Multi-tabell-spørringer." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "feil #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "streng feil" sql-parser-4.6.1/locale/ne/000077500000000000000000000000001363525634600154715ustar00rootroot00000000000000sql-parser-4.6.1/locale/ne/LC_MESSAGES/000077500000000000000000000000001363525634600172565ustar00rootroot00000000000000sql-parser-4.6.1/locale/ne/LC_MESSAGES/sqlparser.mo000066400000000000000000000010171363525634600216260ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:03+0200 Last-Translator: Michal Čihař Language-Team: Nepali Language: ne MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/ne/LC_MESSAGES/sqlparser.po000066400000000000000000000134301363525634600216330ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2014 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2014. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:03+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Nepali \n" "Language: ne\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "No tables selected." msgid "A table name was expected." msgstr "कुनैपनि डेटाबेस चयन गरिएको छैन।" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/nl/000077500000000000000000000000001363525634600155005ustar00rootroot00000000000000sql-parser-4.6.1/locale/nl/LC_MESSAGES/000077500000000000000000000000001363525634600172655ustar00rootroot00000000000000sql-parser-4.6.1/locale/nl/LC_MESSAGES/sqlparser.mo000066400000000000000000000107521363525634600216430ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   1} ) " / a, $  _ ~ !   B !3/U5 #8Ml&*(#A&-h#%>Pe|" )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-09-05 10:46+0000 Last-Translator: Steven WdV Language-Team: Dutch Language: nl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.17-dev %1$d waarden werden verwacht, maar %2$d gevonden.Een "RETURNS" sleutelwoord werd verwacht.Een sluitingshaakje werd verwacht.Een komma of een sluitingshaakje werd verwacht.Een nieuwe opdracht werd gevonden, maar zonder scheidingsteken tussen deze en de vorige opdracht.Een hernoem bewerking werd verwacht.Een symbool naam werd verwacht!Een symbool naam werd verwacht! Een gereserveerd sleutelwoord kan niet als kolomnaam gebruikt worden zonder achterwaartse aanhalingstekens.Een tabel naam werd verwacht.Een alias werd verwacht.Een alias was eerder al gevonden.Een expressie werd verwacht.Een offset werd verwacht.Een openingshaakje gevolgd door een set met waardes werd verwacht.Een openingshaakje werd verwacht.Er werd minimaal één kolomdefinitie verwacht.Eindquote %1$s werd verwacht.Scheidingsteken verwacht.Spatie(s) werd(en) verwacht voor het scheidingsteken.Sleutelwoord "TO" werd verwacht.Sleutelwoord aan eind van opdracht.Expressie ontbreekt.Er is geen transactie gestart.Nog niet geïmplementeerd.De naam van de entiteit werd verwacht.De nieuwe naam van de tabel werd verwacht.De oude naam van de tabel werd verwacht.Deze optie conflicteert met "%1$s".Dit type van voorwaarde is niet bruikbaar in multi-tabel queries.Dit type van voorwaarde is eerder uitgevoerd.Onverwacht begin van opdracht.Onverwachte letter.Onverwachte punt.Onverwacht einde van CASE expressieOnverwacht sleutelwoord.Onverwachte volgorde van voorwaarden.Onverwacht token.Onbekende bewerking.Onbekend gegevenstype.Sleutelwoord niet herkend.Opdrachttype niet herkend.Naam van variabele werd verwacht.fout #1strikte foutsql-parser-4.6.1/locale/nl/LC_MESSAGES/sqlparser.po000066400000000000000000000161311363525634600216430ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-09-05 10:46+0000\n" "Last-Translator: Steven WdV \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Nog niet geïmplementeerd." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Een nieuwe opdracht werd gevonden, maar zonder scheidingsteken tussen deze " "en de vorige opdracht." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Onbekende bewerking." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d waarden werden verwacht, maar %2$d gevonden." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Een openingshaakje gevolgd door een set met waardes werd verwacht." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Een openingshaakje werd verwacht." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Onverwacht sleutelwoord." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Onverwacht einde van CASE expressie" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Een symbool naam werd verwacht! Een gereserveerd sleutelwoord kan niet als " "kolomnaam gebruikt worden zonder achterwaartse aanhalingstekens." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Een symbool naam werd verwacht!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Een komma of een sluitingshaakje werd verwacht." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Een sluitingshaakje werd verwacht." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Onbekend gegevenstype." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Een alias werd verwacht." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Een alias was eerder al gevonden." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Onverwachte punt." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Een expressie werd verwacht." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Een offset werd verwacht." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Deze optie conflicteert met \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "De oude naam van de tabel werd verwacht." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Sleutelwoord \"TO\" werd verwacht." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "De nieuwe naam van de tabel werd verwacht." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Een hernoem bewerking werd verwacht." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Expressie ontbreekt." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Onverwachte letter." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Spatie(s) werd(en) verwacht voor het scheidingsteken." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Scheidingsteken verwacht." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Eindquote %1$s werd verwacht." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Naam van variabele werd verwacht." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Onverwacht begin van opdracht." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Opdrachttype niet herkend." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Er is geen transactie gestart." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Onverwacht token." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Dit type van voorwaarde is eerder uitgevoerd." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Sleutelwoord niet herkend." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Sleutelwoord aan eind van opdracht." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Onverwachte volgorde van voorwaarden." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "De naam van de entiteit werd verwacht." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Een tabel naam werd verwacht." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Er werd minimaal één kolomdefinitie verwacht." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Een \"RETURNS\" sleutelwoord werd verwacht." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Dit type van voorwaarde is niet bruikbaar in multi-tabel queries." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "fout #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "strikte fout" sql-parser-4.6.1/locale/pa/000077500000000000000000000000001363525634600154675ustar00rootroot00000000000000sql-parser-4.6.1/locale/pa/LC_MESSAGES/000077500000000000000000000000001363525634600172545ustar00rootroot00000000000000sql-parser-4.6.1/locale/pa/LC_MESSAGES/sqlparser.mo000066400000000000000000000010171363525634600216240ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2014-01-06 12:13+0200 Last-Translator: Michal Čihař Language-Team: Punjabi Language: pa MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 1.9-dev sql-parser-4.6.1/locale/pa/LC_MESSAGES/sqlparser.po000066400000000000000000000144511363525634600216350ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2012 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2012. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2014-01-06 12:13+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Punjabi \n" "Language: pa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 1.9-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Database %1$s has been created." msgid "A symbol name was expected!" msgstr "%1$s ਡਾਟਾਬੇਸ ਬਣ ਚੁੱਕਾ ਹੈ." #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "Database %1$s has been created." msgid "A comma or a closing bracket was expected." msgstr "%1$s ਡਾਟਾਬੇਸ ਬਣ ਚੁੱਕਾ ਹੈ." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "Database %1$s has been created." msgid "An alias was expected." msgstr "%1$s ਡਾਟਾਬੇਸ ਬਣ ਚੁੱਕਾ ਹੈ." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "Database %1$s has been created." msgid "A rename operation was expected." msgstr "%1$s ਡਾਟਾਬੇਸ ਬਣ ਚੁੱਕਾ ਹੈ." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Database %1$s has been created." msgid "A table name was expected." msgstr "%1$s ਡਾਟਾਬੇਸ ਬਣ ਚੁੱਕਾ ਹੈ." #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "Database %1$s has been created." msgid "At least one column definition was expected." msgstr "%1$s ਡਾਟਾਬੇਸ ਬਣ ਚੁੱਕਾ ਹੈ." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/pl/000077500000000000000000000000001363525634600155025ustar00rootroot00000000000000sql-parser-4.6.1/locale/pl/LC_MESSAGES/000077500000000000000000000000001363525634600172675ustar00rootroot00000000000000sql-parser-4.6.1/locale/pl/LC_MESSAGES/sqlparser.mo000066400000000000000000000107371363525634600216500ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   ; ' $ /@ Fp "  u j     4 06g)"#6&]{#E7>v#"!5Tn )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-12-02 21:48+0000 Last-Translator: Kozioł Marcin Language-Team: Polish Language: pl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.18-dev Oczekiwano następującej wartości: %1$d; znaleziono %2$d.Oczekiwano słowa kluczowego "RETURNS".Brak nawiasu zamykającego.Oczekiwano przecinka lub nawiasu zamykającego.Znaleziono kolejne polecenie, ale brakuje między nimi rozgranicznika.Oczekiwano polecenia zmiany nazwy.Oczekiwano nazwy symbolu!Oczekiwano nazwy symbolu! Zarezerwowane słowo kluczowe nie może być używane jako nazwa kolumny bez cudzysłowów.Oczekiwano nazwy tabeli.Oczekiwano aliasu.Wcześniej znaleziono alias.Oczekiwano wyrażenia.Oczekiwano przesunięcia.Oczekiwano nawiasu otwierającego i listy wartości.Brak nawiasu otwierającego.Oczekiwano definicji co najmniej jednej kolumny.Oczekiwano znaku końca %1$s.Oczekiwano rozgranicznika.Oczekiwano spacji przez rozgranicznikiem.Oczekiwano słowa kluczowego "TO".Słowo kluczowe na końcu wyciągu.Brakujace wyrazenie.Żadna transakcja nie została wcześniej uruchomiona.Jeszcze nie zaimplementowane.Oczekiwano nazwy obiektu.Oczekiwano nowej nazwy tabeli.Oczekiwano starej nazwy tabeli.Ta opcja zawiera konflikt z "%1$s".Ta klauzula nie może być stosowana w poleceniach międzytabelowych.Tego typu klauzula została wcześniej przeanalizowana.Oczekiwano początku polecenia.Nieoczekiwany znak.Nieoczekiwana kropka.Nieoczekiwany koniec polecenia CASENieznane słowo kluczowe.Nieoczekiwana kolejność klauzul.Nieoczekiwany znak.Nierozpoznana zmiana operacji.Nierozpoznany typ danych.Nierozpoznane słowo kluczowe.Nierozpoznany typ polecenia.Oczekiwano nazwy zmiennej.Błąd #1ścisły błądsql-parser-4.6.1/locale/pl/LC_MESSAGES/sqlparser.po000066400000000000000000000161121363525634600216440ustar00rootroot00000000000000# iMutrix , 2012. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-12-02 21:48+0000\n" "Last-Translator: Kozioł Marcin \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.18-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Jeszcze nie zaimplementowane." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "Znaleziono kolejne polecenie, ale brakuje między nimi rozgranicznika." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Nierozpoznana zmiana operacji." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Oczekiwano następującej wartości: %1$d; znaleziono %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Oczekiwano nawiasu otwierającego i listy wartości." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Brak nawiasu otwierającego." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Nieznane słowo kluczowe." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Nieoczekiwany koniec polecenia CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Oczekiwano nazwy symbolu! Zarezerwowane słowo kluczowe nie może być używane " "jako nazwa kolumny bez cudzysłowów." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Oczekiwano nazwy symbolu!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Oczekiwano przecinka lub nawiasu zamykającego." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Brak nawiasu zamykającego." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Nierozpoznany typ danych." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Oczekiwano aliasu." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Wcześniej znaleziono alias." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Nieoczekiwana kropka." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Oczekiwano wyrażenia." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Oczekiwano przesunięcia." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Ta opcja zawiera konflikt z \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Oczekiwano starej nazwy tabeli." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Oczekiwano słowa kluczowego \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Oczekiwano nowej nazwy tabeli." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Oczekiwano polecenia zmiany nazwy." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Brakujace wyrazenie." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Nieoczekiwany znak." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Oczekiwano spacji przez rozgranicznikiem." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Oczekiwano rozgranicznika." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Oczekiwano znaku końca %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Oczekiwano nazwy zmiennej." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Oczekiwano początku polecenia." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Nierozpoznany typ polecenia." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Żadna transakcja nie została wcześniej uruchomiona." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Nieoczekiwany znak." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Tego typu klauzula została wcześniej przeanalizowana." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Nierozpoznane słowo kluczowe." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Słowo kluczowe na końcu wyciągu." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Nieoczekiwana kolejność klauzul." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Oczekiwano nazwy obiektu." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Oczekiwano nazwy tabeli." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Oczekiwano definicji co najmniej jednej kolumny." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Oczekiwano słowa kluczowego \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Ta klauzula nie może być stosowana w poleceniach międzytabelowych." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "Błąd #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "ścisły błąd" sql-parser-4.6.1/locale/pt/000077500000000000000000000000001363525634600155125ustar00rootroot00000000000000sql-parser-4.6.1/locale/pt/LC_MESSAGES/000077500000000000000000000000001363525634600172775ustar00rootroot00000000000000sql-parser-4.6.1/locale/pt/LC_MESSAGES/sqlparser.mo000066400000000000000000000110001363525634600216400ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   8h ) ' 7 S+ # ! o #5 Y $p   G %28#k6 '%/:j #%">1T#!%4+Fr" )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Portuguese (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-10-08 23:33+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Portuguese Language: pt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 3.2.1 Eram esperados %1$d valores, mas foram encontrados %2$d.Uma palavra-chave "RETURNS" era esperada.Um colchete ou parenteses era esperado.Uma vírgula ou um colchete de fechamento era esperado.Uma nova instrução foi encontrada, mas nenhum delimitador entre ela e a anterior.Uma operação rename era esperada.Um nome do símbolo era esperado!Um nome de símbolo era esperado! Uma chave reservada não pode ser usada como um nome de coluna sem as chaves.Um nome para a tabela era esperado.Um alias era esperado.Um alias foi previamente encontrado.Uma expressão era esperada.Um offset era esperado.Uma abertura de chaveta seguida de um conjunto de valores era esperada.Uma abertura de chaveta era esperada.Pelo menos uma definição de coluna era esperada.Citação final %1$s1 era esperada.Delimitador esperado.Espaço(s) em Branco(s) esperado antes do delimitador.Palavra-chave "TO" era esperada.Palavra-chave no final da declaração.Faltando expressão.Nenhuma transação foi iniciada anteriormente.Ainda não foi implementado.O nome da entidade era esperado.O novo nome da tabela era esperado.O nome antigo da tabela era esperado.Essa opção conflita com "%1$s1".Esse tipo de clausula não é válida em queries Multi-tabela.Este tipo de cláusula foi previamente analisado.Inesperado começo da declaração.Caractere inesperado.Ponto inesperado.Fim da expressão CASE inesperadaPalavra-chave inesperada.Ordenação inesperada de cláusulas.Token inesperado.Operação de alteração não reconhecida.Tipo de dado desconhecido.Palavra-chave desconhecida.Tipo de declaração desconhecida.Nome da variável era esperado.Erro #1Erro severosql-parser-4.6.1/locale/pt/LC_MESSAGES/sqlparser.po000066400000000000000000000161331363525634600216570ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-10-08 21:32+0000\n" "Last-Translator: ssantos \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 3.2.1\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ainda não foi implementado." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Uma nova instrução foi encontrada, mas nenhum delimitador entre ela e a " "anterior." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Operação de alteração não reconhecida." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Eram esperados %1$d valores, mas foram encontrados %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Uma abertura de chaveta seguida de um conjunto de valores era esperada." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Uma abertura de chaveta era esperada." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Palavra-chave inesperada." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Fim da expressão CASE inesperada" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Um nome de símbolo era esperado! Uma chave reservada não pode ser usada como " "um nome de coluna sem as chaves." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Um nome do símbolo era esperado!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Uma vírgula ou um colchete de fechamento era esperado." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Um colchete ou parenteses era esperado." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tipo de dado desconhecido." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Um alias era esperado." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Um alias foi previamente encontrado." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Ponto inesperado." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Uma expressão era esperada." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Um offset era esperado." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Essa opção conflita com \"%1$s1\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "O nome antigo da tabela era esperado." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Palavra-chave \"TO\" era esperada." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "O novo nome da tabela era esperado." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Uma operação rename era esperada." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Faltando expressão." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Caractere inesperado." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Espaço(s) em Branco(s) esperado antes do delimitador." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Delimitador esperado." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Citação final %1$s1 era esperada." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Nome da variável era esperado." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Inesperado começo da declaração." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tipo de declaração desconhecida." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Nenhuma transação foi iniciada anteriormente." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Token inesperado." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Este tipo de cláusula foi previamente analisado." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Palavra-chave desconhecida." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Palavra-chave no final da declaração." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Ordenação inesperada de cláusulas." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "O nome da entidade era esperado." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Um nome para a tabela era esperado." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Pelo menos uma definição de coluna era esperada." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Uma palavra-chave \"RETURNS\" era esperada." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Esse tipo de clausula não é válida em queries Multi-tabela." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "Erro #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "Erro severo" sql-parser-4.6.1/locale/pt_BR/000077500000000000000000000000001363525634600160755ustar00rootroot00000000000000sql-parser-4.6.1/locale/pt_BR/LC_MESSAGES/000077500000000000000000000000001363525634600176625ustar00rootroot00000000000000sql-parser-4.6.1/locale/pt_BR/LC_MESSAGES/sqlparser.mo000066400000000000000000000111511363525634600222320ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   8 " ' 7$ Z\ % ! r r % 2  H&%o4=>'\. #'&*NGy1#,#>b%w'"6T \)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-08-21 13:50+0000 Last-Translator: Daniel Palmeira Huanca Language-Team: Portuguese (Brazil) Language: pt_BR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 2.17-dev Eram esperados %1$d valores, mas foram encontrados %2$d.Era esperado um comando "RETURNS".Era esperado um colchete de fechamento.Era esperado uma vírgula ou um colchete de fechamento.Uma nova declaração foi encontrada, porém não há delimitador entre esta e a anterior.Era esperado uma operação renomear.Era esperado um nome de símbolo!Era esperado um nome de símbolo! Um caracter reservado não pode ser usado como um nome de coluna sem apóstrofo.Era esperado um nome de tabela.Era esperado um nome de correlação.Um nome correlação foi encontrado anteriormente.Era esperado uma expressão.Era esperado um espaçamento.Era esperado um colchete de abertura seguido por um conjunto de valores.Era esperado um colchete de abertura.Era esperado a definição de pelo menos uma coluna.Era esperado fechar aspas %1$s.Esperado delimitador.Era(m) esperado(s) espaço(s) em branco antes do delimitador.Era esperado o caracter "TO".Palavra-chave no final da declaração.Faltando expressão.Nenhuma operação foi iniciada anteriormente.Ainda não implementado.Era esperado o nome da entidade.Era esperado o novo nome da tabela.Era esperado o nome anterior da tabela.Esta opção está em conflito com "%1$s".Este tipo de sentença não é válida em consultas à várias tabelas.Este tipo de sentença foi previamente analisado.Início de declaração inesperado.Caracter inesperado.Ponto inesperado.Final inesperado da expressão CASECaracter inesperado.Ordenamento de sentenças inesperado.Símbolo (token) inesperado.Operação de alteração desconhecida.Tipo de dado desconhecido.Comando desconhecido.Tipo de declaração desconhecido.Era perado nome de variável.erro #1Erro estritosql-parser-4.6.1/locale/pt_BR/LC_MESSAGES/sqlparser.po000066400000000000000000000162711363525634600222450ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-08-21 13:50+0000\n" "Last-Translator: Daniel Palmeira Huanca \n" "Language-Team: Portuguese (Brazil) " "\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ainda não implementado." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Uma nova declaração foi encontrada, porém não há delimitador entre esta e a " "anterior." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Operação de alteração desconhecida." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Eram esperados %1$d valores, mas foram encontrados %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" "Era esperado um colchete de abertura seguido por um conjunto de valores." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Era esperado um colchete de abertura." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Caracter inesperado." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Final inesperado da expressão CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Era esperado um nome de símbolo! Um caracter reservado não pode ser usado " "como um nome de coluna sem apóstrofo." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Era esperado um nome de símbolo!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Era esperado uma vírgula ou um colchete de fechamento." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Era esperado um colchete de fechamento." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tipo de dado desconhecido." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Era esperado um nome de correlação." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Um nome correlação foi encontrado anteriormente." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Ponto inesperado." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Era esperado uma expressão." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Era esperado um espaçamento." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Esta opção está em conflito com \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Era esperado o nome anterior da tabela." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Era esperado o caracter \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Era esperado o novo nome da tabela." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Era esperado uma operação renomear." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Faltando expressão." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Caracter inesperado." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Era(m) esperado(s) espaço(s) em branco antes do delimitador." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Esperado delimitador." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Era esperado fechar aspas %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Era perado nome de variável." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Início de declaração inesperado." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tipo de declaração desconhecido." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Nenhuma operação foi iniciada anteriormente." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Símbolo (token) inesperado." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Este tipo de sentença foi previamente analisado." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Comando desconhecido." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Palavra-chave no final da declaração." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Ordenamento de sentenças inesperado." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Era esperado o nome da entidade." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Era esperado um nome de tabela." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Era esperado a definição de pelo menos uma coluna." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Era esperado um comando \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Este tipo de sentença não é válida em consultas à várias tabelas." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "erro #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "Erro estrito" sql-parser-4.6.1/locale/ro/000077500000000000000000000000001363525634600155075ustar00rootroot00000000000000sql-parser-4.6.1/locale/ro/LC_MESSAGES/000077500000000000000000000000001363525634600172745ustar00rootroot00000000000000sql-parser-4.6.1/locale/ro/LC_MESSAGES/sqlparser.mo000066400000000000000000000112041363525634600216430ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   5 , * :% i` * q     G*_3,5 A*a0!& (03YG.%*@%Sy#& ) I jt)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Romanian (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-07-24 07:41+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Romanian Language: ro MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2; X-Generator: Weblate 3.1-dev Au fost așteptate %1$d valori, dar s-au găsit %2$d.Un cuvânt cheie "RETURNS" era de aşteptat.Era așteptată o paranteza de închidere.Era așteptată o virgulă sau o paranteză de închidere.A fost găsită o nouă activitate, dar nu există niciun delimitator între aceasta și cea anterioară.Era așteptată o operație de redenumire.Era așteptat un nume de simbol!Era așteptat nume de simbol! Un cuvânt cheie rezervat nu poate fi folosit ca nume de coloană fără ghilimele.Era așteptat un nume de tabel.Era așteptat un alias.A fost găsit anterior un alias.Era așteptată o expresie.Era așteptat un decalaj.Era așteptată o paranteză de deschidere urmată de un set de valori.Era așteptată o paranteza de deschidere.Era așteptată cel puțin o definiție a coloanei.Erau așteptate ghilimele la sfârșit %1$s.A fost așteptat delimitatorul.S-au așteptat spații goale înainte de delimitator.Cuvantul cheie "TO" este cerut.Cuvânt cheie la sfârșitul declarației.Lipsește expresia.Nu a fost începută anterior nicio tranzacție.Neimplementat încă.Era așteptat numele entității.Era așteptat numele nou al tabelului.Era așteptat numele vechi al tabelului.Aceasta opțiune intră în conflict cu „%1$s”.Acest tip de clauză nu este valid în interogările mai multor tabele.Acest tip de clauză a fost analizat anterior.Început neașteptat al declarației.Caracter neașteptat.Punct neașteptat.Sirsit neasteptat al expresiei "CASE"Cuvinte cheie neașteptate.Ordonare neașteptată a clauzelor.Token neașteptat.Activitate de modificare necunoscută.Tip de date nerecunoscut.Cuvânt cheie nerecunoscut.Tip de activitate nerecunoscut.Era așteptat numele variabilei.eroare #1eroare strictăsql-parser-4.6.1/locale/ro/LC_MESSAGES/sqlparser.po000066400000000000000000000164211363525634600216540ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-07-24 05:41+0000\n" "Last-Translator: Dan Caragea \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" "X-Generator: Weblate 3.1-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Neimplementat încă." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "A fost găsită o nouă activitate, dar nu există niciun delimitator între " "aceasta și cea anterioară." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Activitate de modificare necunoscută." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Au fost așteptate %1$d valori, dar s-au găsit %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Era așteptată o paranteză de deschidere urmată de un set de valori." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Era așteptată o paranteza de deschidere." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Cuvinte cheie neașteptate." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Sirsit neasteptat al expresiei \"CASE\"" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Era așteptat nume de simbol! Un cuvânt cheie rezervat nu poate fi folosit ca " "nume de coloană fără ghilimele." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Era așteptat un nume de simbol!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Era așteptată o virgulă sau o paranteză de închidere." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Era așteptată o paranteza de închidere." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tip de date nerecunoscut." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Era așteptat un alias." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "A fost găsit anterior un alias." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Punct neașteptat." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Era așteptată o expresie." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Era așteptat un decalaj." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Aceasta opțiune intră în conflict cu „%1$s”." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Era așteptat numele vechi al tabelului." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Cuvantul cheie \"TO\" este cerut." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Era așteptat numele nou al tabelului." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Era așteptată o operație de redenumire." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Lipsește expresia." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Caracter neașteptat." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "S-au așteptat spații goale înainte de delimitator." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "A fost așteptat delimitatorul." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Erau așteptate ghilimele la sfârșit %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Era așteptat numele variabilei." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Început neașteptat al declarației." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tip de activitate nerecunoscut." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Nu a fost începută anterior nicio tranzacție." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Token neașteptat." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Acest tip de clauză a fost analizat anterior." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Cuvânt cheie nerecunoscut." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Cuvânt cheie la sfârșitul declarației." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Ordonare neașteptată a clauzelor." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Era așteptat numele entității." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Era așteptat un nume de tabel." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Era așteptată cel puțin o definiție a coloanei." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Un cuvânt cheie \"RETURNS\" era de aşteptat." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Acest tip de clauză nu este valid în interogările mai multor tabele." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "eroare #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "eroare strictă" sql-parser-4.6.1/locale/ru/000077500000000000000000000000001363525634600155155ustar00rootroot00000000000000sql-parser-4.6.1/locale/ru/LC_MESSAGES/000077500000000000000000000000001363525634600173025ustar00rootroot00000000000000sql-parser-4.6.1/locale/ru/LC_MESSAGES/sqlparser.mo000066400000000000000000000131061363525634600216540ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r  # > 9 7A My AW ) )$2&"$IXn7c>c*B4?E*I#+4J6;Or7$"AB3="A1[3(/*)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-09-05 16:20+0000 Last-Translator: pitchblack Language-Team: Russian Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.17-dev Ожидалось %1$d значений, найдено %2$d.Ожидалось ключевое слово "RETURNS".Ожидалась закрывающая скобка.Ожидалась запятая или закрывающая скобка.Было найдено новое утверждение, но не было разделителя между ним и предыдущим.Ожидалась операция переименования.Ожидалось имя символа!Ожидалось имя символа! Зарезервированное ключевое слово не может использоваться как имя столбца без обратных запросов.Ожидалось имя таблицы.Ожидался псевдоним.Псевдоним был найден ранее.Ожидалось выражение.Ожидалось смещение.Ожидалась открывающая скобка и список значений.Ожидалась открывающая скобка.Ожидалось объявление, по крайней мере, одного столбца.Ожидалась закрывающая кавычка %1$s.Ожидается разделитель.Ожидался пробел перед разделителем.Ожидалось ключевое слово "TO".Ключевое слово в конце инструкции.Отсутствует выражение.Ни одна транзакция не была ранее начата.Ещё не реализовано.Ожидалось имя сущности.Ожидалось новое имя таблицы.Ожидалось старое имя таблицы.Этот параметр конфликтует с "%1$s".Такого рода выражения не поддерживаются в мульти-табличных запросах.Этот тип предложения ранее анализировался.Неожиданное начало выражения.Неожиданный символ.Неожиданная точка.Неожиданное окончание CASE выраженияНеожиданное ключевое слово.Неожиданный порядок предложений.Неожиданный токен.Нераспознанная операция изменения.Нераспознанный тип данных.Неизвестное ключевое слово.Неизвестный оператор.Ожидалось имя переменной.ошибка #1строгая ошибкаsql-parser-4.6.1/locale/ru/LC_MESSAGES/sqlparser.po000066400000000000000000000202701363525634600216570ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-09-05 16:20+0000\n" "Last-Translator: pitchblack \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" "4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ещё не реализовано." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Было найдено новое утверждение, но не было разделителя между ним и " "предыдущим." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Нераспознанная операция изменения." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Ожидалось %1$d значений, найдено %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Ожидалась открывающая скобка и список значений." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Ожидалась открывающая скобка." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Неожиданное ключевое слово." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Неожиданное окончание CASE выражения" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Ожидалось имя символа! Зарезервированное ключевое слово не может " "использоваться как имя столбца без обратных запросов." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Ожидалось имя символа!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Ожидалась запятая или закрывающая скобка." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Ожидалась закрывающая скобка." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Нераспознанный тип данных." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Ожидался псевдоним." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Псевдоним был найден ранее." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Неожиданная точка." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Ожидалось выражение." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Ожидалось смещение." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Этот параметр конфликтует с \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Ожидалось старое имя таблицы." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Ожидалось ключевое слово \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Ожидалось новое имя таблицы." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Ожидалась операция переименования." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Отсутствует выражение." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Неожиданный символ." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Ожидался пробел перед разделителем." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Ожидается разделитель." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Ожидалась закрывающая кавычка %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Ожидалось имя переменной." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Неожиданное начало выражения." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Неизвестный оператор." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Ни одна транзакция не была ранее начата." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Неожиданный токен." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Этот тип предложения ранее анализировался." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Неизвестное ключевое слово." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Ключевое слово в конце инструкции." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Неожиданный порядок предложений." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Ожидалось имя сущности." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Ожидалось имя таблицы." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Ожидалось объявление, по крайней мере, одного столбца." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Ожидалось ключевое слово \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Такого рода выражения не поддерживаются в мульти-табличных запросах." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "ошибка #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "строгая ошибка" sql-parser-4.6.1/locale/si/000077500000000000000000000000001363525634600155025ustar00rootroot00000000000000sql-parser-4.6.1/locale/si/LC_MESSAGES/000077500000000000000000000000001363525634600172675ustar00rootroot00000000000000sql-parser-4.6.1/locale/si/LC_MESSAGES/sqlparser.mo000066400000000000000000000032671363525634600216500ustar00rootroot00000000000000 l *<Xo!_}LOE+;qRW^X  A closing bracket was expected.A comma or a closing bracket was expected.A symbol name was expected!An alias was expected.An expression was expected.Not implemented yet.Unexpected dot.Unexpected end of CASE expressionUnrecognized alter operation.Project-Id-Version: Sinhala (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-10-01 16:35+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Sinhala Language: si MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 3.2-dev අවසන් කිරීමේ වරහනක් බලාපොරොත්තු වේ.කොමාවක් හෝ අවසන් කිරීමේ වරහනක් බලාපොරොත්තු වේ.සංකේත නාමයක් බලාපොරොත්තු වේ!අනවර්ථ නාමයක් බලාපොරොත්තු වේ.ප්‍රකාශයක් බලපොරොත්තු වේ.තවම නිර්මාණය කර නොමැත.බලාපොරොත්තු නොවූ ඩොට් සලකුණක්.'CASE' ප්‍රකාශය නොසිතු ලෙස අවසන් විය.හදුනානොගත් වෙනස් කිරීමේ මෙහෙයුමක්.sql-parser-4.6.1/locale/si/LC_MESSAGES/sqlparser.po000066400000000000000000000172431363525634600216520ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-10-01 14:35+0000\n" "Last-Translator: Menuka Ishan \n" "Language-Team: Sinhala \n" "Language: si\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 3.2-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "තවම නිර්මාණය කර නොමැත." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "හදුනානොගත් වෙනස් කිරීමේ මෙහෙයුමක්." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected keyword." msgstr "%s වන පේළියේ අනපේක්ෂිත අනුලකුණකි." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "'CASE' ප්‍රකාශය නොසිතු ලෙස අවසන් විය." #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "සංකේත නාමයක් බලාපොරොත්තු වේ!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "කොමාවක් හෝ අවසන් කිරීමේ වරහනක් බලාපොරොත්තු වේ." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "අවසන් කිරීමේ වරහනක් බලාපොරොත්තු වේ." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "අනවර්ථ නාමයක් බලාපොරොත්තු වේ." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "බලාපොරොත්තු නොවූ ඩොට් සලකුණක්." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "ප්‍රකාශයක් බලපොරොත්තු වේ." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "Title of browser window when a table is selected" msgid "The old name of the table was expected." msgstr "වගුවක් තෝරා ඇති විට බ්‍රව්සර කවුළුවේ මාතෘකාව" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "පේළිය ඉවත් කරන ලදි." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "regular expression ලෙස" #: src/Lexer.php:237 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected character." msgstr "%s වන පේළියේ අනපේක්ෂිත අනුලකුණකි." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "%1$s සිද්ධිය සාදන ලදි." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "ගොනු නාම ටෙම්ප්ලේටය" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "වගුව මුලදී" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected token." msgstr "%s වන පේළියේ අනපේක්ෂිත අනුලකුණකි." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "වගුව මුලදී" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "වගුව මුලදී" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "ගොනු නාම ටෙම්ප්ලේටය" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "පේළිය ඉවත් කරන ලදි." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "දෝෂ." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "දෝෂ රැස්කරන්න" sql-parser-4.6.1/locale/sk/000077500000000000000000000000001363525634600155045ustar00rootroot00000000000000sql-parser-4.6.1/locale/sk/LC_MESSAGES/000077500000000000000000000000001363525634600172715ustar00rootroot00000000000000sql-parser-4.6.1/locale/sk/LC_MESSAGES/sqlparser.mo000066400000000000000000000107621363525634600216500ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   0 + % 7 _; &  ~ ^ |    A &%/L-|))#=!Qs&'$B 'c!" 1Gf ~)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Slovak (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-05-10 15:09+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Slovak Language: sk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; X-Generator: Weblate 3.0-dev Očakávali sa hodnoty %1$d, ale našli sa %2$d.Očakávalo sa kľúčové slovo "RETURNS".Očakávalo sa uzatvorenie zátvorky.Bola očakávaná čiarka alebo uzatváracia zátvorka.Nový príkaz bol nájdený, ale nenašiel sa oddeľovač medzi týmto a predošlým príkazom.Očakávala sa operácia premenovania.Očakávalo sa meno symbolu!Očakávalo sa meno symbolu! Rezervované kľúčové slovo nemôže byt použité ako meno stĺpca bez spätných uvodzoviek.Očakávalo sa meno tabuľky.Bol očakávaný alias.Alias bol predtým najdený.Bol očakávaný výraz.Odstup bol očakávaný.Očakávala sa otvárajúca zátvorka nasledovaná sadou hodnôt.Očakávala sa otvárajúca zátvorka.Očakávala sa aspoň jedna definícia stĺpca.Ukončujúca úvodzovka %1$s sa očakávala.Očakával sa oddeľovač.Očakávala sa medzera pred oddelovačom.Kľúčové slovo "TO" bolo očakávané.Kľúčové slovo na konci výrazu.Chýbajúci výraz.Transakcia sa predtým nezačala.Zatiaľ neimplementované.Meno celku bolo očakávané.Bolo očakávané nové meno tabuľky.Bolo očakávané staré meno tabuľky.Táto možnosť je v rozpore s %1$s.Takýto typ výrazu nie je platný vo viac tabuľkových dotazoch.Tento typ vety bol predtým rozobraný.Neočakávaný začiatok výrazu.Neočakávaný znak.Neočakávaná bodka.Neočakávaný koniec CASE výrazuNeočakávaný znak.Neočakávané poradie výrazov.Neočakávaný token.Nerozpoznaná operácia zmeny.Nerozpoznaný typ dát.Nerozpoznané kľúčové slovo.Nerozpoznaný typ výrazu.Očakávalo sa meno premennej.Chyba #1Striktná chybasql-parser-4.6.1/locale/sk/LC_MESSAGES/sqlparser.po000066400000000000000000000161311363525634600216470ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-05-10 13:09+0000\n" "Last-Translator: Martin Lacina \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 3.0-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Zatiaľ neimplementované." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Nový príkaz bol nájdený, ale nenašiel sa oddeľovač medzi týmto a predošlým " "príkazom." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Nerozpoznaná operácia zmeny." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Očakávali sa hodnoty %1$d, ale našli sa %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Očakávala sa otvárajúca zátvorka nasledovaná sadou hodnôt." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Očakávala sa otvárajúca zátvorka." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Neočakávaný znak." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Neočakávaný koniec CASE výrazu" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Očakávalo sa meno symbolu! Rezervované kľúčové slovo nemôže byt použité ako " "meno stĺpca bez spätných uvodzoviek." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Očakávalo sa meno symbolu!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Bola očakávaná čiarka alebo uzatváracia zátvorka." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Očakávalo sa uzatvorenie zátvorky." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Nerozpoznaný typ dát." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Bol očakávaný alias." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Alias bol predtým najdený." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Neočakávaná bodka." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Bol očakávaný výraz." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Odstup bol očakávaný." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Táto možnosť je v rozpore s %1$s." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Bolo očakávané staré meno tabuľky." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Kľúčové slovo \"TO\" bolo očakávané." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Bolo očakávané nové meno tabuľky." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Očakávala sa operácia premenovania." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Chýbajúci výraz." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Neočakávaný znak." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Očakávala sa medzera pred oddelovačom." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Očakával sa oddeľovač." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Ukončujúca úvodzovka %1$s sa očakávala." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Očakávalo sa meno premennej." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Neočakávaný začiatok výrazu." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Nerozpoznaný typ výrazu." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Transakcia sa predtým nezačala." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Neočakávaný token." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Tento typ vety bol predtým rozobraný." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Nerozpoznané kľúčové slovo." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Kľúčové slovo na konci výrazu." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Neočakávané poradie výrazov." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Meno celku bolo očakávané." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Očakávalo sa meno tabuľky." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Očakávala sa aspoň jedna definícia stĺpca." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Očakávalo sa kľúčové slovo \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Takýto typ výrazu nie je platný vo viac tabuľkových dotazoch." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "Chyba #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "Striktná chyba" sql-parser-4.6.1/locale/sl/000077500000000000000000000000001363525634600155055ustar00rootroot00000000000000sql-parser-4.6.1/locale/sl/LC_MESSAGES/000077500000000000000000000000001363525634600172725ustar00rootroot00000000000000sql-parser-4.6.1/locale/sl/LC_MESSAGES/sqlparser.mo000066400000000000000000000107371363525634600216530ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   < +  %4 VZ %  p d     B "+.N(}!5& %F!Xz!"6%Hn!.Kh#  )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-11-09 23:58+0000 Last-Translator: Domen Language-Team: Slovenian Language: sl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3; X-Generator: Weblate 2.18-dev Pričakovali smo %1$d vrednosti, vendar smo jih našli %2$d.Pričakovali smo ključno besedo "RETURNS".Pričakovali smo zaklepaj.Pričakovali smo vejico ali zaklepaj.Naleteli smo na nov stavek, vendar med njim in prejšnjim stavkom ni ločilnega znaka.Pričakovali smo poseg preimenovanja.Pričakovali smo ime znaka!Pričakovali smo ime simbola! Rezervirane besede ne morete uporabiti kot ime stolpca brez ustreznih narekovajev.Pričakovali smo ime tabele.Pričakovali smo vzdevek.Vzdevek smo našli že prej.Pričakovali smo izraz.Pričakovali smo odmik.Pričakovali smo začetni oklepaj, ki mu sledi množica vrednosti.Pričakovali smo začetni oklepaj.Pričakovali smo vsaj eno opredelitev stolpca.Pričakovali smo končni narekovaj %1$s.Pričakovali smo ločitveni znak.Pred ločitvenim znakom smo pričakoval prazne znake.Pričakovali smo ključno besedo "TO".Ključna beseda na koncu stavka.Manjkajoč izraz.Začeli niste nobene transakcije.Ni še implementirano.Pričakovali smo ime entitete.Pričakovali smo novo ime tabele.Pričakovali smo staro ime tabele.Izbira je v sporu z "%1$s".Ta vrsta stavka ni veljavna v večtabelnih poizvedbah.To vrsto stavka smo prej razčlenili.Nepričakovan začetek stavka.Nepričakovan znak.Nepričakovana pika.Nepričakovan konec izraza CASENepričakovana ključna beseda.Nepričakovan vrstni red stavkov.Nepričakovan žeton.Neprepoznan poseg spremembe.Neprepoznana vrsta podatkov.Nepričakovana ključna beseda.Neprepoznana vrsta stavka.Pričakovali smo ime spremenljivke.napaka #1stroga napakasql-parser-4.6.1/locale/sl/LC_MESSAGES/sqlparser.po000066400000000000000000000160571363525634600216570ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-11-09 23:58+0000\n" "Last-Translator: Domen \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " "n%100==4 ? 2 : 3;\n" "X-Generator: Weblate 2.18-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ni še implementirano." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Naleteli smo na nov stavek, vendar med njim in prejšnjim stavkom ni " "ločilnega znaka." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Neprepoznan poseg spremembe." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Pričakovali smo %1$d vrednosti, vendar smo jih našli %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Pričakovali smo začetni oklepaj, ki mu sledi množica vrednosti." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Pričakovali smo začetni oklepaj." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Nepričakovana ključna beseda." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Nepričakovan konec izraza CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Pričakovali smo ime simbola! Rezervirane besede ne morete uporabiti kot ime " "stolpca brez ustreznih narekovajev." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Pričakovali smo ime znaka!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Pričakovali smo vejico ali zaklepaj." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Pričakovali smo zaklepaj." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Neprepoznana vrsta podatkov." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Pričakovali smo vzdevek." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Vzdevek smo našli že prej." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Nepričakovana pika." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Pričakovali smo izraz." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Pričakovali smo odmik." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Izbira je v sporu z \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Pričakovali smo staro ime tabele." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Pričakovali smo ključno besedo \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Pričakovali smo novo ime tabele." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Pričakovali smo poseg preimenovanja." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Manjkajoč izraz." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Nepričakovan znak." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Pred ločitvenim znakom smo pričakoval prazne znake." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Pričakovali smo ločitveni znak." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Pričakovali smo končni narekovaj %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Pričakovali smo ime spremenljivke." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Nepričakovan začetek stavka." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Neprepoznana vrsta stavka." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Začeli niste nobene transakcije." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Nepričakovan žeton." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "To vrsto stavka smo prej razčlenili." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Nepričakovana ključna beseda." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Ključna beseda na koncu stavka." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Nepričakovan vrstni red stavkov." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Pričakovali smo ime entitete." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Pričakovali smo ime tabele." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Pričakovali smo vsaj eno opredelitev stolpca." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Pričakovali smo ključno besedo \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Ta vrsta stavka ni veljavna v večtabelnih poizvedbah." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "napaka #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "stroga napaka" sql-parser-4.6.1/locale/sq/000077500000000000000000000000001363525634600155125ustar00rootroot00000000000000sql-parser-4.6.1/locale/sq/LC_MESSAGES/000077500000000000000000000000001363525634600172775ustar00rootroot00000000000000sql-parser-4.6.1/locale/sq/LC_MESSAGES/sqlparser.mo000066400000000000000000000106201363525634600216470ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   *h #  . c i  s  2 +Q }  <  ' 4T0l 1%D]!zL. 5Vk$}# )B\ v)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Albanian (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-03-20 01:34+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Albanian Language: sq MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.20-dev Vlerat %1$d u pritën, por u gjetën %2$d.Pritej një fjalë kyçe "RETURNS".Pritej një kllapë mbyllëse.Pritej një presje ose një kllapë mbyllëse.Një deklaratë e re është gjetur, por nuk ka delimiter ndërmjet asaj dhe tjetrës më përpara.Pritej një veprim riemërimi.Pritej emri i një simboli!Pritej një emër simboli! Një fjalë kyçe e rezervuar nuk mund të përdoret si një emër kolone pa backquotes.Pritej një emër tabele.Pritej një alias (pseudonim).Një pseudonim është gjetur më përpara.Pritej një shprehje.Pritej një rezultat (offset).Pritej një kllapë e hapur, e ndjekur nga një set vlerash.Pritej një kllapë e hapur.Pritej së paku një përcaktim kolone.Pritej thonjëza e fundit %1$s.Delimitues i pritshëm.Pritej hapësirë(a) e bardhë para delimiterit.Pritej fjala kyçe "TO" (për).Fillim i papritur i deklaratës.Shprehje që mungon.Deri më tani nuk ka filluar ndonjë transaksion.Nuk është implementuar ende.Pritej emri i entitetit.Pritej emri i ri i tabelës.Pritej emri i vjetër i tabelës.Ky opsion ndeshet me "%1$s".Ky lloj i klauzolës nuk është i vlefshëm në pyetjet me shumë tavolina.Ky tip i klauzolës është parsuar më parë.Fillim i papritur i deklaratës.Karakter i papritur.Pikë e papritur.Fund i papritur i shprehjes së CASEFjalë kyçe e papritur.Urdhërimi i papritur i klauzolave.Shenjë e papritur.Veprim alter i panjohur.Tip të dhënash i panjohur.Fjalë kyçe e panjohur.Tip deklarate i panjohur.Pritej emri i ndryshores.gabim # 1gabim i rreptësql-parser-4.6.1/locale/sq/LC_MESSAGES/sqlparser.po000066400000000000000000000157571363525634600216720ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-03-20 00:34+0000\n" "Last-Translator: M. M. \n" "Language-Team: Albanian \n" "Language: sq\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.20-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Nuk është implementuar ende." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Një deklaratë e re është gjetur, por nuk ka delimiter ndërmjet asaj dhe " "tjetrës më përpara." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Veprim alter i panjohur." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Vlerat %1$d u pritën, por u gjetën %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Pritej një kllapë e hapur, e ndjekur nga një set vlerash." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Pritej një kllapë e hapur." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Fjalë kyçe e papritur." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Fund i papritur i shprehjes së CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Pritej një emër simboli! Një fjalë kyçe e rezervuar nuk mund të përdoret si " "një emër kolone pa backquotes." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Pritej emri i një simboli!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Pritej një presje ose një kllapë mbyllëse." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Pritej një kllapë mbyllëse." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tip të dhënash i panjohur." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Pritej një alias (pseudonim)." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Një pseudonim është gjetur më përpara." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Pikë e papritur." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Pritej një shprehje." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Pritej një rezultat (offset)." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Ky opsion ndeshet me \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Pritej emri i vjetër i tabelës." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Pritej fjala kyçe \"TO\" (për)." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Pritej emri i ri i tabelës." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Pritej një veprim riemërimi." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Shprehje që mungon." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Karakter i papritur." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Pritej hapësirë(a) e bardhë para delimiterit." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Delimitues i pritshëm." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Pritej thonjëza e fundit %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Pritej emri i ndryshores." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Fillim i papritur i deklaratës." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tip deklarate i panjohur." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Deri më tani nuk ka filluar ndonjë transaksion." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Shenjë e papritur." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Ky tip i klauzolës është parsuar më parë." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Fjalë kyçe e panjohur." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Fillim i papritur i deklaratës." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Urdhërimi i papritur i klauzolave." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Pritej emri i entitetit." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Pritej një emër tabele." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Pritej së paku një përcaktim kolone." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Pritej një fjalë kyçe \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Ky lloj i klauzolës nuk është i vlefshëm në pyetjet me shumë tavolina." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "gabim # 1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "gabim i rreptë" sql-parser-4.6.1/locale/sqlparser.pot000066400000000000000000000130551363525634600176330ustar00rootroot00000000000000# phpMyAdmin SQL parser translation. # Copyright (C) 2015 - 2017 phpMyAdmin devel team # This file is distributed under the same license as the SQL parser package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/sr/000077500000000000000000000000001363525634600155135ustar00rootroot00000000000000sql-parser-4.6.1/locale/sr/LC_MESSAGES/000077500000000000000000000000001363525634600173005ustar00rootroot00000000000000sql-parser-4.6.1/locale/sr/LC_MESSAGES/sqlparser.mo000066400000000000000000000011321363525634600216460ustar00rootroot00000000000000$,8 9Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:25+0200 Last-Translator: Michal Čihař Language-Team: Serbian Language: sr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/sr/LC_MESSAGES/sqlparser.po000066400000000000000000000154601363525634600216620ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:25+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy msgid "A symbol name was expected!" msgstr "Шаблон имена датотеке" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Није изабрана ни једна база." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Није изабрана ни једна база." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Нема одабраних редова" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Број отворених табела." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Број отворених табела." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Ред је обрисан" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "као регуларни израз" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "Табела %s је одбачена" #: src/Lexer.php:884 #, fuzzy msgid "Variable name was expected." msgstr "Шаблон имена датотеке" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "На почетку табеле" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "На почетку табеле" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "На почетку табеле" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Број отворених табела." #: src/Statements/CreateStatement.php:430 #, fuzzy msgid "A table name was expected." msgstr "Шаблон имена датотеке" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Ред је обрисан" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Грешка" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query type" msgid "strict error" msgstr "Врста упита" sql-parser-4.6.1/locale/sr@latin/000077500000000000000000000000001363525634600166435ustar00rootroot00000000000000sql-parser-4.6.1/locale/sr@latin/LC_MESSAGES/000077500000000000000000000000001363525634600204305ustar00rootroot00000000000000sql-parser-4.6.1/locale/sr@latin/LC_MESSAGES/sqlparser.mo000066400000000000000000000011601363525634600227770ustar00rootroot00000000000000$,869Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:24+0200 Last-Translator: Michal Čihař Language-Team: Serbian (latin) Language: sr@latin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/sr@latin/LC_MESSAGES/sqlparser.po000066400000000000000000000152641363525634600230140ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:24+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Serbian (latin) \n" "Language: sr@latin\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Šablon imena tabele" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Nije izabrana ni jedna baza." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Nije izabrana ni jedna baza." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Nema odabranih redova" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Broj otvorenih tabela." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Broj otvorenih tabela." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Red je obrisan" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "kao regularni izraz" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Event %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "Događaj %1$s je kreiran." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Šablon imena tabele" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Na početku tabele" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Na početku tabele" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Na početku tabele" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Broj otvorenih tabela." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Šablon imena tabele" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Red je obrisan" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Greška" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Prikupljanje grešaka" sql-parser-4.6.1/locale/sv/000077500000000000000000000000001363525634600155175ustar00rootroot00000000000000sql-parser-4.6.1/locale/sv/LC_MESSAGES/000077500000000000000000000000001363525634600173045ustar00rootroot00000000000000sql-parser-4.6.1/locale/sv/LC_MESSAGES/sqlparser.mo000066400000000000000000000062661363525634600216670ustar00rootroot00000000000000 +*!*6La !<9 v,&:$O't'""  0B`x+(8 KI      I" 'l (    % < #V *z , 0   1 A Q c s         %1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Keyword "TO" was expected.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-11-12 10:41+0000 Last-Translator: Michal Čihař Language-Team: Swedish Language: sv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.5-dev %1$d värden var väntat, men hittade %2$d.Ett nyckelord förväntades.En avslutande hakparentes förväntades.Semikolon eller en avslutande hakparentes förväntades.En ny sats hittades, men ingen avgränsare mellan det och den föregående.Ett namnbyte förväntades.Ett alias förväntades.Ett alias hittades tidigare.Ett uttryck förväntades.En förskjutning förväntades.En inledande hakparentes följt av en uppsättning värden förväntades.En inledande hakparentes förväntades.Minst en kolumndefinition förväntades.Slut citat %1$s förväntades.Förväntade avgränsare.Sökordet "Till" förväntades.Ingen transaktion startades tidigare.Ännu inte implementerat.Namnet på entiteten förväntades.Det nya namnet på tabellen förväntades.Det gamla namnet på tabellen förväntades.Det här alternativet är i konflikt med "%1$s".Oväntad början av satsen.Oväntade tecken.Oväntad punkt.Oväntad token.Okänd operation.Okänd datatyp.Okänt nyckelord.Okänd uttryckstyp.Variabel namn förväntades.sql-parser-4.6.1/locale/sv/LC_MESSAGES/sqlparser.po000066400000000000000000000160001363525634600216550ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-11-12 10:41+0000\n" "Last-Translator: Michal Čihař \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ännu inte implementerat." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "En ny sats hittades, men ingen avgränsare mellan det och den föregående." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Okänd operation." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d värden var väntat, men hittade %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "En inledande hakparentes följt av en uppsättning värden förväntades." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "En inledande hakparentes förväntades." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 #, fuzzy #| msgid "Unexpected token." msgid "Unexpected keyword." msgstr "Oväntad token." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Variable name was expected." msgid "A symbol name was expected!" msgstr "Variabel namn förväntades." #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Semikolon eller en avslutande hakparentes förväntades." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "En avslutande hakparentes förväntades." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Okänd datatyp." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Ett alias förväntades." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Ett alias hittades tidigare." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Oväntad punkt." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Ett uttryck förväntades." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "En förskjutning förväntades." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Det här alternativet är i konflikt med \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Det gamla namnet på tabellen förväntades." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Sökordet \"Till\" förväntades." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Det nya namnet på tabellen förväntades." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Ett namnbyte förväntades." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "som reguljärt uttryck" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Oväntade tecken." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Förväntade avgränsare." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Slut citat %1$s förväntades." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Variabel namn förväntades." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Oväntad början av satsen." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Okänd uttryckstyp." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Ingen transaktion startades tidigare." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Oväntad token." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Okänt nyckelord." #: src/Statement.php:377 #, fuzzy #| msgid "Unexpected beginning of statement." msgid "Keyword at end of statement." msgstr "Oväntad början av satsen." #: src/Statement.php:503 #, fuzzy #| msgid "Unexpected beginning of statement." msgid "Unexpected ordering of clauses." msgstr "Oväntad början av satsen." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Namnet på entiteten förväntades." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Variable name was expected." msgid "A table name was expected." msgstr "Variabel namn förväntades." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Minst en kolumndefinition förväntades." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Ett nyckelord förväntades." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "fel." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "Samla fel" sql-parser-4.6.1/locale/ta/000077500000000000000000000000001363525634600154735ustar00rootroot00000000000000sql-parser-4.6.1/locale/ta/LC_MESSAGES/000077500000000000000000000000001363525634600172605ustar00rootroot00000000000000sql-parser-4.6.1/locale/ta/LC_MESSAGES/sqlparser.mo000066400000000000000000000013761363525634600216400ustar00rootroot000000000000004L`avMhGNot implemented yet.Unexpected keyword.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-07-21 09:33+0000 Last-Translator: Murshid Ahmed Language-Team: Tamil Language: ta MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.16-dev இன்னும் அமுலாக்கப்படவில்லை.எதிர்பாராத சிறப்புச்சொல்.sql-parser-4.6.1/locale/ta/LC_MESSAGES/sqlparser.po000066400000000000000000000173361363525634600216460ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2010 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # FIRST AUTHOR , YEAR. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-07-21 09:33+0000\n" "Last-Translator: Murshid Ahmed \n" "Language-Team: Tamil \n" "Language: ta\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.16-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "இன்னும் அமுலாக்கப்படவில்லை." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "எதிர்பாராத சிறப்புச்சொல்." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "No tables selected." msgid "A symbol name was expected!" msgstr "எந்த தரவுத்தளமும் தேர்ந்தெடுக்கப்படவில்லை." #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No tables selected." msgid "A comma or a closing bracket was expected." msgstr "எந்த தரவுத்தளமும் தேர்ந்தெடுக்கப்படவில்லை." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No tables selected." msgid "An alias was expected." msgstr "எந்த தரவுத்தளமும் தேர்ந்தெடுக்கப்படவில்லை." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "தெரிவுசெய்யப்பட வரிசைகள் இல்லை" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "இந்நிரைவரிசை அழிக்கப்பட்டது." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "வழக்கமான வெளிப்பாடு" #: src/Lexer.php:237 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected character." msgstr "%sம் வரியில் எதிர்பாராத எழுத்துக்கள் உள்ளன." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "Rate of table open" msgid "Unexpected beginning of statement." msgstr "திறந்தநிலை அட்டவணைகளின் விழுக்காடு" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 #, fuzzy #| msgid "Unexpected characters on line %s." msgid "Unexpected token." msgstr "%sம் வரியில் எதிர்பாராத எழுத்துக்கள் உள்ளன." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Rate of table open" msgid "Keyword at end of statement." msgstr "திறந்தநிலை அட்டவணைகளின் விழுக்காடு" #: src/Statement.php:503 #, fuzzy #| msgid "Rate of table open" msgid "Unexpected ordering of clauses." msgstr "திறந்தநிலை அட்டவணைகளின் விழுக்காடு" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "No tables selected." msgid "A table name was expected." msgstr "எந்த தரவுத்தளமும் தேர்ந்தெடுக்கப்படவில்லை." #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "இந்நிரைவரிசை அழிக்கப்பட்டது." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "வலு" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query error" msgid "strict error" msgstr "வினவல் வழு" sql-parser-4.6.1/locale/te/000077500000000000000000000000001363525634600154775ustar00rootroot00000000000000sql-parser-4.6.1/locale/te/LC_MESSAGES/000077500000000000000000000000001363525634600172645ustar00rootroot00000000000000sql-parser-4.6.1/locale/te/LC_MESSAGES/sqlparser.mo000066400000000000000000000021041363525634600216320ustar00rootroot00000000000000<\pLq-HA new statement was found, but no delimiter between it and the previous one.Not implemented yet.Unrecognized alter operation.Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-04-12 15:19+0000 Last-Translator: bhargavi sabbisetty Language-Team: Telugu Language: te MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.13 ఒక కొత్త వాక్యం కనిపించింది, కానీ దీనికి మరియు మునుపటి దానికి మధ్య ఎటువంటి డీలిమిటర్ లేదు .ఇంకా అమలు కాలేదు.గుర్తించబడని మారు ఆపరేషన్.sql-parser-4.6.1/locale/te/LC_MESSAGES/sqlparser.po000066400000000000000000000164141363525634600216460ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2010 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # FIRST AUTHOR , YEAR. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-04-12 15:19+0000\n" "Last-Translator: bhargavi sabbisetty \n" "Language-Team: Telugu \n" "Language: te\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.13\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "ఇంకా అమలు కాలేదు." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "ఒక కొత్త వాక్యం కనిపించింది, కానీ దీనికి మరియు మునుపటి దానికి మధ్య ఎటువంటి డీలిమిటర్ లేదు ." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "గుర్తించబడని మారు ఆపరేషన్." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name" msgid "A symbol name was expected!" msgstr "పట్టిక పేరు" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "Table name" msgid "A comma or a closing bracket was expected." msgstr "పట్టిక పేరు" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "Table name" msgid "An alias was expected." msgstr "పట్టిక పేరు" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "Table name" msgid "An expression was expected." msgstr "పట్టిక పేరు" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "Database %s has been dropped." msgid "A rename operation was expected." msgstr "%s డేటాబేస్ తుడిచివేయడమైనది" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "Last version" msgid "Missing expression." msgstr "చివరి కూర్పు" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" # మొదటి అనువాదము #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Page has been created." msgid "Ending quote %1$s was expected." msgstr "పుటను సృష్టించడమైనది" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" # మొదటి అనువాదము #: src/Parser.php:423 #, fuzzy #| msgctxt "short form" #| msgid "Create table" msgid "Unexpected beginning of statement." msgstr "పట్టికను సృష్టించు" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" # మొదటి అనువాదము #: src/Statement.php:377 #, fuzzy #| msgctxt "short form" #| msgid "Create table" msgid "Keyword at end of statement." msgstr "పట్టికను సృష్టించు" # మొదటి అనువాదము #: src/Statement.php:503 #, fuzzy #| msgctxt "short form" #| msgid "Create table" msgid "Unexpected ordering of clauses." msgstr "పట్టికను సృష్టించు" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name" msgid "A table name was expected." msgstr "పట్టిక పేరు" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "Database %s has been dropped." msgid "At least one column definition was expected." msgstr "%s డేటాబేస్ తుడిచివేయడమైనది" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "పొరపాటు" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/th/000077500000000000000000000000001363525634600155025ustar00rootroot00000000000000sql-parser-4.6.1/locale/th/LC_MESSAGES/000077500000000000000000000000001363525634600172675ustar00rootroot00000000000000sql-parser-4.6.1/locale/th/LC_MESSAGES/sqlparser.mo000066400000000000000000000124031363525634600216400ustar00rootroot00000000000000!$/,**4L_ cMd< 5(Ir&''"-"Ps!">xHm i W UC 9 ? = NQ Q `WB<H$Yi~<T%]zDcE@lTul97EqK  !   %1$d values were expected, but found %2$d.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Missing expression.No transaction was previously started.Not implemented yet.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unrecognized alter operation.Unrecognized data type.Unrecognized statement type.Variable name was expected.Project-Id-Version: Thai (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-08-17 12:42+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Thai Language: th MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 3.2-dev ค่าของ %1$d ได้รับการคาดเดา แต่สิ่งที่พบคือ %2$dวงเล็บปิดได้รับการคาดเดาจุลภาค หรือ วงเล็บปิด ได้รับการคาดเดาตรวจพบประพจน์ใหม่ แต่ไม่มีตัวคั่นระหว่างข้อความนี้กับข้อความก่อนหน้าการเปลี่ยนชื่อได้รับการคาดเดาชื่อสัญลักษณ์ได้รับการคาดเดา!ชื่อสัญลักษณ์ได้รับการคาดเดาแล้ว คำสำคัญที่สงวนไว้ไม่สามารถใช้เป็นชื่อคอลัมน์โดยไม่มีอัญประกาศกลับหลังได้ตัวแทนได้รับการคาดเดาชื่อ alias มีอยู่ก่อนแล้วหนึ่งนิพจน์ได้รับการคาดเดาหนึ่งออฟเซ็ตได้รับการคาดเดาเปิดวงเล็บเหลี่ยมแล้วตามด้วยชุดของค่าที่จะคาดเดาวงเล็บเหลี่ยมเปิดได้รับการคาดเดาอัญประกาศปิด %1$s ได้รับการคาดเดาตัวคั่นได้รับการคาดเดาวรรค(อาจจะมากกว่าหนึ่ง) ได้รับการคาดเดาก่อนตัวคั่นคำสำคัญ "TO" ได้รับการคาดเดานิพจน์ขาดหายไม่มีข้อมูลเข้าออกได้เริ่มต้นมาก่อนยังไม่มีการดำเนินการชื่อตารางใหม่ได้รับการคาดเดาชื่อเดิมของตารางได้รับการคาดเดาตัวเลือกนี้ขัดแย้งกับ %1$sไม่อาจคาดเดาจุดเริ่มต้นของประพจน์ตัวอักษรที่คาดเดาไม่ได้จุด ไม่ได้รับการคาดเดาจุดสิ้นสุดนิพจน์ CASE ไม่ได้รับการคาดเดาคำสำคัญที่ไม่ได้รับการคาดเดาไม่รู้จักการปฏิบัติการนอกเหนือจากนี้ไม่รู้จักชนิดข้อมูลไม่รู้จักชนิดของประพจน์ชื่อตัวแปรได้รับการคาดเดาsql-parser-4.6.1/locale/th/LC_MESSAGES/sqlparser.po000066400000000000000000000217731363525634600216550ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-08-17 10:42+0000\n" "Last-Translator: Anusuk Sangubon \n" "Language-Team: Thai \n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.2-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "ยังไม่มีการดำเนินการ" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "ตรวจพบประพจน์ใหม่ แต่ไม่มีตัวคั่นระหว่างข้อความนี้กับข้อความก่อนหน้า" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "ไม่รู้จักการปฏิบัติการนอกเหนือจากนี้" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "ค่าของ %1$d ได้รับการคาดเดา แต่สิ่งที่พบคือ %2$d" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "เปิดวงเล็บเหลี่ยมแล้วตามด้วยชุดของค่าที่จะคาดเดา" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "วงเล็บเหลี่ยมเปิดได้รับการคาดเดา" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "คำสำคัญที่ไม่ได้รับการคาดเดา" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "จุดสิ้นสุดนิพจน์ CASE ไม่ได้รับการคาดเดา" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "ชื่อสัญลักษณ์ได้รับการคาดเดาแล้ว " "คำสำคัญที่สงวนไว้ไม่สามารถใช้เป็นชื่อคอลัมน์โดยไม่มีอัญประกาศกลับหลังได้" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "ชื่อสัญลักษณ์ได้รับการคาดเดา!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "จุลภาค หรือ วงเล็บปิด ได้รับการคาดเดา" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "วงเล็บปิดได้รับการคาดเดา" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "ไม่รู้จักชนิดข้อมูล" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "ตัวแทนได้รับการคาดเดา" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "ชื่อ alias มีอยู่ก่อนแล้ว" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "จุด ไม่ได้รับการคาดเดา" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "หนึ่งนิพจน์ได้รับการคาดเดา" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "หนึ่งออฟเซ็ตได้รับการคาดเดา" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "ตัวเลือกนี้ขัดแย้งกับ %1$s" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "ชื่อเดิมของตารางได้รับการคาดเดา" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "คำสำคัญ \"TO\" ได้รับการคาดเดา" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "ชื่อตารางใหม่ได้รับการคาดเดา" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "การเปลี่ยนชื่อได้รับการคาดเดา" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "นิพจน์ขาดหาย" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "ตัวอักษรที่คาดเดาไม่ได้" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "วรรค(อาจจะมากกว่าหนึ่ง) ได้รับการคาดเดาก่อนตัวคั่น" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "ตัวคั่นได้รับการคาดเดา" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "อัญประกาศปิด %1$s ได้รับการคาดเดา" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "ชื่อตัวแปรได้รับการคาดเดา" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "ไม่อาจคาดเดาจุดเริ่มต้นของประพจน์" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "ไม่รู้จักชนิดของประพจน์" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "ไม่มีข้อมูลเข้าออกได้เริ่มต้นมาก่อน" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Unexpected beginning of statement." msgid "Keyword at end of statement." msgstr "ไม่อาจคาดเดาจุดเริ่มต้นของประพจน์" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "ที่จุดเริ่มต้นของตาราง" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy msgid "A table name was expected." msgstr "รูปแบบของชื่อไฟล์" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "ลบเรียบร้อยแล้ว" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "ผิดพลาด" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "รวบรวมข้อผิดพลาด" sql-parser-4.6.1/locale/tk/000077500000000000000000000000001363525634600155055ustar00rootroot00000000000000sql-parser-4.6.1/locale/tk/LC_MESSAGES/000077500000000000000000000000001363525634600172725ustar00rootroot00000000000000sql-parser-4.6.1/locale/tk/LC_MESSAGES/sqlparser.mo000066400000000000000000000010171363525634600216420ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2013-05-07 17:12+0200 Last-Translator: Michal Čihař Language-Team: Turkmen Language: tk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 1.6-dev sql-parser-4.6.1/locale/tk/LC_MESSAGES/sqlparser.po000066400000000000000000000142521363525634600216520ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2011 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2013-05-07 17:12+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Turkmen \n" "Language: tk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 1.6-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Database %1$s has been created." msgid "A symbol name was expected!" msgstr "%1$s maglumatlar ulgamy döredildi." #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "Database %1$s has been created." msgid "A comma or a closing bracket was expected." msgstr "%1$s maglumatlar ulgamy döredildi." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "Database %1$s has been created." msgid "An alias was expected." msgstr "%1$s maglumatlar ulgamy döredildi." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "Database %1$s has been created." msgid "A rename operation was expected." msgstr "%1$s maglumatlar ulgamy döredildi." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Database %1$s has been created." msgid "A table name was expected." msgstr "%1$s maglumatlar ulgamy döredildi." #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "Database %1$s has been created." msgid "At least one column definition was expected." msgstr "%1$s maglumatlar ulgamy döredildi." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/tr/000077500000000000000000000000001363525634600155145ustar00rootroot00000000000000sql-parser-4.6.1/locale/tr/LC_MESSAGES/000077500000000000000000000000001363525634600173015ustar00rootroot00000000000000sql-parser-4.6.1/locale/tr/LC_MESSAGES/sqlparser.mo000066400000000000000000000107471363525634600216630ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   , ' * < OA (  Y q    C )"&L/s/"  1'>f{%>0> o.$)'@h )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-08-21 11:22+0000 Last-Translator: Burak Yavuz Language-Team: Turkish Language: tr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: Weblate 2.17-dev %1$d değer beklenmekte, ancak %2$d bulundu."RETURNS" anahtar kelimesi beklenmekte.Kapalı bir köşeli parantez beklenmekte.Bir virgül ya da kapalı bir köşeli parantez beklenmekte.Yeni bir ifade bulundu, ancak bu ve önceki arasında hiç sınırlayıcı yok.Yeniden adlandırma işlemi beklenmekte.Bir sembol adı beklenmekte!Bir sembol adı beklenmekte! Ayrılmış bir anahtar kelime ters eğik tırnakları olmadan bir sütun adı olarak kullanılamaz.Tablo adı beklenmekte.Bir kodadı beklenmekte.Bir kodadı daha önce bulundu.Bir ifade beklenmekte.Bir karşılık beklenmekte.Açık bir köşeli parantez ardından bir grup değer beklenmekte.Açık bir köşeli parantez beklenmekte.En az bir sütun tanımı beklenmekte.Sonlandırma tırnak işareti %1$s beklenmekte.Beklenen sınırlayıcı.Sınırlayıcıdan önce beklenen boşluk(lar)."TO" anahtar kelimesi beklenmekte.İfade sonundaki anahtar kelime.Eksik ifade.Daha önce hiç işlem başlatılmadı.Henüz uygulanmadı.Varlığın adı beklenmekte.Tablonun yeni adı beklenmekte.Tablonun eski adı beklenmekte.Bu seçenek "%1$s" ile çakışıyor.Bu tür yan tümce Çoklu tablo sorgularında geçerli değil.Bu tür yan tümce daha önce ayrıştırıldı.Beklenmedik ifade başlangıcı.Beklenmedik karakter.Beklenmedik nokta.Beklenmedik Büyük/Küçük harf ifadesi sonuBeklenmedik anahtar kelime.Beklenmedik yan tümce sıralaması.Beklenmedik belirteç.Kategorilenmemiş değiştirme işlemi.Tanınmayan veri türü.Tanınmayan anahtar kelime.Tanınmayan ifade türü.Değişken adı beklenmekte.hata #1kesin hatasql-parser-4.6.1/locale/tr/LC_MESSAGES/sqlparser.po000066400000000000000000000161231363525634600216600ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-08-21 11:22+0000\n" "Last-Translator: Burak Yavuz \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Henüz uygulanmadı." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Yeni bir ifade bulundu, ancak bu ve önceki arasında hiç sınırlayıcı yok." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Kategorilenmemiş değiştirme işlemi." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "%1$d değer beklenmekte, ancak %2$d bulundu." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Açık bir köşeli parantez ardından bir grup değer beklenmekte." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Açık bir köşeli parantez beklenmekte." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Beklenmedik anahtar kelime." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Beklenmedik Büyük/Küçük harf ifadesi sonu" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Bir sembol adı beklenmekte! Ayrılmış bir anahtar kelime ters eğik tırnakları " "olmadan bir sütun adı olarak kullanılamaz." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Bir sembol adı beklenmekte!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Bir virgül ya da kapalı bir köşeli parantez beklenmekte." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Kapalı bir köşeli parantez beklenmekte." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Tanınmayan veri türü." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Bir kodadı beklenmekte." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Bir kodadı daha önce bulundu." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Beklenmedik nokta." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Bir ifade beklenmekte." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Bir karşılık beklenmekte." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Bu seçenek \"%1$s\" ile çakışıyor." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Tablonun eski adı beklenmekte." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "\"TO\" anahtar kelimesi beklenmekte." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Tablonun yeni adı beklenmekte." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Yeniden adlandırma işlemi beklenmekte." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Eksik ifade." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Beklenmedik karakter." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Sınırlayıcıdan önce beklenen boşluk(lar)." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Beklenen sınırlayıcı." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Sonlandırma tırnak işareti %1$s beklenmekte." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Değişken adı beklenmekte." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Beklenmedik ifade başlangıcı." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Tanınmayan ifade türü." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Daha önce hiç işlem başlatılmadı." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Beklenmedik belirteç." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Bu tür yan tümce daha önce ayrıştırıldı." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Tanınmayan anahtar kelime." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "İfade sonundaki anahtar kelime." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Beklenmedik yan tümce sıralaması." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Varlığın adı beklenmekte." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Tablo adı beklenmekte." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "En az bir sütun tanımı beklenmekte." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "\"RETURNS\" anahtar kelimesi beklenmekte." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Bu tür yan tümce Çoklu tablo sorgularında geçerli değil." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "hata #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "kesin hata" sql-parser-4.6.1/locale/tt/000077500000000000000000000000001363525634600155165ustar00rootroot00000000000000sql-parser-4.6.1/locale/tt/LC_MESSAGES/000077500000000000000000000000001363525634600173035ustar00rootroot00000000000000sql-parser-4.6.1/locale/tt/LC_MESSAGES/sqlparser.mo000066400000000000000000000010111363525634600216450ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:22+0200 Last-Translator: Michal Čihař Language-Team: Tatar Language: tt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/tt/LC_MESSAGES/sqlparser.po000066400000000000000000000147671363525634600216760ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:22+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Tatar \n" "Language: tt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy msgid "A symbol name was expected!" msgstr "Birem adınıñ tözeleşe" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Biremlek saylanmağan." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Biremlek saylanmağan." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Kertemnär sayladı" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Açıq toruçı tüşämä sanı." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Açıq toruçı tüşämä sanı." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Bu yazma salınğan buldı" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "regexp kileş" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format msgid "Ending quote %1$s was expected." msgstr "\"%s\" atlı tüşämä beterelde" #: src/Lexer.php:884 #, fuzzy msgid "Variable name was expected." msgstr "Birem adınıñ tözeleşe" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Tüşämä Başına" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Tüşämä Başına" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Tüşämä Başına" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Açıq toruçı tüşämä sanı." #: src/Statements/CreateStatement.php:430 #, fuzzy msgid "A table name was expected." msgstr "Birem adınıñ tözeleşe" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Bu yazma salınğan buldı" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "Xata" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query type" msgid "strict error" msgstr "Soraw töre" sql-parser-4.6.1/locale/ug/000077500000000000000000000000001363525634600155025ustar00rootroot00000000000000sql-parser-4.6.1/locale/ug/LC_MESSAGES/000077500000000000000000000000001363525634600172675ustar00rootroot00000000000000sql-parser-4.6.1/locale/ug/LC_MESSAGES/sqlparser.mo000066400000000000000000000010371363525634600216410ustar00rootroot00000000000000,<HIR error #1Project-Id-Version: Uyghur (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-06-08 03:43+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Uyghur Language: ug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 3.0 خاتالىق #1sql-parser-4.6.1/locale/ug/LC_MESSAGES/sqlparser.po000066400000000000000000000152241363525634600216470ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2010 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # FIRST AUTHOR , YEAR. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-06-08 01:43+0000\n" "Last-Translator: ۋولقان \n" "Language-Team: Uyghur \n" "Language: ug\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 3.0\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "With selected:" msgid "A symbol name was expected!" msgstr "تاللانغىنى:" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "With selected:" msgid "A comma or a closing bracket was expected." msgstr "تاللانغىنى:" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "With selected:" msgid "An alias was expected." msgstr "تاللانغىنى:" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "With selected:" msgid "An expression was expected." msgstr "تاللانغىنى:" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The bookmark has been deleted." msgid "A rename operation was expected." msgstr "خەتكۈچ ئۆچۈرۈلدى." #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "مۇنتىزىم ئىپادە" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Database %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "%1$s ساندان غەلبىلىك قۇرۇلدى" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 #, fuzzy #| msgid "Show dimension of tables" msgid "Unexpected beginning of statement." msgstr "جەدېۋەلنىڭ چوڭ-كىچىكلىكىنى كۆرسىتىش" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Show dimension of tables" msgid "Keyword at end of statement." msgstr "جەدېۋەلنىڭ چوڭ-كىچىكلىكىنى كۆرسىتىش" #: src/Statement.php:503 #, fuzzy #| msgid "Show dimension of tables" msgid "Unexpected ordering of clauses." msgstr "جەدېۋەلنىڭ چوڭ-كىچىكلىكىنى كۆرسىتىش" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "With selected:" msgid "A table name was expected." msgstr "تاللانغىنى:" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The bookmark has been deleted." msgid "At least one column definition was expected." msgstr "خەتكۈچ ئۆچۈرۈلدى." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "خاتالىق #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Query" msgid "strict error" msgstr "تەكشۈرۈش" sql-parser-4.6.1/locale/uk/000077500000000000000000000000001363525634600155065ustar00rootroot00000000000000sql-parser-4.6.1/locale/uk/LC_MESSAGES/000077500000000000000000000000001363525634600172735ustar00rootroot00000000000000sql-parser-4.6.1/locale/uk/LC_MESSAGES/sqlparser.mo000066400000000000000000000131661363525634600216530ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r  8 H ;& 3b D } EY < .(:&V(}V5\3=,L6H5$L!'-I7w<7c$TH&&$M7r1=&5A-w35.>%P)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2017-08-21 14:47+0000 Last-Translator: Володимир Бриняк Language-Team: Ukrainian Language: uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; X-Generator: Weblate 2.17-dev Очікувалося %1$d значення, а знайдено %2$d .Очікувалося ключове слово "RETURNS".Очікувалася закривна дужка.Очікувалося, кома або закривна дужка.Новий оператор знайдено, але між ним і попереднім немає роздільника.Очікувалася операція перейменування.Очікувалося ім'я ідентифікатора!Очікувалося ім'я ідентифікатора! Зарезервоване ключове слово не може використовуватися, як ім'я стовпця, без зворотніх лапок.Очікувалося ім'я таблиці.Очікувався псевдонім.Псевдонім був раніше знайдений.Очікувався оператор.Очікувалося зміщення.Очікувалося відкриття дужки з набором значень.Очікувалося відкриття дужки.Очікувалося, принаймні одне визначення стовпчика.Очікувалося закриваюча лапка %1$s .Очікувалося роздільник.Очікувалося пробіл(и) перед роздільником.Очікувалося ключове слово "TO".Ключове слово в кінці виразу.Відсутній оператор.Жодна транзакція не була раніше запущена.Ще не реалізовано.Очікувалося ім'я об'єкта.Очікувалося нове ім'я таблиці.Очікувалося стара назва таблиці.Цей параметр конфліктує з "%1$s".Цей тип оператора не діє для запитів групових таблиць.Цей тип оператора був раніше проаналізований.Неочікуваний початок виразу оператора.Неочікуваний символ.Неочікувана крапка.Неочікуваний кінець виразу CASEНеочікуване ключове слово.Неочікуваний порядок операторів.Неочікуваний маркер.Нерозпізнана операція зміни.Нерозпізнаний тип даних.Нерозпізнане ключове слово.Нерозпізнаний тип оператора.Очікувалося ім'я змінної.помилка #1недопустима помилкаsql-parser-4.6.1/locale/uk/LC_MESSAGES/sqlparser.po000066400000000000000000000203001363525634600216420ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2017-08-21 14:47+0000\n" "Last-Translator: Володимир Бриняк \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" "4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.17-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Ще не реалізовано." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "Новий оператор знайдено, але між ним і попереднім немає роздільника." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Нерозпізнана операція зміни." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Очікувалося %1$d значення, а знайдено %2$d ." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Очікувалося відкриття дужки з набором значень." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Очікувалося відкриття дужки." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Неочікуване ключове слово." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Неочікуваний кінець виразу CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Очікувалося ім'я ідентифікатора! Зарезервоване ключове слово не може " "використовуватися, як ім'я стовпця, без зворотніх лапок." #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "Очікувалося ім'я ідентифікатора!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Очікувалося, кома або закривна дужка." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Очікувалася закривна дужка." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Нерозпізнаний тип даних." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Очікувався псевдонім." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Псевдонім був раніше знайдений." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Неочікувана крапка." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Очікувався оператор." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Очікувалося зміщення." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Цей параметр конфліктує з \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Очікувалося стара назва таблиці." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Очікувалося ключове слово \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Очікувалося нове ім'я таблиці." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Очікувалася операція перейменування." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Відсутній оператор." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Неочікуваний символ." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Очікувалося пробіл(и) перед роздільником." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Очікувалося роздільник." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Очікувалося закриваюча лапка %1$s ." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Очікувалося ім'я змінної." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Неочікуваний початок виразу оператора." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Нерозпізнаний тип оператора." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Жодна транзакція не була раніше запущена." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Неочікуваний маркер." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Цей тип оператора був раніше проаналізований." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Нерозпізнане ключове слово." #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "Ключове слово в кінці виразу." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Неочікуваний порядок операторів." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Очікувалося ім'я об'єкта." #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "Очікувалося ім'я таблиці." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Очікувалося, принаймні одне визначення стовпчика." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Очікувалося ключове слово \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Цей тип оператора не діє для запитів групових таблиць." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "помилка #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "недопустима помилка" sql-parser-4.6.1/locale/ur/000077500000000000000000000000001363525634600155155ustar00rootroot00000000000000sql-parser-4.6.1/locale/ur/LC_MESSAGES/000077500000000000000000000000001363525634600173025ustar00rootroot00000000000000sql-parser-4.6.1/locale/ur/LC_MESSAGES/sqlparser.mo000066400000000000000000000010171363525634600216520ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:05+0200 Last-Translator: Michal Čihař Language-Team: Urdu Language: ur MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/ur/LC_MESSAGES/sqlparser.po000066400000000000000000000156161363525634600216670ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2010 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # FIRST AUTHOR , YEAR. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:05+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Urdu \n" "Language: ur\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 #, fuzzy #| msgid "Iconic table operations" msgid "Unrecognized alter operation." msgstr "شبیہاتی جدول عملیات" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "جدول نام سانچا" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "Removing Selected Users" msgid "A comma or a closing bracket was expected." msgstr "منتخب صارفین حذف کیے جا رہے ہیں" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "Removing Selected Users" msgid "An alias was expected." msgstr "منتخب صارفین حذف کیے جا رہے ہیں" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "Removing Selected Users" msgid "An expression was expected." msgstr "منتخب صارفین حذف کیے جا رہے ہیں" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The bookmark has been deleted." msgid "A rename operation was expected." msgstr "نشانی حذف ہو چکی ہے۔" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "بطور باقاعدہ اظہار" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Database %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "کوائفیہ $1%s بن گئی ہے۔" #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "جدول نام سانچا" #: src/Parser.php:423 #, fuzzy #| msgid "Show dimension of tables" msgid "Unexpected beginning of statement." msgstr "ٹیبلز کی جسامت دیکھیں" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "Show dimension of tables" msgid "Keyword at end of statement." msgstr "ٹیبلز کی جسامت دیکھیں" #: src/Statement.php:503 #, fuzzy #| msgid "Show dimension of tables" msgid "Unexpected ordering of clauses." msgstr "ٹیبلز کی جسامت دیکھیں" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "جدول نام سانچا" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The bookmark has been deleted." msgid "At least one column definition was expected." msgstr "نشانی حذف ہو چکی ہے۔" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "Error" msgid "error #1" msgstr "نقص" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Gather errors" msgid "strict error" msgstr "نقائص اکھٹی کریں" sql-parser-4.6.1/locale/uz/000077500000000000000000000000001363525634600155255ustar00rootroot00000000000000sql-parser-4.6.1/locale/uz/LC_MESSAGES/000077500000000000000000000000001363525634600173125ustar00rootroot00000000000000sql-parser-4.6.1/locale/uz/LC_MESSAGES/sqlparser.mo000066400000000000000000000010171363525634600216620ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-10-15 11:39+0200 Last-Translator: Michal Čihař Language-Team: Uzbek Language: uz MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n > 1); X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/uz/LC_MESSAGES/sqlparser.po000066400000000000000000000162061363525634600216730ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-10-15 11:39+0200\n" "Last-Translator: Michal Čihař \n" "Language-Team: Uzbek \n" "Language: uz\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 #, fuzzy #| msgid "Iconic table operations" msgid "Unrecognized alter operation." msgstr "Жадвал операцияларини пиктограммалар ёрдамида амалга ошириш" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Жадвал номи шаблони" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Биронта ҳам маълумотлар базаси танланмаган." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Биронта ҳам маълумотлар базаси танланмаган." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "Амални амалга ошириш учун битта ёки бир нечта қаторни танлаш керак." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Очиқ жадваллар сони." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Очиқ жадваллар сони." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Ёзув ўчирилди" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "мунтазам ибора" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Table %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "%1$s жадвали тузилди." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Жадвал номи шаблони" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Жадвал бошига" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Жадвал бошига" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Жадвал бошига" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Очиқ жадваллар сони." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Жадвал номи шаблони" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Ёзув ўчирилди" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "хатоликлар." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Ignore errors" msgid "strict error" msgstr "Хатоларга эътибор бермаслик" sql-parser-4.6.1/locale/uz@latin/000077500000000000000000000000001363525634600166555ustar00rootroot00000000000000sql-parser-4.6.1/locale/uz@latin/LC_MESSAGES/000077500000000000000000000000001363525634600204425ustar00rootroot00000000000000sql-parser-4.6.1/locale/uz@latin/LC_MESSAGES/sqlparser.mo000066400000000000000000000010351363525634600230120ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2015-12-29 19:19+0000 Last-Translator: Michal Čihař Language-Team: Uzbek (latin) Language: uz@latin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 2.5-dev sql-parser-4.6.1/locale/uz@latin/LC_MESSAGES/sqlparser.po000066400000000000000000000154741363525634600230310ustar00rootroot00000000000000# Automatically generated <>, 2010. msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2015-12-29 19:19+0000\n" "Last-Translator: Michal Čihař \n" "Language-Team: Uzbek (latin) \n" "Language: uz@latin\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 2.5-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 #, fuzzy #| msgid "Iconic table operations" msgid "Unrecognized alter operation." msgstr "Jadval operatsiyalarini piktogrammalar yordamida amalga oshirish" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Table name template" msgid "A symbol name was expected!" msgstr "Jadval nomi shabloni" #: src/Components/CreateDefinition.php:270 #, fuzzy #| msgid "No databases selected." msgid "A comma or a closing bracket was expected." msgstr "Bironta ham ma`lumotlar bazasi tanlanmagan." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 #, fuzzy #| msgid "No databases selected." msgid "An alias was expected." msgstr "Bironta ham ma`lumotlar bazasi tanlanmagan." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 #, fuzzy #| msgid "No rows selected" msgid "An expression was expected." msgstr "" "Amalni amalga oshirish uchun bitta yoki bir nechta qatorni tanlash kerak" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 #, fuzzy #| msgid "The number of tables that are open." msgid "The old name of the table was expected." msgstr "Ochiq jadvallar soni." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 #, fuzzy #| msgid "The number of tables that are open." msgid "The new name of the table was expected." msgstr "Ochiq jadvallar soni." #: src/Components/RenameOperation.php:153 #, fuzzy #| msgid "The row has been deleted." msgid "A rename operation was expected." msgstr "Yozuv o‘chirildi" #: src/Components/SetOperation.php:117 #, fuzzy #| msgid "as regular expression" msgid "Missing expression." msgstr "muntazam ibora" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, fuzzy, php-format #| msgid "Table %1$s has been created." msgid "Ending quote %1$s was expected." msgstr "%1$s jadvali tuzildi." #: src/Lexer.php:884 #, fuzzy #| msgid "Table name template" msgid "Variable name was expected." msgstr "Jadval nomi shabloni" #: src/Parser.php:423 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected beginning of statement." msgstr "Jadval boshiga" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 #, fuzzy #| msgid "At Beginning of Table" msgid "Keyword at end of statement." msgstr "Jadval boshiga" #: src/Statement.php:503 #, fuzzy #| msgid "At Beginning of Table" msgid "Unexpected ordering of clauses." msgstr "Jadval boshiga" #: src/Statements/CreateStatement.php:375 #, fuzzy #| msgid "The number of tables that are open." msgid "The name of the entity was expected." msgstr "Ochiq jadvallar soni." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Table name template" msgid "A table name was expected." msgstr "Jadval nomi shabloni" #: src/Statements/CreateStatement.php:438 #, fuzzy #| msgid "The row has been deleted." msgid "At least one column definition was expected." msgstr "Yozuv o‘chirildi" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 #, fuzzy #| msgid "errors." msgid "error #1" msgstr "xatoliklar." #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 #, fuzzy #| msgid "Ignore errors" msgid "strict error" msgstr "Xatolarga e`tibor bermaslik" sql-parser-4.6.1/locale/vi/000077500000000000000000000000001363525634600155055ustar00rootroot00000000000000sql-parser-4.6.1/locale/vi/LC_MESSAGES/000077500000000000000000000000001363525634600172725ustar00rootroot00000000000000sql-parser-4.6.1/locale/vi/LC_MESSAGES/sqlparser.mo000066400000000000000000000106571363525634600216540ustar00rootroot00000000000000*l;*!*LA c*Ie<} ,((<e&$''"E8h*"!7Kk}  9  0 3P b    4   T" w &   7 -!D=f%*%LPH. 20S''$7)T~*('% " )# $ ! & %1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Vietnamese (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-06-30 02:46+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Vietnamese Language: vi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 3.1-dev Cần giá trị %1$d, nhưng lại nhận được %2$d.Cần từ khóa "RETURNS".Cần dấu ngoặc ôm đóng.Cần dấu phẩy hoặc dấu ngoặc ôm đóng.Tìm thấy câu lệnh mới, nhưng không có dấu ngăn cách giữa nó và lệnh trước.Cần thao tác đổi tên.Cần tên biểu tượng. Một từ khoá truy ngược không thể được sử dụng như là một tên cột mà không có các ngoặc sau.Cần một bí danh.Một bí danh đã tìm thấy từ trước đây.Cần một biểu thức.Cần vị trí tương đối.Cần một dấu ngoặc ôm mở theo sau bởi một tập hợp các giá trị.Cần dấu ngoặc ôm mở.Chưa có bảng nào được chọn.Cần trích dẫn đóng %1$s.Cần dấu phân tách.Cần các khoảng trắng trước dấu phân tách.Cần từ khóa "TO".Thiếu biểu thức chính quy.Chưa có giao địch nào đã bắt đầu trước đây.Chưa được viết mã thực thi.Cần tên của thực thể.Cần tên mới của bảng.Cần tên cũ của bảng.Tùy chọn này xung đột với "%1$s".Mệnh đề loại này không hợp lệ trong các truy vấn Đa bảng.Kiểu của mệnh đề này đã được phân tích trước đây.Gặp phần đầu mệnh đề không cần.Gặp ký tự không cần.Gặp dấu chấm không cần.Kết thúc bất ngờ của biểu thức CASETừ khóa không mong muốn.Đặt mệnh đề không mong muốn.Gặp thẻ bài không cần.Không nhận ra thao tác thay đổi.Không nhận ra kiểu dữ liệu.Không nhận ra từ khóa.Không thừa nhận kiểu mệnh đề.Cần tên biến.lỗi #1lỗi nghiêm ngặtsql-parser-4.6.1/locale/vi/LC_MESSAGES/sqlparser.po000066400000000000000000000172041363525634600216520ustar00rootroot00000000000000# phpMyAdmin translation. # Bản dịch tiếng Việt dành cho phpMyAdmin. # Copyright (C) 2003 - 2015 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Trần Ngọc Quân , 2015. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-06-30 00:46+0000\n" "Last-Translator: Name \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.1-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "Chưa được viết mã thực thi." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" "Tìm thấy câu lệnh mới, nhưng không có dấu ngăn cách giữa nó và lệnh trước." #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "Không nhận ra thao tác thay đổi." #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "Cần giá trị %1$d, nhưng lại nhận được %2$d." #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "Cần một dấu ngoặc ôm mở theo sau bởi một tập hợp các giá trị." #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "Cần dấu ngoặc ôm mở." #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "Từ khóa không mong muốn." #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "Kết thúc bất ngờ của biểu thức CASE" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" "Cần tên biểu tượng. Một từ khoá truy ngược không thể được sử dụng như là một " "tên cột mà không có các ngoặc sau." #: src/Components/CreateDefinition.php:237 #, fuzzy #| msgid "Variable name was expected." msgid "A symbol name was expected!" msgstr "Cần tên biến." #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "Cần dấu phẩy hoặc dấu ngoặc ôm đóng." #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "Cần dấu ngoặc ôm đóng." #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "Không nhận ra kiểu dữ liệu." #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "Cần một bí danh." #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "Một bí danh đã tìm thấy từ trước đây." #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "Gặp dấu chấm không cần." #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "Cần một biểu thức." #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "Cần vị trí tương đối." #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "Tùy chọn này xung đột với \"%1$s\"." #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "Cần tên cũ của bảng." #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "Cần từ khóa \"TO\"." #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "Cần tên mới của bảng." #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "Cần thao tác đổi tên." #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "Thiếu biểu thức chính quy." #: src/Lexer.php:237 msgid "Unexpected character." msgstr "Gặp ký tự không cần." #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "Cần các khoảng trắng trước dấu phân tách." #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "Cần dấu phân tách." #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "Cần trích dẫn đóng %1$s." #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "Cần tên biến." #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "Gặp phần đầu mệnh đề không cần." #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "Không thừa nhận kiểu mệnh đề." #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "Chưa có giao địch nào đã bắt đầu trước đây." #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "Gặp thẻ bài không cần." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "Kiểu của mệnh đề này đã được phân tích trước đây." #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "Không nhận ra từ khóa." #: src/Statement.php:377 #, fuzzy #| msgid "Unexpected beginning of statement." msgid "Keyword at end of statement." msgstr "Gặp phần đầu mệnh đề không cần." #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "Đặt mệnh đề không mong muốn." #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "Cần tên của thực thể." #: src/Statements/CreateStatement.php:430 #, fuzzy #| msgid "Variable name was expected." msgid "A table name was expected." msgstr "Cần tên biến." #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "Chưa có bảng nào được chọn." #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "Cần từ khóa \"RETURNS\"." #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "Mệnh đề loại này không hợp lệ trong các truy vấn Đa bảng." #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "lỗi #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "lỗi nghiêm ngặt" sql-parser-4.6.1/locale/vls/000077500000000000000000000000001363525634600156735ustar00rootroot00000000000000sql-parser-4.6.1/locale/vls/LC_MESSAGES/000077500000000000000000000000001363525634600174605ustar00rootroot00000000000000sql-parser-4.6.1/locale/vls/LC_MESSAGES/sqlparser.mo000066400000000000000000000010441363525634600220300ustar00rootroot00000000000000$,89Project-Id-Version: SQL parser 0 Report-Msgid-Bugs-To: translators@phpmyadmin.net POT-Creation-Date: 2017-08-21 12:54+0200 PO-Revision-Date: 2014-12-23 23:39+0200 Last-Translator: Robin van der Vliet Language-Team: West Flemish Language: vls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: Weblate 2.2-dev sql-parser-4.6.1/locale/vls/LC_MESSAGES/sqlparser.po000066400000000000000000000132601363525634600220360ustar00rootroot00000000000000# phpMyAdmin translation. # Copyright (C) 2003 - 2013 phpMyAdmin devel team # This file is distributed under the same license as the phpMyAdmin package. # Automatically generated, 2013. # msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2014-12-23 23:39+0200\n" "Last-Translator: Robin van der Vliet \n" "Language-Team: West Flemish \n" "Language: vls\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.2-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "" sql-parser-4.6.1/locale/zh_CN/000077500000000000000000000000001363525634600160705ustar00rootroot00000000000000sql-parser-4.6.1/locale/zh_CN/LC_MESSAGES/000077500000000000000000000000001363525634600176555ustar00rootroot00000000000000sql-parser-4.6.1/locale/zh_CN/LC_MESSAGES/sqlparser.mo000066400000000000000000000103021363525634600222220ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   ,   $ K Y u W    4 P 3i  !    (Cb!{ -$Jo)>]y  )(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Chinese (Simplified) (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-08-02 09:35+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Chinese (Simplified) Language: zh_Hans MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 3.1.1 应有%1$d个值,但查找到了%2$d个。应有“RETURNS”关键字。应有一个右括号。应该是有逗号或结束括号。发现了一个新的声明,但它与前一声明之间没有分隔符。应进行重命名操作。应该有一个符号名称!应该有一个符号名称!保留的关键字不能用作没有反引号的列名。应有表名。应该有一个别名。之前发现了一个别名。应该为一个表达式。应该为一个偏移。应该有一个开头括号后面跟着一组值。应该有一个左括号。至少应有一个字段定义。应有结束引号 %1$s。应有分隔符。分隔符之前应有空格。应为关键词“TO”。声明结尾处的关键字。缺少正则表达式。之前没有开始任何事务。还未实现.应有该实体的名称。应有表的新名称。需要有表的旧名称。此选项与“%1$s”冲突。此类型的子句在多表查询中无效。之前已解析此类型的子句。不应出现的开始声明。缺少字符。不应出现的点。CASE表达式意外结束不应出现的关键词。错误的语句顺序。意外的标记.无法识别的变更(alter)操作。无法识别的数据类型。不能识别的关键词。无法识别的声明形式。应有变量名。错误 #1严格错误sql-parser-4.6.1/locale/zh_CN/LC_MESSAGES/sqlparser.po000066400000000000000000000154031363525634600222340ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-08-02 07:35+0000\n" "Last-Translator: popcorner \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.1.1\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "还未实现." #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "发现了一个新的声明,但它与前一声明之间没有分隔符。" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "无法识别的变更(alter)操作。" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "应有%1$d个值,但查找到了%2$d个。" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "应该有一个开头括号后面跟着一组值。" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "应该有一个左括号。" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "不应出现的关键词。" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "CASE表达式意外结束" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "应该有一个符号名称!保留的关键字不能用作没有反引号的列名。" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "应该有一个符号名称!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "应该是有逗号或结束括号。" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "应有一个右括号。" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "无法识别的数据类型。" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "应该有一个别名。" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "之前发现了一个别名。" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "不应出现的点。" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "应该为一个表达式。" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "应该为一个偏移。" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "此选项与“%1$s”冲突。" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "需要有表的旧名称。" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "应为关键词“TO”。" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "应有表的新名称。" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "应进行重命名操作。" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "缺少正则表达式。" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "缺少字符。" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "分隔符之前应有空格。" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "应有分隔符。" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "应有结束引号 %1$s。" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "应有变量名。" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "不应出现的开始声明。" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "无法识别的声明形式。" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "之前没有开始任何事务。" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "意外的标记." #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "之前已解析此类型的子句。" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "不能识别的关键词。" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "声明结尾处的关键字。" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "错误的语句顺序。" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "应有该实体的名称。" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "应有表名。" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "至少应有一个字段定义。" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "应有“RETURNS”关键字。" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "此类型的子句在多表查询中无效。" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "错误 #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "严格错误" sql-parser-4.6.1/locale/zh_TW/000077500000000000000000000000001363525634600161225ustar00rootroot00000000000000sql-parser-4.6.1/locale/zh_TW/LC_MESSAGES/000077500000000000000000000000001363525634600177075ustar00rootroot00000000000000sql-parser-4.6.1/locale/zh_TW/LC_MESSAGES/sqlparser.mo000066400000000000000000000104701363525634600222620ustar00rootroot00000000000000-=*! .*NLy cg< ),Jw( & G$\''"8*-"X{! ' ? U r   - &  ' E $e  T   * F _ $  $ &  *)Ts+$$"#G-k*!5Qp! ! +)(,'"%#-  $+ !  *&%1$d values were expected, but found %2$d.A "RETURNS" keyword was expected.A closing bracket was expected.A comma or a closing bracket was expected.A new statement was found, but no delimiter between it and the previous one.A rename operation was expected.A symbol name was expected!A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.A table name was expected.An alias was expected.An alias was previously found.An expression was expected.An offset was expected.An opening bracket followed by a set of values was expected.An opening bracket was expected.At least one column definition was expected.Ending quote %1$s was expected.Expected delimiter.Expected whitespace(s) before delimiter.Keyword "TO" was expected.Keyword at end of statement.Missing expression.No transaction was previously started.Not implemented yet.The name of the entity was expected.The new name of the table was expected.The old name of the table was expected.This option conflicts with "%1$s".This type of clause is not valid in Multi-table queries.This type of clause was previously parsed.Unexpected beginning of statement.Unexpected character.Unexpected dot.Unexpected end of CASE expressionUnexpected keyword.Unexpected ordering of clauses.Unexpected token.Unrecognized alter operation.Unrecognized data type.Unrecognized keyword.Unrecognized statement type.Variable name was expected.error #1strict errorProject-Id-Version: Chinese (Traditional) (phpMyAdmin) Report-Msgid-Bugs-To: POT-Creation-Date: 2018-11-29 07:08+0200 PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE Last-Translator: FULL NAME Language-Team: Chinese (Traditional) Language: zh_Hant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: Weblate 3.3-dev 預期 %1$d 個數值,但找到 %2$d 個。預期要使用 "RETURNS" 關鍵字。預期要有結束括號。預期要有逗號或者結束括號。找到新的陳述句,但與前一陳述句之間沒有分隔符。預期要有重新命名的操作。預期要有符號名稱!預期有一個符號!保留字不可以在沒有反引號時用作欄位名稱。預期有表格名稱。預期要有別名。已於前面找到別名。預期要有表示式。預期要有偏移量(Offset)。預期開括號後有一組數值。預期要有開始括號。預期要至少一個欄位定義。預期要於結束使用括號 %1$s。預期要有分隔符號。預期要有空白於分隔符號之前。預期要有 "TO" 關鍵字。陳述句結尾的關鍵字。缺少表達式。前面未開啟交易(Transaction)模式。尚未實作。預期要有實體名稱。預期要有新的資料表名稱。預期要有舊的資料表名稱。此選項與 "%1$s" 發生衝突。此類型的子句不可用於多表查詢。此類型的子句已於前面解析過。預期之外的陳述句開頭。預期之外的字元。預期之外的句點。預期之外的CASE陳述式預期之外的關鍵字。預期之外的排序語句。預期之外的符號。無法識別的修改操作。無法識別的資料類型。無法辨識的關鍵字。無法辨識的陳述句類型。預期要有變數名稱。錯誤 #1嚴謹錯誤sql-parser-4.6.1/locale/zh_TW/LC_MESSAGES/sqlparser.po000066400000000000000000000156031363525634600222700ustar00rootroot00000000000000# msgid "" msgstr "" "Project-Id-Version: SQL parser 0\n" "Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" "POT-Creation-Date: 2017-08-21 12:54+0200\n" "PO-Revision-Date: 2018-11-29 06:08+0000\n" "Last-Translator: Walter Cheuk \n" "Language-Team: Chinese (Traditional) \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.3-dev\n" #: src/Component.php:43 src/Component.php:63 msgid "Not implemented yet." msgstr "尚未實作。" #: src/Components/AlterOperation.php:241 src/Statement.php:334 msgid "" "A new statement was found, but no delimiter between it and the previous one." msgstr "找到新的陳述句,但與前一陳述句之間沒有分隔符。" #: src/Components/AlterOperation.php:253 msgid "Unrecognized alter operation." msgstr "無法識別的修改操作。" #: src/Components/Array2d.php:88 #, php-format msgid "%1$d values were expected, but found %2$d." msgstr "預期 %1$d 個數值,但找到 %2$d 個。" #: src/Components/Array2d.php:111 msgid "An opening bracket followed by a set of values was expected." msgstr "預期開括號後有一組數值。" #: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 msgid "An opening bracket was expected." msgstr "預期要有開始括號。" #: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164 #: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190 #: src/Statements/DeleteStatement.php:227 #: src/Statements/DeleteStatement.php:244 #: src/Statements/DeleteStatement.php:292 #: src/Statements/DeleteStatement.php:303 #: src/Statements/DeleteStatement.php:333 #: src/Statements/DeleteStatement.php:344 #: src/Statements/InsertStatement.php:189 #: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258 #: src/Statements/ReplaceStatement.php:155 #: src/Statements/ReplaceStatement.php:182 msgid "Unexpected keyword." msgstr "預期之外的關鍵字。" #: src/Components/CaseExpression.php:199 msgid "Unexpected end of CASE expression" msgstr "預期之外的CASE陳述式" #: src/Components/CreateDefinition.php:223 msgid "" "A symbol name was expected! A reserved keyword can not be used as a column " "name without backquotes." msgstr "預期有一個符號!保留字不可以在沒有反引號時用作欄位名稱。" #: src/Components/CreateDefinition.php:237 msgid "A symbol name was expected!" msgstr "預期要有符號名稱!" #: src/Components/CreateDefinition.php:270 msgid "A comma or a closing bracket was expected." msgstr "預期要有逗號或者結束括號。" #: src/Components/CreateDefinition.php:286 msgid "A closing bracket was expected." msgstr "預期要有結束括號。" #: src/Components/DataType.php:123 msgid "Unrecognized data type." msgstr "無法識別的資料類型。" #: src/Components/Expression.php:244 src/Components/Expression.php:394 msgid "An alias was expected." msgstr "預期要有別名。" #: src/Components/Expression.php:332 src/Components/Expression.php:351 #: src/Components/Expression.php:383 msgid "An alias was previously found." msgstr "已於前面找到別名。" #: src/Components/Expression.php:364 msgid "Unexpected dot." msgstr "預期之外的句點。" #: src/Components/ExpressionArray.php:102 msgid "An expression was expected." msgstr "預期要有表示式。" #: src/Components/Limit.php:86 src/Components/Limit.php:108 msgid "An offset was expected." msgstr "預期要有偏移量(Offset)。" #: src/Components/OptionsArray.php:143 #, php-format msgid "This option conflicts with \"%1$s\"." msgstr "此選項與 \"%1$s\" 發生衝突。" #: src/Components/RenameOperation.php:109 msgid "The old name of the table was expected." msgstr "預期要有舊的資料表名稱。" #: src/Components/RenameOperation.php:119 msgid "Keyword \"TO\" was expected." msgstr "預期要有 \"TO\" 關鍵字。" #: src/Components/RenameOperation.php:135 msgid "The new name of the table was expected." msgstr "預期要有新的資料表名稱。" #: src/Components/RenameOperation.php:153 msgid "A rename operation was expected." msgstr "預期要有重新命名的操作。" #: src/Components/SetOperation.php:117 msgid "Missing expression." msgstr "缺少表達式。" #: src/Lexer.php:237 msgid "Unexpected character." msgstr "預期之外的字元。" #: src/Lexer.php:278 msgid "Expected whitespace(s) before delimiter." msgstr "預期要有空白於分隔符號之前。" #: src/Lexer.php:296 src/Lexer.php:314 msgid "Expected delimiter." msgstr "預期要有分隔符號。" #: src/Lexer.php:843 #, php-format msgid "Ending quote %1$s was expected." msgstr "預期要於結束使用括號 %1$s。" #: src/Lexer.php:884 msgid "Variable name was expected." msgstr "預期要有變數名稱。" #: src/Parser.php:423 msgid "Unexpected beginning of statement." msgstr "預期之外的陳述句開頭。" #: src/Parser.php:442 msgid "Unrecognized statement type." msgstr "無法辨識的陳述句類型。" #: src/Parser.php:527 msgid "No transaction was previously started." msgstr "前面未開啟交易(Transaction)模式。" #: src/Statement.php:242 src/Statements/DeleteStatement.php:254 #: src/Statements/DeleteStatement.php:306 #: src/Statements/InsertStatement.php:226 #: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261 #: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310 #: src/Statements/ReplaceStatement.php:190 msgid "Unexpected token." msgstr "預期之外的符號。" #: src/Statement.php:306 msgid "This type of clause was previously parsed." msgstr "此類型的子句已於前面解析過。" #: src/Statement.php:366 msgid "Unrecognized keyword." msgstr "無法辨識的關鍵字。" #: src/Statement.php:377 msgid "Keyword at end of statement." msgstr "陳述句結尾的關鍵字。" #: src/Statement.php:503 msgid "Unexpected ordering of clauses." msgstr "預期之外的排序語句。" #: src/Statements/CreateStatement.php:375 msgid "The name of the entity was expected." msgstr "預期要有實體名稱。" #: src/Statements/CreateStatement.php:430 msgid "A table name was expected." msgstr "預期有表格名稱。" #: src/Statements/CreateStatement.php:438 msgid "At least one column definition was expected." msgstr "預期要至少一個欄位定義。" #: src/Statements/CreateStatement.php:550 msgid "A \"RETURNS\" keyword was expected." msgstr "預期要使用 \"RETURNS\" 關鍵字。" #: src/Statements/DeleteStatement.php:314 msgid "This type of clause is not valid in Multi-table queries." msgstr "此類型的子句不可用於多表查詢。" #: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58 msgid "error #1" msgstr "錯誤 #1" #: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80 msgid "strict error" msgstr "嚴謹錯誤" sql-parser-4.6.1/phpunit.xml.dist000066400000000000000000000031441363525634600170050ustar00rootroot00000000000000 ./tests/Builder ./tests/Components ./tests/Lexer ./tests/Misc ./tests/Parser ./tests/Utils src/ sql-parser-4.6.1/src/000077500000000000000000000000001363525634600144175ustar00rootroot00000000000000sql-parser-4.6.1/src/Component.php000066400000000000000000000041661363525634600171010ustar00rootroot00000000000000 array( 1, 'var' ), 'CHARSET' => array( 1, 'var' ), 'DEFAULT CHARACTER SET' => array( 1, 'var' ), 'DEFAULT CHARSET' => array( 1, 'var' ), 'UPGRADE' => array( 1, 'var' ), 'COLLATE' => array( 2, 'var' ), 'DEFAULT COLLATE' => array( 2, 'var' ) ); /** * All table options. * * @var array */ public static $TABLE_OPTIONS = array( 'ENGINE' => array( 1, 'var=' ), 'AUTO_INCREMENT' => array( 1, 'var=' ), 'AVG_ROW_LENGTH' => array( 1, 'var' ), 'MAX_ROWS' => array( 1, 'var' ), 'ROW_FORMAT' => array( 1, 'var' ), 'COMMENT' => array( 1, 'var' ), 'ADD' => 1, 'ALTER' => 1, 'ANALYZE' => 1, 'CHANGE' => 1, 'CHECK' => 1, 'COALESCE' => 1, 'CONVERT' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DROP' => 1, 'ENABLE' => 1, 'IMPORT' => 1, 'MODIFY' => 1, 'OPTIMIZE' => 1, 'ORDER' => 1, 'PARTITION' => 1, 'REBUILD' => 1, 'REMOVE' => 1, 'RENAME' => 1, 'REORGANIZE' => 1, 'REPAIR' => 1, 'UPGRADE' => 1, 'COLUMN' => 2, 'CONSTRAINT' => 2, 'DEFAULT' => 2, 'TO' => 2, 'BY' => 2, 'FOREIGN' => 2, 'FULLTEXT' => 2, 'KEY' => 2, 'KEYS' => 2, 'PARTITIONING' => 2, 'PRIMARY KEY' => 2, 'SPATIAL' => 2, 'TABLESPACE' => 2, 'INDEX' => 2 ); /** * All view options. * * @var array */ public static $VIEW_OPTIONS = array( 'AS' => 1, ); /** * Options of this operation. * * @var OptionsArray */ public $options; /** * The altered field. * * @var Expression */ public $field; /** * Unparsed tokens. * * @var Token[]|string */ public $unknown = array(); /** * Constructor. * * @param OptionsArray $options options of alter operation * @param Expression $field altered field * @param array $unknown unparsed tokens found at the end of operation */ public function __construct( $options = null, $field = null, $unknown = array() ) { $this->options = $options; $this->field = $field; $this->unknown = $unknown; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return AlterOperation */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * Counts brackets. * * @var int */ $brackets = 0; /** * The state of the parser. * * Below are the states of the parser. * * 0 ---------------------[ options ]---------------------> 1 * * 1 ----------------------[ field ]----------------------> 2 * * 2 -------------------------[ , ]-----------------------> 0 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping comments. if ($token->type === Token::TYPE_COMMENT) { continue; } // Skipping whitespaces. if ($token->type === Token::TYPE_WHITESPACE) { if ($state === 2) { // When parsing the unknown part, the whitespaces are // included to not break anything. $ret->unknown[] = $token; } continue; } if ($state === 0) { $ret->options = OptionsArray::parse($parser, $list, $options); if ($ret->options->has('AS')) { for (; $list->idx < $list->count; ++$list->idx) { if ($list->tokens[$list->idx]->type === Token::TYPE_DELIMITER) { break; } $ret->unknown[] = $list->tokens[$list->idx]; } break; } $state = 1; } elseif ($state === 1) { $ret->field = Expression::parse( $parser, $list, array( 'breakOnAlias' => true, 'parseField' => 'column' ) ); if ($ret->field === null) { // No field was read. We go back one token so the next // iteration will parse the same token, but in state 2. --$list->idx; } $state = 2; } elseif ($state === 2) { if ($token->type === Token::TYPE_OPERATOR) { if ($token->value === '(') { ++$brackets; } elseif ($token->value === ')') { --$brackets; } elseif (($token->value === ',') && ($brackets === 0)) { break; } } elseif (! empty(Parser::$STATEMENT_PARSERS[$token->value])) { // We have reached the end of ALTER operation and suddenly found // a start to new statement, but have not find a delimiter between them if (! ($token->value === 'SET' && $list->tokens[$list->idx - 1]->value === 'CHARACTER')) { $parser->error( 'A new statement was found, but no delimiter between it and the previous one.', $token ); break; } } elseif ((array_key_exists($token->value, self::$DB_OPTIONS) || array_key_exists($token->value, self::$TABLE_OPTIONS)) && ! self::checkIfColumnDefinitionKeyword($token->value) ) { // This alter operation has finished, which means a comma was missing before start of new alter operation $parser->error( 'Missing comma before start of a new alter operation.', $token ); break; } $ret->unknown[] = $token; } } if ($ret->options->isEmpty()) { $parser->error( 'Unrecognized alter operation.', $list->tokens[$list->idx] ); } --$list->idx; return $ret; } /** * @param AlterOperation $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { $ret = $component->options . ' '; if ((isset($component->field)) && ($component->field !== '')) { $ret .= $component->field . ' '; } $ret .= TokensList::build($component->unknown); return $ret; } /** * Check if token's value is one of the common keywords * between column and table alteration * * @param string $tokenValue Value of current token * @return bool */ private static function checkIfColumnDefinitionKeyword($tokenValue) { $common_options = array( 'AUTO_INCREMENT', 'COMMENT', 'DEFAULT', 'CHARACTER SET', 'COLLATE', 'PRIMARY', 'UNIQUE', 'PRIMARY KEY', 'UNIQUE KEY' ); // Since these options can be used for // both table as well as a specific column in the table return in_array($tokenValue, $common_options); } } sql-parser-4.6.1/src/Components/Array2d.php000066400000000000000000000071471363525634600205720ustar00rootroot00000000000000 1 * * 1 ------------------------[ , ]------------------------> 0 * 1 -----------------------[ else ]----------------------> (END) * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } // No keyword is expected. if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) { break; } if ($state === 0) { if ($token->value === '(') { $arr = ArrayObj::parse($parser, $list, $options); $arrCount = count($arr->values); if ($count === -1) { $count = $arrCount; } elseif ($arrCount !== $count) { $parser->error( sprintf( Translator::gettext('%1$d values were expected, but found %2$d.'), $count, $arrCount ), $token ); } $ret[] = $arr; $state = 1; } else { break; } } elseif ($state === 1) { if ($token->value === ',') { $state = 0; } else { break; } } } if ($state === 0) { $parser->error( 'An opening bracket followed by a set of values was expected.', $list->tokens[$list->idx] ); } --$list->idx; return $ret; } /** * @param ArrayObj[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { return ArrayObj::build($component); } } sql-parser-4.6.1/src/Components/ArrayObj.php000066400000000000000000000120421363525634600207650ustar00rootroot00000000000000raw = $raw; $this->values = $values; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return ArrayObj|Component[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = empty($options['type']) ? new self() : array(); /** * The last raw expression. * * @var string */ $lastRaw = ''; /** * The last value. * * @var string */ $lastValue = ''; /** * Counts brackets. * * @var int */ $brackets = 0; /** * Last separator (bracket or comma). * * @var bool */ $isCommaLast = false; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT) ) { $lastRaw .= $token->token; $lastValue = trim($lastValue) . ' '; continue; } if (($brackets === 0) && (($token->type !== Token::TYPE_OPERATOR) || ($token->value !== '(')) ) { $parser->error('An opening bracket was expected.', $token); break; } if ($token->type === Token::TYPE_OPERATOR) { if ($token->value === '(') { if (++$brackets === 1) { // 1 is the base level. continue; } } elseif ($token->value === ')') { if (--$brackets === 0) { // Array ended. break; } } elseif ($token->value === ',') { if ($brackets === 1) { $isCommaLast = true; if (empty($options['type'])) { $ret->raw[] = trim($lastRaw); $ret->values[] = trim($lastValue); $lastRaw = $lastValue = ''; } } continue; } } if (empty($options['type'])) { $lastRaw .= $token->token; $lastValue .= $token->value; } else { $ret[] = $options['type']::parse( $parser, $list, empty($options['typeOptions']) ? array() : $options['typeOptions'] ); } } // Handling last element. // // This is treated differently to treat the following cases: // // => array() // (,) => array('', '') // () => array() // (a,) => array('a', '') // (a) => array('a') // $lastRaw = trim($lastRaw); if ((empty($options['type'])) && ((strlen($lastRaw) > 0) || ($isCommaLast)) ) { $ret->raw[] = $lastRaw; $ret->values[] = trim($lastValue); } return $ret; } /** * @param ArrayObj|ArrayObj[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(', ', $component); } elseif (! empty($component->raw)) { return '(' . implode(', ', $component->raw) . ')'; } return '(' . implode(', ', $component->values) . ')'; } } sql-parser-4.6.1/src/Components/CaseExpression.php000066400000000000000000000237001363525634600222120ustar00rootroot00000000000000idx; // Skip 'CASE' for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT) ) { continue; } if ($state === 0) { if ($token->type === Token::TYPE_KEYWORD) { switch ($token->keyword) { case 'WHEN': ++$list->idx; // Skip 'WHEN' $new_condition = Condition::parse($parser, $list); $type = 1; $state = 1; $ret->conditions[] = $new_condition; break; case 'ELSE': ++$list->idx; // Skip 'ELSE' $ret->else_result = Expression::parse($parser, $list); $state = 0; // last clause of CASE expression break; case 'END': $state = 3; // end of CASE expression ++$list->idx; break 2; default: $parser->error('Unexpected keyword.', $token); break 2; } } else { $ret->value = Expression::parse($parser, $list); $type = 0; $state = 1; } } elseif ($state === 1) { if ($type === 0) { if ($token->type === Token::TYPE_KEYWORD) { switch ($token->keyword) { case 'WHEN': ++$list->idx; // Skip 'WHEN' $new_value = Expression::parse($parser, $list); $state = 2; $ret->compare_values[] = $new_value; break; case 'ELSE': ++$list->idx; // Skip 'ELSE' $ret->else_result = Expression::parse($parser, $list); $state = 0; // last clause of CASE expression break; case 'END': $state = 3; // end of CASE expression ++$list->idx; break 2; default: $parser->error('Unexpected keyword.', $token); break 2; } } } else { if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'THEN' ) { ++$list->idx; // Skip 'THEN' $new_result = Expression::parse($parser, $list); $state = 0; $ret->results[] = $new_result; } elseif ($token->type === Token::TYPE_KEYWORD) { $parser->error('Unexpected keyword.', $token); break; } } } elseif ($state === 2) { if ($type === 0) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'THEN' ) { ++$list->idx; // Skip 'THEN' $new_result = Expression::parse($parser, $list); $ret->results[] = $new_result; $state = 1; } elseif ($token->type === Token::TYPE_KEYWORD) { $parser->error('Unexpected keyword.', $token); break; } } } } if ($state !== 3) { $parser->error( 'Unexpected end of CASE expression', $list->tokens[$list->idx - 1] ); } else { // Parse for alias of CASE expression $asFound = false; for (; $list->idx < $list->count; ++$list->idx) { $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT) ) { continue; } // Handle optional AS keyword before alias if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'AS') { if ($asFound || ! empty($ret->alias)) { $parser->error('Potential duplicate alias of CASE expression.', $token); break; } $asFound = true; continue; } if ($asFound && $token->type === Token::TYPE_KEYWORD && ($token->flags & Token::FLAG_KEYWORD_RESERVED || $token->flags & Token::FLAG_KEYWORD_FUNCTION)) { $parser->error('An alias expected after AS but got ' . $token->value, $token); $asFound = false; break; } if ($asFound || $token->type === Token::TYPE_STRING || ($token->type === Token::TYPE_SYMBOL && ! $token->flags & Token::FLAG_SYMBOL_VARIABLE) || $token->type === Token::TYPE_NONE ) { // An alias is expected (the keyword `AS` was previously found). if (! empty($ret->alias)) { $parser->error('An alias was previously found.', $token); break; } $ret->alias = $token->value; $asFound = false; continue; } break; } if ($asFound) { $parser->error('An alias was expected after AS.', $list->tokens[$list->idx - 1]); } $ret->expr = self::build($ret); } --$list->idx; return $ret; } /** * @param CaseExpression $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { $ret = 'CASE '; if (isset($component->value)) { // Syntax type 0 $ret .= $component->value . ' '; $val_cnt = count($component->compare_values); $res_cnt = count($component->results); for ($i = 0; $i < $val_cnt && $i < $res_cnt; ++$i) { $ret .= 'WHEN ' . $component->compare_values[$i] . ' '; $ret .= 'THEN ' . $component->results[$i] . ' '; } } else { // Syntax type 1 $val_cnt = count($component->conditions); $res_cnt = count($component->results); for ($i = 0; $i < $val_cnt && $i < $res_cnt; ++$i) { $ret .= 'WHEN ' . Condition::build($component->conditions[$i]) . ' '; $ret .= 'THEN ' . $component->results[$i] . ' '; } } if (isset($component->else_result)) { $ret .= 'ELSE ' . $component->else_result . ' '; } $ret .= 'END'; if ($component->alias) { $ret .= ' AS ' . Context::escape($component->alias); } return $ret; } } sql-parser-4.6.1/src/Components/Condition.php000066400000000000000000000136721363525634600212140ustar00rootroot00000000000000 1, 'AND' => 1, 'BETWEEN' => 1, 'EXISTS' => 1, 'IF' => 1, 'IN' => 1, 'INTERVAL' => 1, 'IS' => 1, 'LIKE' => 1, 'MATCH' => 1, 'NOT IN' => 1, 'NOT NULL' => 1, 'NOT' => 1, 'NULL' => 1, 'OR' => 1, 'REGEXP' => 1, 'RLIKE' => 1, 'XOR' => 1 ); /** * Identifiers recognized. * * @var array */ public $identifiers = array(); /** * Whether this component is an operator. * * @var bool */ public $isOperator = false; /** * The condition. * * @var string */ public $expr; /** * Constructor. * * @param string $expr the condition or the operator */ public function __construct($expr = null) { $this->expr = trim($expr); } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return Condition[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); /** * Counts brackets. * * @var int */ $brackets = 0; /** * Whether there was a `BETWEEN` keyword before or not. * * It is required to keep track of them because their structure contains * the keyword `AND`, which is also an operator that delimits * expressions. * * @var bool */ $betweenBefore = false; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if ($token->type === Token::TYPE_COMMENT) { continue; } // Replacing all whitespaces (new lines, tabs, etc.) with a single // space character. if ($token->type === Token::TYPE_WHITESPACE) { $expr->expr .= ' '; continue; } // Conditions are delimited by logical operators. if (in_array($token->value, static::$DELIMITERS, true)) { if ($betweenBefore && ($token->value === 'AND')) { // The syntax of keyword `BETWEEN` is hard-coded. $betweenBefore = false; } else { // The expression ended. $expr->expr = trim($expr->expr); if (! empty($expr->expr)) { $ret[] = $expr; } // Adding the operator. $expr = new self($token->value); $expr->isOperator = true; $ret[] = $expr; // Preparing to parse another condition. $expr = new self(); continue; } } if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED) && ! ($token->flags & Token::FLAG_KEYWORD_FUNCTION) ) { if ($token->value === 'BETWEEN') { $betweenBefore = true; } if (($brackets === 0) && empty(static::$ALLOWED_KEYWORDS[$token->value])) { break; } } if ($token->type === Token::TYPE_OPERATOR) { if ($token->value === '(') { ++$brackets; } elseif ($token->value === ')') { if ($brackets === 0) { break; } --$brackets; } } $expr->expr .= $token->token; if (($token->type === Token::TYPE_NONE) || (($token->type === Token::TYPE_KEYWORD) && (! ($token->flags & Token::FLAG_KEYWORD_RESERVED))) || ($token->type === Token::TYPE_STRING) || ($token->type === Token::TYPE_SYMBOL) ) { if (! in_array($token->value, $expr->identifiers)) { $expr->identifiers[] = $token->value; } } } // Last iteration was not processed. $expr->expr = trim($expr->expr); if (! empty($expr->expr)) { $ret[] = $expr; } --$list->idx; return $ret; } /** * @param Condition[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(' ', $component); } return $component->expr; } } sql-parser-4.6.1/src/Components/CreateDefinition.php000066400000000000000000000252701363525634600224770ustar00rootroot00000000000000 true, 'NOT NULL' => 1, 'NULL' => 1, 'DEFAULT' => array( 2, 'expr', array('breakOnAlias' => true) ), /* Following are not according to grammar, but MySQL happily accepts * these at any location */ 'CHARSET' => array( 2, 'var', ), 'COLLATE' => array( 3, 'var', ), 'AUTO_INCREMENT' => 3, 'PRIMARY' => 4, 'PRIMARY KEY' => 4, 'UNIQUE' => 4, 'UNIQUE KEY' => 4, 'COMMENT' => array( 5, 'var', ), 'COLUMN_FORMAT' => array( 6, 'var', ), 'ON UPDATE' => array( 7, 'expr', ), // Generated columns options. 'GENERATED ALWAYS' => 8, 'AS' => array( 9, 'expr', array('parenthesesDelimited' => true) ), 'VIRTUAL' => 10, 'PERSISTENT' => 11, 'STORED' => 11, 'CHECK' => array( 12, 'expr', array('parenthesesDelimited' => true), ) // Common entries. // // NOTE: Some of the common options are not in the same order which // causes troubles when checking if the options are in the right order. // I should find a way to define multiple sets of options and make the // parser select the right set. // // 'UNIQUE' => 4, // 'UNIQUE KEY' => 4, // 'COMMENT' => array(5, 'var'), // 'NOT NULL' => 1, // 'NULL' => 1, // 'PRIMARY' => 4, // 'PRIMARY KEY' => 4, ); /** * The name of the new column. * * @var string */ public $name; /** * Whether this field is a constraint or not. * * @var bool */ public $isConstraint; /** * The data type of thew new column. * * @var DataType */ public $type; /** * The key. * * @var Key */ public $key; /** * The table that is referenced. * * @var Reference */ public $references; /** * The options of this field. * * @var OptionsArray */ public $options; /** * Constructor. * * @param string $name the name of the field * @param OptionsArray $options the options of this field * @param DataType|Key $type the data type of this field or the key * @param bool $isConstraint whether this field is a constraint or not * @param Reference $references references */ public function __construct( $name = null, $options = null, $type = null, $isConstraint = false, $references = null ) { $this->name = $name; $this->options = $options; if ($type instanceof DataType) { $this->type = $type; } elseif ($type instanceof Key) { $this->key = $type; $this->isConstraint = $isConstraint; $this->references = $references; } } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return CreateDefinition[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 -----------------------[ ( ]------------------------> 1 * * 1 --------------------[ CONSTRAINT ]------------------> 1 * 1 -----------------------[ key ]----------------------> 2 * 1 -------------[ constraint / column name ]-----------> 2 * * 2 --------------------[ data type ]-------------------> 3 * * 3 ---------------------[ options ]--------------------> 4 * * 4 --------------------[ REFERENCES ]------------------> 4 * * 5 ------------------------[ , ]-----------------------> 1 * 5 ------------------------[ ) ]-----------------------> 6 (-1) * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { $state = 1; } else { $parser->error( 'An opening bracket was expected.', $token ); break; } } elseif ($state === 1) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'CONSTRAINT') { $expr->isConstraint = true; } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_KEY)) { $expr->key = Key::parse($parser, $list); $state = 4; } elseif ($token->type === Token::TYPE_SYMBOL || $token->type === Token::TYPE_NONE) { $expr->name = $token->value; if (! $expr->isConstraint) { $state = 2; } } elseif ($token->type === Token::TYPE_KEYWORD) { if ($token->flags & Token::FLAG_KEYWORD_RESERVED) { // Reserved keywords can't be used // as field names without backquotes $parser->error( 'A symbol name was expected! ' . 'A reserved keyword can not be used ' . 'as a column name without backquotes.', $token ); return $ret; } // Non-reserved keywords are allowed without backquotes $expr->name = $token->value; $state = 2; } else { $parser->error( 'A symbol name was expected!', $token ); return $ret; } } elseif ($state === 2) { $expr->type = DataType::parse($parser, $list); $state = 3; } elseif ($state === 3) { $expr->options = OptionsArray::parse($parser, $list, static::$FIELD_OPTIONS); $state = 4; } elseif ($state === 4) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'REFERENCES') { ++$list->idx; // Skipping keyword 'REFERENCES'. $expr->references = Reference::parse($parser, $list); } else { --$list->idx; } $state = 5; } elseif ($state === 5) { if (! empty($expr->type) || ! empty($expr->key)) { $ret[] = $expr; } $expr = new self(); if ($token->value === ',') { $state = 1; } elseif ($token->value === ')') { $state = 6; ++$list->idx; break; } else { $parser->error( 'A comma or a closing bracket was expected.', $token ); $state = 0; break; } } } // Last iteration was not saved. if (! empty($expr->type) || ! empty($expr->key)) { $ret[] = $expr; } if (($state !== 0) && ($state !== 6)) { $parser->error( 'A closing bracket was expected.', $list->tokens[$list->idx - 1] ); } --$list->idx; return $ret; } /** * @param CreateDefinition|CreateDefinition[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return "(\n " . implode(",\n ", $component) . "\n)"; } $tmp = ''; if ($component->isConstraint) { $tmp .= 'CONSTRAINT '; } if (isset($component->name) && ($component->name !== '')) { $tmp .= Context::escape($component->name) . ' '; } if (! empty($component->type)) { $tmp .= DataType::build( $component->type, array('lowercase' => true) ) . ' '; } if (! empty($component->key)) { $tmp .= $component->key . ' '; } if (! empty($component->references)) { $tmp .= 'REFERENCES ' . $component->references . ' '; } $tmp .= $component->options; return trim($tmp); } } sql-parser-4.6.1/src/Components/DataType.php000066400000000000000000000111461363525634600207730ustar00rootroot00000000000000 1, 'CHARACTER SET' => array( 2, 'var', ), 'CHARSET' => array( 2, 'var', ), 'COLLATE' => array( 3, 'var', ), 'UNSIGNED' => 4, 'ZEROFILL' => 5 ); /** * The name of the data type. * * @var string */ public $name; /** * The parameters of this data type. * * Some data types have no parameters. * Numeric types might have parameters for the maximum number of digits, * precision, etc. * String types might have parameters for the maximum length stored. * `ENUM` and `SET` have parameters for possible values. * * For more information, check the MySQL manual. * * @var array */ public $parameters = array(); /** * The options of this data type. * * @var OptionsArray */ public $options; /** * Constructor. * * @param string $name the name of this data type * @param array $parameters the parameters (size or possible values) * @param OptionsArray $options the options of this data type */ public function __construct( $name = null, array $parameters = array(), $options = null ) { $this->name = $name; $this->parameters = $parameters; $this->options = $options; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return DataType|null */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 -------------------[ data type ]--------------------> 1 * * 1 ----------------[ size and options ]----------------> 2 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $ret->name = strtoupper($token->value); if (($token->type !== Token::TYPE_KEYWORD) || (! ($token->flags & Token::FLAG_KEYWORD_DATA_TYPE))) { $parser->error('Unrecognized data type.', $token); } $state = 1; } elseif ($state === 1) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { $parameters = ArrayObj::parse($parser, $list); ++$list->idx; $ret->parameters = (($ret->name === 'ENUM') || ($ret->name === 'SET')) ? $parameters->raw : $parameters->values; } $ret->options = OptionsArray::parse($parser, $list, static::$DATA_TYPE_OPTIONS); ++$list->idx; break; } } if (empty($ret->name)) { return null; } --$list->idx; return $ret; } /** * @param DataType $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { $name = empty($options['lowercase']) ? $component->name : strtolower($component->name); $parameters = ''; if (! empty($component->parameters)) { $parameters = '(' . implode(',', $component->parameters) . ')'; } return trim($name . $parameters . ' ' . $component->options); } } sql-parser-4.6.1/src/Components/Expression.php000066400000000000000000000360031363525634600214160ustar00rootroot00000000000000 1, 'DUAL' => 1, 'NULL' => 1, 'REGEXP' => 1, 'CASE' => 1, 'DIV' => 1, 'AND' => 1, 'OR' => 1, 'XOR' => 1, 'NOT' => 1, 'MOD' => 1 ); /** * The name of this database. * * @var string */ public $database; /** * The name of this table. * * @var string */ public $table; /** * The name of the column. * * @var string */ public $column; /** * The sub-expression. * * @var string */ public $expr = ''; /** * The alias of this expression. * * @var string */ public $alias; /** * The name of the function. * * @var mixed */ public $function; /** * The type of subquery. * * @var string */ public $subquery; /** * Constructor. * * Syntax: * new Expression('expr') * new Expression('expr', 'alias') * new Expression('database', 'table', 'column') * new Expression('database', 'table', 'column', 'alias') * * If the database, table or column name is not required, pass an empty * string. * * @param string $database The name of the database or the the expression. * the the expression. * @param string $table The name of the table or the alias of the expression. * the alias of the expression. * @param string $column the name of the column * @param string $alias the name of the alias */ public function __construct($database = null, $table = null, $column = null, $alias = null) { if (($column === null) && ($alias === null)) { $this->expr = $database; // case 1 $this->alias = $table; // case 2 } else { $this->database = $database; // case 3 $this->table = $table; // case 3 $this->column = $column; // case 3 $this->alias = $alias; // case 4 } } /** * Possible options:. * * `field` * * First field to be filled. * If this is not specified, it takes the value of `parseField`. * * `parseField` * * Specifies the type of the field parsed. It may be `database`, * `table` or `column`. These expressions may not include * parentheses. * * `breakOnAlias` * * If not empty, breaks when the alias occurs (it is not included). * * `breakOnParentheses` * * If not empty, breaks when the first parentheses occurs. * * `parenthesesDelimited` * * If not empty, breaks after last parentheses occurred. * * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return Expression|null * @throws \PhpMyAdmin\SqlParser\Exceptions\ParserException */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * Whether current tokens make an expression or a table reference. * * @var bool */ $isExpr = false; /** * Whether a period was previously found. * * @var bool */ $dot = false; /** * Whether an alias is expected. Is 2 if `AS` keyword was found. * * @var bool */ $alias = false; /** * Counts brackets. * * @var int */ $brackets = 0; /** * Keeps track of the last two previous tokens. * * @var Token[] */ $prev = array( null, null ); // When a field is parsed, no parentheses are expected. if (! empty($options['parseField'])) { $options['breakOnParentheses'] = true; $options['field'] = $options['parseField']; } for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT) ) { if ($isExpr) { $ret->expr .= $token->token; } continue; } if ($token->type === Token::TYPE_KEYWORD) { if (($brackets > 0) && empty($ret->subquery) && ! empty(Parser::$STATEMENT_PARSERS[$token->keyword]) ) { // A `(` was previously found and this keyword is the // beginning of a statement, so this is a subquery. $ret->subquery = $token->keyword; } elseif (($token->flags & Token::FLAG_KEYWORD_FUNCTION) && (empty($options['parseField']) && ! $alias) ) { $isExpr = true; } elseif (($token->flags & Token::FLAG_KEYWORD_RESERVED) && ($brackets === 0) ) { if (empty(self::$ALLOWED_KEYWORDS[$token->keyword])) { // A reserved keyword that is not allowed in the // expression was found so the expression must have // ended and a new clause is starting. break; } if ($token->keyword === 'AS') { if (! empty($options['breakOnAlias'])) { break; } if ($alias) { $parser->error( 'An alias was expected.', $token ); break; } $alias = true; continue; } elseif ($token->keyword === 'CASE') { // For a use of CASE like // 'SELECT a = CASE .... END, b=1, `id`, ... FROM ...' $tempCaseExpr = CaseExpression::parse($parser, $list); $ret->expr .= CaseExpression::build($tempCaseExpr); $isExpr = true; continue; } $isExpr = true; } elseif ($brackets === 0 && strlen($ret->expr) > 0 && ! $alias) { /* End of expression */ break; } } if (($token->type === Token::TYPE_NUMBER) || ($token->type === Token::TYPE_BOOL) || (($token->type === Token::TYPE_SYMBOL) && ($token->flags & Token::FLAG_SYMBOL_VARIABLE)) || (($token->type === Token::TYPE_SYMBOL) && ($token->flags & Token::FLAG_SYMBOL_PARAMETER)) || (($token->type === Token::TYPE_OPERATOR) && ($token->value !== '.')) ) { if (! empty($options['parseField'])) { break; } // Numbers, booleans and operators (except dot) are usually part // of expressions. $isExpr = true; } if ($token->type === Token::TYPE_OPERATOR) { if (! empty($options['breakOnParentheses']) && (($token->value === '(') || ($token->value === ')')) ) { // No brackets were expected. break; } if ($token->value === '(') { ++$brackets; if (empty($ret->function) && ($prev[1] !== null) && (($prev[1]->type === Token::TYPE_NONE) || ($prev[1]->type === Token::TYPE_SYMBOL) || (($prev[1]->type === Token::TYPE_KEYWORD) && ($prev[1]->flags & Token::FLAG_KEYWORD_FUNCTION))) ) { $ret->function = $prev[1]->value; } } elseif ($token->value === ')') { if ($brackets === 0) { // Not our bracket break; } else { --$brackets; if ($brackets === 0) { if (! empty($options['parenthesesDelimited'])) { // The current token is the last bracket, the next // one will be outside the expression. $ret->expr .= $token->token; ++$list->idx; break; } } elseif ($brackets < 0) { // $parser->error('Unexpected closing bracket.', $token); // $brackets = 0; break; } } } elseif ($token->value === ',') { // Expressions are comma-delimited. if ($brackets === 0) { break; } } } // Saving the previous tokens. $prev[0] = $prev[1]; $prev[1] = $token; if ($alias) { // An alias is expected (the keyword `AS` was previously found). if (! empty($ret->alias)) { $parser->error('An alias was previously found.', $token); break; } $ret->alias = $token->value; $alias = false; } elseif ($isExpr) { // Handling aliases. if (/* (empty($ret->alias)) && */ ($brackets === 0) && (($prev[0] === null) || ((($prev[0]->type !== Token::TYPE_OPERATOR) || ($prev[0]->token === ')')) && (($prev[0]->type !== Token::TYPE_KEYWORD) || (! ($prev[0]->flags & Token::FLAG_KEYWORD_RESERVED))))) && (($prev[1]->type === Token::TYPE_STRING) || (($prev[1]->type === Token::TYPE_SYMBOL) && (! ($prev[1]->flags & Token::FLAG_SYMBOL_VARIABLE))) || ($prev[1]->type === Token::TYPE_NONE)) ) { if (! empty($ret->alias)) { $parser->error('An alias was previously found.', $token); break; } $ret->alias = $prev[1]->value; } else { $ret->expr .= $token->token; } } elseif (! $isExpr) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '.')) { // Found a `.` which means we expect a column name and // the column name we parsed is actually the table name // and the table name is actually a database name. if (! empty($ret->database) || $dot) { $parser->error('Unexpected dot.', $token); } $ret->database = $ret->table; $ret->table = $ret->column; $ret->column = null; $dot = true; $ret->expr .= $token->token; } else { $field = empty($options['field']) ? 'column' : $options['field']; if (empty($ret->$field)) { $ret->$field = $token->value; $ret->expr .= $token->token; $dot = false; } else { // No alias is expected. if (! empty($options['breakOnAlias'])) { break; } if (! empty($ret->alias)) { $parser->error('An alias was previously found.', $token); break; } $ret->alias = $token->value; } } } } if ($alias) { $parser->error( 'An alias was expected.', $list->tokens[$list->idx - 1] ); } // White-spaces might be added at the end. $ret->expr = trim($ret->expr); if ($ret->expr === '') { return null; } --$list->idx; return $ret; } /** * @param Expression|Expression[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(', ', $component); } if ($component->expr !== '' && ! is_null($component->expr)) { $ret = $component->expr; } else { $fields = array(); if (isset($component->database) && ($component->database !== '')) { $fields[] = $component->database; } if (isset($component->table) && ($component->table !== '')) { $fields[] = $component->table; } if (isset($component->column) && ($component->column !== '')) { $fields[] = $component->column; } $ret = implode('.', Context::escape($fields)); } if (! empty($component->alias)) { $ret .= ' AS ' . Context::escape($component->alias); } return $ret; } } sql-parser-4.6.1/src/Components/ExpressionArray.php000066400000000000000000000076701363525634600224250ustar00rootroot00000000000000 1 * * 1 ------------------------[ , ]------------------------> 0 * 1 -----------------------[ else ]----------------------> (END) * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED) && ((~$token->flags & Token::FLAG_KEYWORD_FUNCTION)) && ($token->value !== 'DUAL') && ($token->value !== 'NULL') && ($token->value !== 'CASE') ) { // No keyword is expected. break; } if ($state === 0) { if ($token->type === Token::TYPE_KEYWORD && $token->value === 'CASE' ) { $expr = CaseExpression::parse($parser, $list, $options); } else { $expr = Expression::parse($parser, $list, $options); } if ($expr === null) { break; } $ret[] = $expr; $state = 1; } elseif ($state === 1) { if ($token->value === ',') { $state = 0; } else { break; } } } if ($state === 0) { $parser->error( 'An expression was expected.', $list->tokens[$list->idx] ); } --$list->idx; if (is_array($ret)) { $retIndex = count($ret) - 1; if (isset($ret[$retIndex])) { $expr = $ret[$retIndex]->expr; if (preg_match('/\s*--\s.*$/', $expr, $matches)) { $found = $matches[0]; $ret[$retIndex]->expr = substr($expr, 0, strlen($expr) - strlen($found)); } } } return $ret; } /** * @param Expression[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { $ret = array(); foreach ($component as $frag) { $ret[] = $frag::build($frag); } return implode(', ', $ret); } } sql-parser-4.6.1/src/Components/FunctionCall.php000066400000000000000000000060101363525634600216330ustar00rootroot00000000000000name = $name; if (is_array($parameters)) { $this->parameters = new ArrayObj($parameters); } elseif ($parameters instanceof ArrayObj) { $this->parameters = $parameters; } } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return FunctionCall */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 ----------------------[ name ]-----------------------> 1 * * 1 --------------------[ parameters ]-------------------> (END) * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $ret->name = $token->value; $state = 1; } elseif ($state === 1) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { $ret->parameters = ArrayObj::parse($parser, $list); } break; } } return $ret; } /** * @param FunctionCall $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { return $component->name . $component->parameters; } } sql-parser-4.6.1/src/Components/GroupKeyword.php000066400000000000000000000066061363525634600217260ustar00rootroot00000000000000expr = $expr; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return GroupKeyword[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 --------------------[ expression ]-------------------> 1 * * 1 ------------------------[ , ]------------------------> 0 * 1 -------------------[ ASC / DESC ]--------------------> 1 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $expr->expr = Expression::parse($parser, $list); $state = 1; } elseif ($state === 1) { if (($token->type === Token::TYPE_KEYWORD) && (($token->keyword === 'ASC') || ($token->keyword === 'DESC')) ) { $expr->type = $token->keyword; } elseif (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',') ) { if (! empty($expr->expr)) { $ret[] = $expr; } $expr = new self(); $state = 0; } else { break; } } } // Last iteration was not processed. if (! empty($expr->expr)) { $ret[] = $expr; } --$list->idx; return $ret; } /** * @param GroupKeyword|GroupKeyword[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(', ', $component); } return trim($component->expr); } } sql-parser-4.6.1/src/Components/IndexHint.php000066400000000000000000000144361363525634600211570ustar00rootroot00000000000000type = $type; $this->indexOrKey = $indexOrKey; $this->for = $for; $this->indexes = $indexes; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return IndexHint|Component[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); $expr->type = isset($options['type']) ? $options['type'] : null; /** * The state of the parser. * * Below are the states of the parser. * 0 ----------------- [ USE/IGNORE/FORCE ]-----------------> 1 * 1 -------------------- [ INDEX/KEY ] --------------------> 2 * 2 ----------------------- [ FOR ] -----------------------> 3 * 2 -------------------- [ expr_list ] --------------------> 0 * 3 -------------- [ JOIN/GROUP BY/ORDER BY ] -------------> 4 * 4 -------------------- [ expr_list ] --------------------> 0 * @var int */ $state = 0; // By design, the parser will parse first token after the keyword. So, the keyword // must be analyzed too, in order to determine the type of this index hint. if ($list->idx > 0) { --$list->idx; } for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } switch ($state) { case 0: if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword === 'USE' || $token->keyword === 'IGNORE' || $token->keyword === 'FORCE') { $expr->type = $token->keyword; $state = 1; } else { break 2; } } break; case 1: if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword === 'INDEX' || $token->keyword === 'KEY') { $expr->indexOrKey = $token->keyword; } else { $parser->error('Unexpected keyword.', $token); } $state = 2; } else { // we expect the token to be a keyword $parser->error('Unexpected token.', $token); } break; case 2: if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'FOR') { $state = 3; } else { $expr->indexes = ExpressionArray::parse($parser, $list); $state = 0; $ret[] = $expr; $expr = new self(); } break; case 3: if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword === 'JOIN' || $token->keyword === 'GROUP BY' || $token->keyword === 'ORDER BY') { $expr->for = $token->keyword; } else { $parser->error('Unexpected keyword.', $token); } $state = 4; } else { // we expect the token to be a keyword $parser->error('Unexpected token.', $token); } break; case 4: $expr->indexes = ExpressionArray::parse($parser, $list); $state = 0; $ret[] = $expr; $expr = new self(); break; } } --$list->idx; return $ret; } /** * @param ArrayObj|ArrayObj[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(' ', $component); } $ret = $component->type . ' ' . $component->indexOrKey . ' '; if ($component->for !== null) { $ret .= 'FOR ' . $component->for . ' '; } return $ret . ExpressionArray::build($component->indexes); } } sql-parser-4.6.1/src/Components/IntoKeyword.php000066400000000000000000000200531363525634600215330ustar00rootroot00000000000000 array( 1, 'expr', ), 'OPTIONALLY' => 2, 'ENCLOSED BY' => array( 3, 'expr', ), 'ESCAPED BY' => array( 4, 'expr', ) ); /** * LINES Options for `SELECT...INTO` statements. * * @var array */ public static $LINES_OPTIONS = array( 'STARTING BY' => array( 1, 'expr', ), 'TERMINATED BY' => array( 2, 'expr', ) ); /** * Type of target (OUTFILE or SYMBOL). * * @var string */ public $type; /** * The destination, which can be a table or a file. * * @var string|Expression */ public $dest; /** * The name of the columns. * * @var array */ public $columns; /** * The values to be selected into (SELECT .. INTO @var1). * * @var Expression[] */ public $values; /** * Options for FIELDS/COLUMNS keyword. * * @var OptionsArray * * @see static::$FIELDS_OPTIONS */ public $fields_options; /** * Whether to use `FIELDS` or `COLUMNS` while building. * * @var bool */ public $fields_keyword; /** * Options for OPTIONS keyword. * * @var OptionsArray * * @see static::$LINES_OPTIONS */ public $lines_options; /** * Constructor. * * @param string $type type of destination (may be OUTFILE) * @param string|Expression $dest actual destination * @param array $columns column list of destination * @param array $values selected fields * @param OptionsArray $fields_options options for FIELDS/COLUMNS keyword * @param bool $fields_keyword options for OPTIONS keyword */ public function __construct( $type = null, $dest = null, $columns = null, $values = null, $fields_options = null, $fields_keyword = null ) { $this->type = $type; $this->dest = $dest; $this->columns = $columns; $this->values = $values; $this->fields_options = $fields_options; $this->fields_keyword = $fields_keyword; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return IntoKeyword */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 -----------------------[ name ]----------------------> 1 * 0 ---------------------[ OUTFILE ]---------------------> 2 * * 1 ------------------------[ ( ]------------------------> (END) * * 2 ---------------------[ filename ]--------------------> 1 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) { if (($state === 0) && ($token->keyword === 'OUTFILE')) { $ret->type = 'OUTFILE'; $state = 2; continue; } // No other keyword is expected except for $state = 4, which expects `LINES` if ($state !== 4) { break; } } if ($state === 0) { if ((isset($options['fromInsert']) && $options['fromInsert']) || (isset($options['fromReplace']) && $options['fromReplace']) ) { $ret->dest = Expression::parse( $parser, $list, array( 'parseField' => 'table', 'breakOnAlias' => true ) ); } else { $ret->values = ExpressionArray::parse($parser, $list); } $state = 1; } elseif ($state === 1) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { $ret->columns = ArrayObj::parse($parser, $list)->values; ++$list->idx; } break; } elseif ($state === 2) { $ret->dest = $token->value; $state = 3; } elseif ($state === 3) { $ret->parseFileOptions($parser, $list, $token->value); $state = 4; } elseif ($state === 4) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword !== 'LINES') { break; } $ret->parseFileOptions($parser, $list, $token->value); $state = 5; } } --$list->idx; return $ret; } public function parseFileOptions(Parser $parser, TokensList $list, $keyword = 'FIELDS') { ++$list->idx; if ($keyword === 'FIELDS' || $keyword === 'COLUMNS') { // parse field options $this->fields_options = OptionsArray::parse( $parser, $list, static::$FIELDS_OPTIONS ); $this->fields_keyword = ($keyword === 'FIELDS'); } else { // parse line options $this->lines_options = OptionsArray::parse( $parser, $list, static::$LINES_OPTIONS ); } } /** * @param IntoKeyword $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if ($component->dest instanceof Expression) { $columns = ! empty($component->columns) ? '(`' . implode('`, `', $component->columns) . '`)' : ''; return $component->dest . $columns; } elseif (isset($component->values)) { return ExpressionArray::build($component->values); } $ret = 'OUTFILE "' . $component->dest . '"'; $fields_options_str = OptionsArray::build($component->fields_options); if (trim($fields_options_str) !== '') { $ret .= $component->fields_keyword ? ' FIELDS' : ' COLUMNS'; $ret .= ' ' . $fields_options_str; } $lines_options_str = OptionsArray::build($component->lines_options, array('expr' => true)); if (trim($lines_options_str) !== '') { $ret .= ' LINES ' . $lines_options_str; } return $ret; } } sql-parser-4.6.1/src/Components/JoinKeyword.php000066400000000000000000000145651363525634600215340ustar00rootroot00000000000000 'CROSS', 'FULL JOIN' => 'FULL', 'FULL OUTER JOIN' => 'FULL', 'INNER JOIN' => 'INNER', 'JOIN' => 'JOIN', 'LEFT JOIN' => 'LEFT', 'LEFT OUTER JOIN' => 'LEFT', 'RIGHT JOIN' => 'RIGHT', 'RIGHT OUTER JOIN' => 'RIGHT', 'NATURAL JOIN' => 'NATURAL', 'NATURAL LEFT JOIN' => 'NATURAL LEFT', 'NATURAL RIGHT JOIN' => 'NATURAL RIGHT', 'NATURAL LEFT OUTER JOIN' => 'NATURAL LEFT OUTER', 'NATURAL RIGHT OUTER JOIN' => 'NATURAL RIGHT OUTER', 'STRAIGHT_JOIN' => 'STRAIGHT' ); /** * Type of this join. * * @see static::$JOINS * * @var string */ public $type; /** * Join expression. * * @var Expression */ public $expr; /** * Join conditions. * * @var Condition[] */ public $on; /** * Columns in Using clause. * * @var ArrayObj */ public $using; /** * Constructor. * * @param string $type Join type * @param Expression $expr join expression * @param Condition[] $on join conditions * @param ArrayObj $using columns joined * * @see JoinKeyword::$JOINS */ public function __construct($type = null, $expr = null, $on = null, $using = null) { $this->type = $type; $this->expr = $expr; $this->on = $on; $this->using = $using; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return JoinKeyword[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 -----------------------[ JOIN ]----------------------> 1 * * 1 -----------------------[ expr ]----------------------> 2 * * 2 ------------------------[ ON ]-----------------------> 3 * 2 -----------------------[ USING ]---------------------> 4 * * 3 --------------------[ conditions ]-------------------> 0 * * 4 ----------------------[ columns ]--------------------> 0 * * @var int */ $state = 0; // By design, the parser will parse first token after the keyword. // In this case, the keyword must be analyzed too, in order to determine // the type of this join. if ($list->idx > 0) { --$list->idx; } for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { if (($token->type === Token::TYPE_KEYWORD) && ! empty(static::$JOINS[$token->keyword]) ) { $expr->type = static::$JOINS[$token->keyword]; $state = 1; } else { break; } } elseif ($state === 1) { $expr->expr = Expression::parse($parser, $list, array('field' => 'table')); $state = 2; } elseif ($state === 2) { if ($token->type === Token::TYPE_KEYWORD) { switch ($token->keyword) { case 'ON': $state = 3; break; case 'USING': $state = 4; break; default: if (! empty(static::$JOINS[$token->keyword]) ) { $ret[] = $expr; $expr = new self(); $expr->type = static::$JOINS[$token->keyword]; $state = 1; } else { /* Next clause is starting */ break 2; } break; } } } elseif ($state === 3) { $expr->on = Condition::parse($parser, $list); $ret[] = $expr; $expr = new self(); $state = 0; } elseif ($state === 4) { $expr->using = ArrayObj::parse($parser, $list); $ret[] = $expr; $expr = new self(); $state = 0; } } if (! empty($expr->type)) { $ret[] = $expr; } --$list->idx; return $ret; } /** * @param JoinKeyword[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { $ret = array(); foreach ($component as $c) { $ret[] = array_search($c->type, static::$JOINS) . ' ' . $c->expr . (! empty($c->on) ? ' ON ' . Condition::build($c->on) : '') . (! empty($c->using) ? ' USING ' . ArrayObj::build($c->using) : ''); } return implode(' ', $ret); } } sql-parser-4.6.1/src/Components/Key.php000066400000000000000000000130421363525634600200050ustar00rootroot00000000000000 array( 1, 'var', ), 'USING' => array( 2, 'var', ), 'WITH PARSER' => array( 3, 'var', ), 'COMMENT' => array( 4, 'var=', ) ); /** * The name of this key. * * @var string */ public $name; /** * Columns. * * @var array */ public $columns; /** * The type of this key. * * @var string */ public $type; /** * The options of this key. * * @var OptionsArray */ public $options; /** * Constructor. * * @param string $name the name of the key * @param array $columns the columns covered by this key * @param string $type the type of this key * @param OptionsArray $options the options of this key */ public function __construct( $name = null, array $columns = array(), $type = null, $options = null ) { $this->name = $name; $this->columns = $columns; $this->type = $type; $this->options = $options; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return Key */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * Last parsed column. * * @var array */ $lastColumn = array(); /** * The state of the parser. * * Below are the states of the parser. * * 0 ----------------------[ type ]-----------------------> 1 * * 1 ----------------------[ name ]-----------------------> 1 * 1 ---------------------[ columns ]---------------------> 2 * * 2 ---------------------[ options ]---------------------> 3 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $ret->type = $token->value; $state = 1; } elseif ($state === 1) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { $state = 2; } else { $ret->name = $token->value; } } elseif ($state === 2) { if ($token->type === Token::TYPE_OPERATOR) { if ($token->value === '(') { $state = 3; } elseif (($token->value === ',') || ($token->value === ')')) { $state = ($token->value === ',') ? 2 : 4; if (! empty($lastColumn)) { $ret->columns[] = $lastColumn; $lastColumn = array(); } } } else { $lastColumn['name'] = $token->value; } } elseif ($state === 3) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ')')) { $state = 2; } else { $lastColumn['length'] = $token->value; } } elseif ($state === 4) { $ret->options = OptionsArray::parse($parser, $list, static::$KEY_OPTIONS); ++$list->idx; break; } } --$list->idx; return $ret; } /** * @param Key $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { $ret = $component->type . ' '; if (! empty($component->name)) { $ret .= Context::escape($component->name) . ' '; } $columns = array(); foreach ($component->columns as $column) { $tmp = Context::escape($column['name']); if (isset($column['length'])) { $tmp .= '(' . $column['length'] . ')'; } $columns[] = $tmp; } $ret .= '(' . implode(',', $columns) . ') ' . $component->options; return trim($ret); } } sql-parser-4.6.1/src/Components/Limit.php000066400000000000000000000063321363525634600203370ustar00rootroot00000000000000rowCount = $rowCount; $this->offset = $offset; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return Limit */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); $offset = false; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) { break; } if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'OFFSET') { if ($offset) { $parser->error('An offset was expected.', $token); } $offset = true; continue; } if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',')) { $ret->offset = $ret->rowCount; $ret->rowCount = 0; continue; } // Skip if not a number if (($token->type !== Token::TYPE_NUMBER)) { break; } if ($offset) { $ret->offset = $token->value; $offset = false; } else { $ret->rowCount = $token->value; } } if ($offset) { $parser->error( 'An offset was expected.', $list->tokens[$list->idx - 1] ); } --$list->idx; return $ret; } /** * @param Limit $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { return $component->offset . ', ' . $component->rowCount; } } sql-parser-4.6.1/src/Components/LockExpression.php000066400000000000000000000133621363525634600222320ustar00rootroot00000000000000 1 * 1 ---------------- [ lock_type ] ----------------> 2 * 2 -------------------- [ , ] --------------------> break * * @var int */ $state = 0; $prevToken = null; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER || ($token->type === Token::TYPE_OPERATOR && $token->value === ',') ) { break; } if ($state === 0) { $ret->table = Expression::parse($parser, $list, array('parseField' => 'table')); $state = 1; } elseif ($state === 1) { // parse lock type $ret->type = self::parseLockType($parser, $list); $state = 2; } $prevToken = $token; } // 2 is the only valid end state if ($state !== 2) { $parser->error('Unexpected end of LOCK expression.', $prevToken); } --$list->idx; return $ret; } /** * @param LockExpression|LockExpression[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(', ', $component); } return $component->table . ' ' . $component->type; } private static function parseLockType(Parser $parser, TokensList $list) { $lockType = ''; /** * The state of the parser while parsing for lock type. * * Below are the states of the parser. * * 0 ---------------- [ READ ] -----------------> 1 * 0 ------------- [ LOW_PRIORITY ] ------------> 2 * 0 ---------------- [ WRITE ] ----------------> 3 * 1 ---------------- [ LOCAL ] ----------------> 3 * 2 ---------------- [ WRITE ] ----------------> 3 * * @var int */ $state = 0; $prevToken = null; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER || ($token->type === Token::TYPE_OPERATOR && $token->value === ',') ) { --$list->idx; break; } // Skipping whitespaces and comments. if ($token->type === Token::TYPE_WHITESPACE || $token->type === Token::TYPE_COMMENT) { continue; } // We only expect keywords if ($token->type !== Token::TYPE_KEYWORD) { $parser->error('Unexpected token.', $token); break; } if ($state === 0) { if ($token->keyword === 'READ') { $state = 1; } elseif ($token->keyword === 'LOW_PRIORITY') { $state = 2; } elseif ($token->keyword === 'WRITE') { $state = 3; } else { $parser->error('Unexpected keyword.', $token); break; } $lockType .= $token->keyword; } elseif ($state === 1) { if ($token->keyword === 'LOCAL') { $lockType .= ' ' . $token->keyword; $state = 3; } else { $parser->error('Unexpected keyword.', $token); break; } } elseif ($state === 2) { if ($token->keyword === 'WRITE') { $lockType .= ' ' . $token->keyword; $state = 3; // parsing over } else { $parser->error('Unexpected keyword.', $token); break; } } $prevToken = $token; } // Only two possible end states if ($state !== 1 && $state !== 3) { $parser->error('Unexpected end of Lock expression.', $prevToken); } return $lockType; } } sql-parser-4.6.1/src/Components/OptionsArray.php000066400000000000000000000301411363525634600217060ustar00rootroot00000000000000options = $options; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return OptionsArray */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * The ID that will be assigned to duplicate options. * * @var int */ $lastAssignedId = count($options) + 1; /** * The option that was processed last time. * * @var array */ $lastOption = null; /** * The index of the option that was processed last time. * * @var int */ $lastOptionId = 0; /** * Counts brackets. * * @var int */ $brackets = 0; /** * The state of the parser. * * Below are the states of the parser. * * 0 ---------------------[ option ]----------------------> 1 * * 1 -------------------[ = (optional) ]------------------> 2 * * 2 ----------------------[ value ]----------------------> 0 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping comments. if ($token->type === Token::TYPE_COMMENT) { continue; } // Skipping whitespace if not parsing value. if (($token->type === Token::TYPE_WHITESPACE) && ($brackets === 0)) { continue; } if ($lastOption === null) { $upper = strtoupper($token->token); if (isset($options[$upper])) { $lastOption = $options[$upper]; $lastOptionId = is_array($lastOption) ? $lastOption[0] : $lastOption; $state = 0; // Checking for option conflicts. // For example, in `SELECT` statements the keywords `ALL` // and `DISTINCT` conflict and if used together, they // produce an invalid query. // // Usually, tokens can be identified in the array by the // option ID, but if conflicts occur, a generated option ID // is used. // // The first pseudo duplicate ID is the maximum value of the // real options (e.g. if there are 5 options, the first // fake ID is 6). if (isset($ret->options[$lastOptionId])) { $parser->error( sprintf( Translator::gettext('This option conflicts with "%1$s".'), is_array($ret->options[$lastOptionId]) ? $ret->options[$lastOptionId]['name'] : $ret->options[$lastOptionId] ), $token ); $lastOptionId = $lastAssignedId++; } } else { // There is no option to be processed. break; } } if ($state === 0) { if (! is_array($lastOption)) { // This is a just keyword option without any value. // This is the beginning and the end of it. $ret->options[$lastOptionId] = $token->value; $lastOption = null; $state = 0; } elseif (($lastOption[1] === 'var') || ($lastOption[1] === 'var=')) { // This is a keyword that is followed by a value. // This is only the beginning. The value is parsed in state // 1 and 2. State 1 is used to skip the first equals sign // and state 2 to parse the actual value. $ret->options[$lastOptionId] = array( // @var string The name of the option. 'name' => $token->value, // @var bool Whether it contains an equal sign. // This is used by the builder to rebuild it. 'equals' => $lastOption[1] === 'var=', // @var string Raw value. 'expr' => '', // @var string Processed value. 'value' => '' ); $state = 1; } elseif ($lastOption[1] === 'expr' || $lastOption[1] === 'expr=') { // This is a keyword that is followed by an expression. // The expression is used by the specialized parser. // Skipping this option in order to parse the expression. ++$list->idx; $ret->options[$lastOptionId] = array( // @var string The name of the option. 'name' => $token->value, // @var bool Whether it contains an equal sign. // This is used by the builder to rebuild it. 'equals' => $lastOption[1] === 'expr=', // @var Expression The parsed expression. 'expr' => '' ); $state = 1; } } elseif ($state === 1) { $state = 2; if ($token->token === '=') { $ret->options[$lastOptionId]['equals'] = true; continue; } } // This is outside the `elseif` group above because the change might // change this iteration. if ($state === 2) { if ($lastOption[1] === 'expr' || $lastOption[1] === 'expr=') { $ret->options[$lastOptionId]['expr'] = Expression::parse( $parser, $list, empty($lastOption[2]) ? array() : $lastOption[2] ); $ret->options[$lastOptionId]['value'] = $ret->options[$lastOptionId]['expr']->expr; $lastOption = null; $state = 0; } else { if ($token->token === '(') { ++$brackets; } elseif ($token->token === ')') { --$brackets; } $ret->options[$lastOptionId]['expr'] .= $token->token; if (! ((($token->token === '(') && ($brackets === 1)) || (($token->token === ')') && ($brackets === 0))) ) { // First pair of brackets is being skipped. $ret->options[$lastOptionId]['value'] .= $token->value; } // Checking if we finished parsing. if ($brackets === 0) { $lastOption = null; } } } } /* * We reached the end of statement without getting a value * for an option for which a value was required */ if ($state === 1 && $lastOption && ($lastOption[1] === 'expr' || $lastOption[1] === 'var' || $lastOption[1] === 'var=' || $lastOption[1] === 'expr=') ) { $parser->error( sprintf( 'Value/Expression for the option %1$s was expected.', $ret->options[$lastOptionId]['name'] ), $list->tokens[$list->idx - 1] ); } if (empty($options['_UNSORTED'])) { ksort($ret->options); } --$list->idx; return $ret; } /** * @param OptionsArray $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (empty($component->options)) { return ''; } $options = array(); foreach ($component->options as $option) { if (! is_array($option)) { $options[] = $option; } else { $options[] = $option['name'] . ((! empty($option['equals']) && $option['equals']) ? '=' : ' ') . (! empty($option['expr']) ? $option['expr'] : $option['value']); } } return implode(' ', $options); } /** * Checks if it has the specified option and returns it value or true. * * @param string $key the key to be checked * @param bool $getExpr Gets the expression instead of the value. * The value is the processed form of the expression. * * @return mixed */ public function has($key, $getExpr = false) { foreach ($this->options as $option) { if (is_array($option)) { if (! strcasecmp($key, $option['name'])) { return $getExpr ? $option['expr'] : $option['value']; } } elseif (! strcasecmp($key, $option)) { return true; } } return false; } /** * Removes the option from the array. * * @param string $key the key to be removed * * @return bool whether the key was found and deleted or not */ public function remove($key) { foreach ($this->options as $idx => $option) { if (is_array($option)) { if (! strcasecmp($key, $option['name'])) { unset($this->options[$idx]); return true; } } elseif (! strcasecmp($key, $option)) { unset($this->options[$idx]); return true; } } return false; } /** * Merges the specified options with these ones. Values with same ID will be * replaced. * * @param array|OptionsArray $options the options to be merged */ public function merge($options) { if (is_array($options)) { $this->options = array_merge_recursive($this->options, $options); } elseif ($options instanceof self) { $this->options = array_merge_recursive($this->options, $options->options); } } /** * Checks tf there are no options set. * * @return bool */ public function isEmpty() { return empty($this->options); } } sql-parser-4.6.1/src/Components/OrderKeyword.php000066400000000000000000000071111363525634600216750ustar00rootroot00000000000000expr = $expr; $this->type = $type; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return OrderKeyword[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 --------------------[ expression ]-------------------> 1 * * 1 ------------------------[ , ]------------------------> 0 * 1 -------------------[ ASC / DESC ]--------------------> 1 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $expr->expr = Expression::parse($parser, $list); $state = 1; } elseif ($state === 1) { if (($token->type === Token::TYPE_KEYWORD) && (($token->keyword === 'ASC') || ($token->keyword === 'DESC')) ) { $expr->type = $token->keyword; } elseif (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',') ) { if (! empty($expr->expr)) { $ret[] = $expr; } $expr = new self(); $state = 0; } else { break; } } } // Last iteration was not processed. if (! empty($expr->expr)) { $ret[] = $expr; } --$list->idx; return $ret; } /** * @param OrderKeyword|OrderKeyword[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(', ', $component); } return $component->expr . ' ' . $component->type; } } sql-parser-4.6.1/src/Components/ParameterDefinition.php000066400000000000000000000112251363525634600232070ustar00rootroot00000000000000name = $name; $this->inOut = $inOut; $this->type = $type; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return ParameterDefinition[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 -----------------------[ ( ]------------------------> 1 * * 1 ----------------[ IN / OUT / INOUT ]----------------> 1 * 1 ----------------------[ name ]----------------------> 2 * * 2 -------------------[ data type ]--------------------> 3 * * 3 ------------------------[ , ]-----------------------> 1 * 3 ------------------------[ ) ]-----------------------> (END) * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { $state = 1; } continue; } elseif ($state === 1) { if (($token->value === 'IN') || ($token->value === 'OUT') || ($token->value === 'INOUT')) { $expr->inOut = $token->value; ++$list->idx; } elseif ($token->value === ')') { ++$list->idx; break; } else { $expr->name = $token->value; $state = 2; } } elseif ($state === 2) { $expr->type = DataType::parse($parser, $list); $state = 3; } elseif ($state === 3) { $ret[] = $expr; $expr = new self(); if ($token->value === ',') { $state = 1; } elseif ($token->value === ')') { ++$list->idx; break; } } } // Last iteration was not saved. if (isset($expr->name) && ($expr->name !== '')) { $ret[] = $expr; } --$list->idx; return $ret; } /** * @param ParameterDefinition[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return '(' . implode(', ', $component) . ')'; } $tmp = ''; if (! empty($component->inOut)) { $tmp .= $component->inOut . ' '; } return trim( $tmp . Context::escape($component->name) . ' ' . $component->type ); } } sql-parser-4.6.1/src/Components/PartitionDefinition.php000066400000000000000000000160601363525634600232420ustar00rootroot00000000000000 array( 1, 'var', ), 'ENGINE' => array( 1, 'var', ), 'COMMENT' => array( 2, 'var', ), 'DATA DIRECTORY' => array( 3, 'var', ), 'INDEX DIRECTORY' => array( 4, 'var', ), 'MAX_ROWS' => array( 5, 'var', ), 'MIN_ROWS' => array( 6, 'var', ), 'TABLESPACE' => array( 7, 'var', ), 'NODEGROUP' => array( 8, 'var', ) ); /** * Whether this entry is a subpartition or a partition. * * @var bool */ public $isSubpartition; /** * The name of this partition. * * @var string */ public $name; /** * The type of this partition (what follows the `VALUES` keyword). * * @var string */ public $type; /** * The expression used to defined this partition. * * @var Expression|string */ public $expr; /** * The subpartitions of this partition. * * @var PartitionDefinition[] */ public $subpartitions; /** * The options of this field. * * @var OptionsArray */ public $options; /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return PartitionDefinition */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 -------------[ PARTITION | SUBPARTITION ]------------> 1 * * 1 -----------------------[ name ]----------------------> 2 * * 2 ----------------------[ VALUES ]---------------------> 3 * * 3 ---------------------[ LESS THAN ]-------------------> 4 * 3 ------------------------[ IN ]-----------------------> 4 * * 4 -----------------------[ expr ]----------------------> 5 * * 5 ----------------------[ options ]--------------------> 6 * * 6 ------------------[ subpartitions ]------------------> (END) * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $ret->isSubpartition = ($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'SUBPARTITION'); $state = 1; } elseif ($state === 1) { $ret->name = $token->value; // Looking ahead for a 'VALUES' keyword. // Loop until the end of the partition name (delimited by a whitespace) while ($nextToken = $list->tokens[++$list->idx]) { if ($nextToken->type !== Token::TYPE_NONE) { break; } $ret->name .= $nextToken->value; } $idx = $list->idx--; // Get the first token after the white space. $nextToken = $list->tokens[++$idx]; $state = ($nextToken->type === Token::TYPE_KEYWORD) && ($nextToken->value === 'VALUES') ? 2 : 5; } elseif ($state === 2) { $state = 3; } elseif ($state === 3) { $ret->type = $token->value; $state = 4; } elseif ($state === 4) { if ($token->value === 'MAXVALUE') { $ret->expr = $token->value; } else { $ret->expr = Expression::parse( $parser, $list, array( 'parenthesesDelimited' => true, 'breakOnAlias' => true ) ); } $state = 5; } elseif ($state === 5) { $ret->options = OptionsArray::parse($parser, $list, static::$OPTIONS); $state = 6; } elseif ($state === 6) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { $ret->subpartitions = ArrayObj::parse( $parser, $list, array( 'type' => 'PhpMyAdmin\\SqlParser\\Components\\PartitionDefinition' ) ); ++$list->idx; } break; } } --$list->idx; return $ret; } /** * @param PartitionDefinition|PartitionDefinition[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return "(\n" . implode(",\n", $component) . "\n)"; } if ($component->isSubpartition) { return trim('SUBPARTITION ' . $component->name . ' ' . $component->options); } $subpartitions = empty($component->subpartitions) ? '' : ' ' . self::build($component->subpartitions); return trim( 'PARTITION ' . $component->name . (empty($component->type) ? '' : ' VALUES ' . $component->type . ' ' . $component->expr . ' ') . ((! empty($component->options) && ! empty($component->type)) ? '' : ' ') . $component->options . $subpartitions ); } } sql-parser-4.6.1/src/Components/Reference.php000066400000000000000000000076561363525634600211710ustar00rootroot00000000000000 array( 1, 'var', ), 'ON DELETE' => array( 2, 'var', ), 'ON UPDATE' => array( 3, 'var', ) ); /** * The referenced table. * * @var Expression */ public $table; /** * The referenced columns. * * @var array */ public $columns; /** * The options of the referencing. * * @var OptionsArray */ public $options; /** * Constructor. * * @param Expression $table the name of the table referenced * @param array $columns the columns referenced * @param OptionsArray $options the options */ public function __construct($table = null, array $columns = array(), $options = null) { $this->table = $table; $this->columns = $columns; $this->options = $options; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return Reference */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 ----------------------[ table ]---------------------> 1 * * 1 ---------------------[ columns ]--------------------> 2 * * 2 ---------------------[ options ]--------------------> (END) * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $ret->table = Expression::parse( $parser, $list, array( 'parseField' => 'table', 'breakOnAlias' => true ) ); $state = 1; } elseif ($state === 1) { $ret->columns = ArrayObj::parse($parser, $list)->values; $state = 2; } elseif ($state === 2) { $ret->options = OptionsArray::parse($parser, $list, static::$REFERENCES_OPTIONS); ++$list->idx; break; } } --$list->idx; return $ret; } /** * @param Reference $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { return trim( $component->table . ' (' . implode(', ', Context::escape($component->columns)) . ') ' . $component->options ); } } sql-parser-4.6.1/src/Components/RenameOperation.php000066400000000000000000000115621363525634600223520ustar00rootroot00000000000000old = $old; $this->new = $new; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return RenameOperation[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 ---------------------[ old name ]--------------------> 1 * * 1 ------------------------[ TO ]-----------------------> 2 * * 2 ---------------------[ new name ]--------------------> 3 * * 3 ------------------------[ , ]------------------------> 0 * 3 -----------------------[ else ]----------------------> (END) * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $expr->old = Expression::parse( $parser, $list, array( 'breakOnAlias' => true, 'parseField' => 'table' ) ); if (empty($expr->old)) { $parser->error( 'The old name of the table was expected.', $token ); } $state = 1; } elseif ($state === 1) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'TO') { $state = 2; } else { $parser->error( 'Keyword "TO" was expected.', $token ); break; } } elseif ($state === 2) { $expr->new = Expression::parse( $parser, $list, array( 'breakOnAlias' => true, 'parseField' => 'table' ) ); if (empty($expr->new)) { $parser->error( 'The new name of the table was expected.', $token ); } $state = 3; } elseif ($state === 3) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',')) { $ret[] = $expr; $expr = new self(); $state = 0; } else { break; } } } if ($state !== 3) { $parser->error( 'A rename operation was expected.', $list->tokens[$list->idx - 1] ); } // Last iteration was not saved. if (! empty($expr->old)) { $ret[] = $expr; } --$list->idx; return $ret; } /** * @param RenameOperation $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(', ', $component); } return $component->old . ' TO ' . $component->new; } } sql-parser-4.6.1/src/Components/SetOperation.php000066400000000000000000000104011363525634600216650ustar00rootroot00000000000000column = $column; $this->value = $value; } /** * @param Parser $parser the parser that serves as context * @param TokensList $list the list of tokens that are being parsed * @param array $options parameters for parsing * * @return SetOperation[] */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { $ret = array(); $expr = new self(); /** * The state of the parser. * * Below are the states of the parser. * * 0 ---------------------[ col_name ]--------------------> 0 * 0 ------------------------[ = ]------------------------> 1 * 1 -----------------------[ value ]---------------------> 1 * 1 ------------------------[ , ]------------------------> 0 * * @var int */ $state = 0; /** * Token when the parser has seen the latest comma * * @var Token */ $commaLastSeenAt = null; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } // No keyword is expected. if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED) && ($state === 0) ) { break; } if ($state === 0) { if ($token->token === '=') { $state = 1; } elseif ($token->value !== ',') { $expr->column .= $token->token; } elseif ($token->value === ',') { $commaLastSeenAt = $token; } } elseif ($state === 1) { $tmp = Expression::parse( $parser, $list, array( 'breakOnAlias' => true ) ); if (is_null($tmp)) { $parser->error('Missing expression.', $token); break; } $expr->column = trim($expr->column); $expr->value = $tmp->expr; $ret[] = $expr; $expr = new self(); $state = 0; $commaLastSeenAt = null; } } --$list->idx; // We saw a comma, but didn't see a column-value pair after it if ($commaLastSeenAt !== null) { $parser->error('Unexpected token.', $commaLastSeenAt); } return $ret; } /** * @param SetOperation|SetOperation[] $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { if (is_array($component)) { return implode(', ', $component); } return $component->column . ' = ' . $component->value; } } sql-parser-4.6.1/src/Components/UnionKeyword.php000066400000000000000000000013621363525634600217140ustar00rootroot00000000000000 $component the component to be built * @param array $options parameters for building * * @return string */ public static function build($component, array $options = array()) { $tmp = array(); foreach ($component as $componentPart) { $tmp[] = $componentPart[0] . ' ' . $componentPart[1]; } return implode(' ', $tmp); } } sql-parser-4.6.1/src/Context.php000066400000000000000000000446761363525634600165750ustar00rootroot00000000000000 1, '*' => 1, '+' => 1, '-' => 1, '/' => 1, // @see Token::FLAG_OPERATOR_LOGICAL '!' => 2, '!=' => 2, '&&' => 2, '<' => 2, '<=' => 2, '<=>' => 2, '<>' => 2, '=' => 2, '>' => 2, '>=' => 2, '||' => 2, // @see Token::FLAG_OPERATOR_BITWISE '&' => 4, '<<' => 4, '>>' => 4, '^' => 4, '|' => 4, '~' => 4, // @see Token::FLAG_OPERATOR_ASSIGNMENT ':=' => 8, // @see Token::FLAG_OPERATOR_SQL '(' => 16, ')' => 16, '.' => 16, ',' => 16, ';' => 16 ); /** * The mode of the MySQL server that will be used in lexing, parsing and * building the statements. * * @var int */ public static $MODE = 0; /* * Server SQL Modes * https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html */ // Compatibility mode for Microsoft's SQL server. // This is the equivalent of ANSI_QUOTES. const SQL_MODE_COMPAT_MYSQL = 2; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_allow_invalid_dates const SQL_MODE_ALLOW_INVALID_DATES = 1; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_ansi_quotes const SQL_MODE_ANSI_QUOTES = 2; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_error_for_division_by_zero const SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO = 4; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_high_not_precedence const SQL_MODE_HIGH_NOT_PRECEDENCE = 8; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_ignore_space const SQL_MODE_IGNORE_SPACE = 16; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_auto_create_user const SQL_MODE_NO_AUTO_CREATE_USER = 32; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_auto_value_on_zero const SQL_MODE_NO_AUTO_VALUE_ON_ZERO = 64; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_backslash_escapes const SQL_MODE_NO_BACKSLASH_ESCAPES = 128; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_dir_in_create const SQL_MODE_NO_DIR_IN_CREATE = 256; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_dir_in_create const SQL_MODE_NO_ENGINE_SUBSTITUTION = 512; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_field_options const SQL_MODE_NO_FIELD_OPTIONS = 1024; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_key_options const SQL_MODE_NO_KEY_OPTIONS = 2048; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_table_options const SQL_MODE_NO_TABLE_OPTIONS = 4096; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_unsigned_subtraction const SQL_MODE_NO_UNSIGNED_SUBTRACTION = 8192; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_zero_date const SQL_MODE_NO_ZERO_DATE = 16384; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_zero_in_date const SQL_MODE_NO_ZERO_IN_DATE = 32768; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_only_full_group_by const SQL_MODE_ONLY_FULL_GROUP_BY = 65536; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_pipes_as_concat const SQL_MODE_PIPES_AS_CONCAT = 131072; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_real_as_float const SQL_MODE_REAL_AS_FLOAT = 262144; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables const SQL_MODE_STRICT_ALL_TABLES = 524288; // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_strict_trans_tables const SQL_MODE_STRICT_TRANS_TABLES = 1048576; // Custom modes. // The table and column names and any other field that must be escaped will // not be. // Reserved keywords are being escaped regardless this mode is used or not. const SQL_MODE_NO_ENCLOSING_QUOTES = 1073741824; /* * Combination SQL Modes * https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sql-mode-combo */ // REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE const SQL_MODE_ANSI = 393234; // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, const SQL_MODE_DB2 = 138258; // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER const SQL_MODE_MAXDB = 138290; // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS const SQL_MODE_MSSQL = 138258; // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER const SQL_MODE_ORACLE = 138290; // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS const SQL_MODE_POSTGRESQL = 138258; // STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, // ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER const SQL_MODE_TRADITIONAL = 1622052; // ------------------------------------------------------------------------- // Keyword. /** * Checks if the given string is a keyword. * * @param string $str string to be checked * @param bool $isReserved checks if the keyword is reserved * * @return int|null */ public static function isKeyword($str, $isReserved = false) { $str = strtoupper($str); if (isset(static::$KEYWORDS[$str])) { if ($isReserved && ! (static::$KEYWORDS[$str] & Token::FLAG_KEYWORD_RESERVED)) { return null; } return static::$KEYWORDS[$str]; } return null; } // ------------------------------------------------------------------------- // Operator. /** * Checks if the given string is an operator. * * @param string $str string to be checked * * @return int|null the appropriate flag for the operator */ public static function isOperator($str) { if (! isset(static::$OPERATORS[$str])) { return null; } return static::$OPERATORS[$str]; } // ------------------------------------------------------------------------- // Whitespace. /** * Checks if the given character is a whitespace. * * @param string $str string to be checked * * @return bool */ public static function isWhitespace($str) { return ($str === ' ') || ($str === "\r") || ($str === "\n") || ($str === "\t"); } // ------------------------------------------------------------------------- // Comment. /** * Checks if the given string is the beginning of a whitespace. * * @param string $str string to be checked * @param mixed $end * * @return int|null the appropriate flag for the comment type */ public static function isComment($str, $end = false) { $len = strlen($str); if ($len === 0) { return null; } // If comment is Bash style (#): if ($str[0] === '#') { return Token::FLAG_COMMENT_BASH; } // If comment is opening C style (/*), warning, it could be a MySQL command (/*!) if (($len > 1) && ($str[0] === '/') && ($str[1] === '*')) { return ($len > 2) && ($str[2] === '!') ? Token::FLAG_COMMENT_MYSQL_CMD : Token::FLAG_COMMENT_C; } // If comment is closing C style (*/), warning, it could conflicts with wildcard and a real opening C style. // It would looks like the following valid SQL statement: "SELECT */* comment */ FROM...". if (($len > 1) && ($str[0] === '*') && ($str[1] === '/')) { return Token::FLAG_COMMENT_C; } // If comment is SQL style (--\s?): if (($len > 2) && ($str[0] === '-') && ($str[1] === '-') && static::isWhitespace($str[2]) ) { return Token::FLAG_COMMENT_SQL; } if (($len === 2) && $end && ($str[0] === '-') && ($str[1] === '-')) { return Token::FLAG_COMMENT_SQL; } return null; } // ------------------------------------------------------------------------- // Bool. /** * Checks if the given string is a boolean value. * This actually check only for `TRUE` and `FALSE` because `1` or `0` are * actually numbers and are parsed by specific methods. * * @param string $str string to be checked * * @return bool */ public static function isBool($str) { $str = strtoupper($str); return ($str === 'TRUE') || ($str === 'FALSE'); } // ------------------------------------------------------------------------- // Number. /** * Checks if the given character can be a part of a number. * * @param string $str string to be checked * * @return bool */ public static function isNumber($str) { return (($str >= '0') && ($str <= '9')) || ($str === '.') || ($str === '-') || ($str === '+') || ($str === 'e') || ($str === 'E'); } // ------------------------------------------------------------------------- // Symbol. /** * Checks if the given character is the beginning of a symbol. A symbol * can be either a variable or a field name. * * @param string $str string to be checked * * @return int|null the appropriate flag for the symbol type */ public static function isSymbol($str) { if (strlen($str) === 0) { return null; } if ($str[0] === '@') { return Token::FLAG_SYMBOL_VARIABLE; } elseif ($str[0] === '`') { return Token::FLAG_SYMBOL_BACKTICK; } elseif ($str[0] === ':' || $str[0] === '?') { return Token::FLAG_SYMBOL_PARAMETER; } return null; } // ------------------------------------------------------------------------- // String. /** * Checks if the given character is the beginning of a string. * * @param string $str string to be checked * * @return int|null the appropriate flag for the string type */ public static function isString($str) { if (strlen($str) === 0) { return null; } if ($str[0] === '\'') { return Token::FLAG_STRING_SINGLE_QUOTES; } elseif ($str[0] === '"') { return Token::FLAG_STRING_DOUBLE_QUOTES; } return null; } // ------------------------------------------------------------------------- // Delimiter. /** * Checks if the given character can be a separator for two lexeme. * * @param string $str string to be checked * * @return bool */ public static function isSeparator($str) { // NOTES: Only non alphanumeric ASCII characters may be separators. // `~` is the last printable ASCII character. return ($str <= '~') && ($str !== '_') && (($str < '0') || ($str > '9')) && (($str < 'a') || ($str > 'z')) && (($str < 'A') || ($str > 'Z')); } /** * Loads the specified context. * * Contexts may be used by accessing the context directly. * * @param string $context name of the context or full class name that * defines the context * * @throws LoaderException if the specified context doesn't exist */ public static function load($context = '') { if (empty($context)) { $context = self::$defaultContext; } if ($context[0] !== '\\') { // Short context name (must be formatted into class name). $context = self::$contextPrefix . $context; } if (! class_exists($context)) { throw @new LoaderException( 'Specified context ("' . $context . '") does not exist.', $context ); } self::$loadedContext = $context; self::$KEYWORDS = $context::$KEYWORDS; } /** * Loads the context with the closest version to the one specified. * * The closest context is found by replacing last digits with zero until one * is loaded successfully. * * @see Context::load() * * @param string $context name of the context or full class name that * defines the context * * @return string|null The loaded context. `null` if no context was loaded. */ public static function loadClosest($context = '') { $length = strlen($context); for ($i = $length; $i > 0;) { try { /* Trying to load the new context */ static::load($context); return $context; } catch (LoaderException $e) { /* Replace last two non zero digits by zeroes */ do { $i -= 2; $part = substr($context, $i, 2); /* No more numeric parts to strip */ if (! is_numeric($part)) { break 2; } } while (intval($part) === 0 && $i > 0); $context = substr($context, 0, $i) . '00' . substr($context, $i + 2); } } /* Fallback to loading at least matching engine */ if (strncmp($context, 'MariaDb', 7) === 0) { return static::loadClosest('MariaDb100300'); } elseif (strncmp($context, 'MySql', 5) === 0) { return static::loadClosest('MySql50700'); } return null; } /** * Sets the SQL mode. * * @param string $mode The list of modes. If empty, the mode is reset. */ public static function setMode($mode = '') { static::$MODE = 0; if (empty($mode)) { return; } $mode = explode(',', $mode); foreach ($mode as $m) { static::$MODE |= constant('static::SQL_MODE_' . $m); } } /** * Escapes the symbol by adding surrounding backticks. * * @param array|string $str the string to be escaped * @param string $quote quote to be used when escaping * * @return string|array */ public static function escape($str, $quote = '`') { if (is_array($str)) { foreach ($str as $key => $value) { $str[$key] = static::escape($value); } return $str; } if ((static::$MODE & self::SQL_MODE_NO_ENCLOSING_QUOTES) && (! static::isKeyword($str, true)) ) { return $str; } if (static::$MODE & self::SQL_MODE_ANSI_QUOTES) { $quote = '"'; } return $quote . str_replace($quote, $quote . $quote, $str) . $quote; } /** * Returns char used to quote identifiers based on currently set SQL Mode (ie. standard or ANSI_QUOTES) * @return string either " (double quote, ansi_quotes mode) or ` (backtick, standard mode) */ public static function getIdentifierQuote() { return self::hasMode(self::SQL_MODE_ANSI_QUOTES) ? '"' : '`'; } /** * Function verifies that given SQL Mode constant is currently set * * @return boolean false on empty param, true/false on given constant/int value * @param int $flag for example Context::SQL_MODE_ANSI_QUOTES */ public static function hasMode($flag = null) { if (empty($flag)) { return false; } return (self::$MODE & $flag) === $flag; } } // Initializing the default context. Context::load(); sql-parser-4.6.1/src/Contexts/000077500000000000000000000000001363525634600162265ustar00rootroot00000000000000sql-parser-4.6.1/src/Contexts/ContextMariaDb100000.php000066400000000000000000000431331363525634600222500ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1, 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1, 'CONSTRAINT_CATALOG' => 1, 'SQL_TSI_FRAC_SECOND' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'MASTER_HEARTBEAT_PERIOD' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'SUBSTRING' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'TIMESTAMPDIFF' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'NUMINTERIORRINGS' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'MULTIPOINTFROMTEXT' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMariaDb100100.php000066400000000000000000000536701363525634600222600ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'XID' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1, 'REPLICATE_IGNORE_DB' => 1, 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, 'REPLICATE_IGNORE_TABLE' => 1, 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'REPLICATE_WILD_IGNORE_TABLE' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'MASTER_BIND' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, 'TO_BASE64' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33, 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, 'ST_POLYGONFROMWKB' => 33, 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, 'ST_MULTIPOINTFROMTEXT' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33, 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMariaDb100200.php000066400000000000000000000537121363525634600222560ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'XID' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1, 'REPLICATE_IGNORE_DB' => 1, 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, 'REPLICATE_IGNORE_TABLE' => 1, 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'REPLICATE_WILD_IGNORE_TABLE' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'MASTER_BIND' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, 'TO_BASE64' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33, 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, 'ST_POLYGONFROMWKB' => 33, 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, 'ST_MULTIPOINTFROMTEXT' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33, 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMariaDb100300.php000066400000000000000000000537741363525634600222670ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'XID' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1, 'REPLICATE_IGNORE_DB' => 1, 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, 'REPLICATE_IGNORE_TABLE' => 1, 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'REPLICATE_WILD_IGNORE_TABLE' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'MASTER_BIND' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, 'TO_BASE64' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33, 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, 'ST_POLYGONFROMWKB' => 33, 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, 'ST_MULTIPOINTFROMTEXT' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33, 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMySql50000.php000066400000000000000000000372541363525634600217510ustar00rootroot00000000000000 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'BDB' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'LAST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PREV' => 1, 'ROWS' => 1, 'SOME' => 1, 'STOP' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'PHASE' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RAID0' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'RELOAD' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INVOKER' => 1, 'MIGRATE' => 1, 'PARTIAL' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'STRIPED' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PROFILES' => 1, 'ROLLBACK' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'PACK_KEYS' => 1, 'RAID_TYPE' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'VARIABLES' => 1, 'BERKELEYDB' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'PROCESSLIST' => 1, 'RAID_CHUNKS' => 1, 'REPLICATION' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'DES_KEY_FILE' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RAID_CHUNKSIZE' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'USER_RESOURCES' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1, 'MASTER_SERVER_ID' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1, 'SQL_TSI_FRAC_SECOND' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SONAME' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'SUBSTRING' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'UNCOMPRESS' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'TIMESTAMPDIFF' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'NUMINTERIORRINGS' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMySql50100.php000066400000000000000000000424441363525634600217470ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'BDB' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'GOTO' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LABEL' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RAID0' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'STRIPED' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAXVALUE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'PARTITION' => 1, 'RAID_TYPE' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SCHEDULER' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'BERKELEYDB' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1, 'REORGANISE' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'PROCESSLIST' => 1, 'RAID_CHUNKS' => 1, 'REPLICATION' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CONTRIBUTORS' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'PAGE_CHECKSUM' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'TRANSACTIONAL' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RAID_CHUNKSIZE' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1, 'SQL_TSI_FRAC_SECOND' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'DECOD' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'SUBSTRING' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'TIMESTAMPDIFF' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'NUMINTERIORRINGS' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'MULTIPOINTFROMTEXT' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMySql50500.php000066400000000000000000000431121363525634600217440ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'PARTITION' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1, 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1, 'CONSTRAINT_CATALOG' => 1, 'SQL_TSI_FRAC_SECOND' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'MASTER_HEARTBEAT_PERIOD' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'SUBSTRING' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'TIMESTAMPDIFF' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'NUMINTERIORRINGS' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'MULTIPOINTFROMTEXT' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMySql50600.php000066400000000000000000000501731363525634600217520ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'ANALYSE' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1, 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'MASTER_HEARTBEAT_PERIOD' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'MASTER_BIND' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, 'TO_BASE64' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_ISEMPTY' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'CREATE_DIGEST' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33, 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'ASYMMETRIC_SIGN' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_POINTFROMWKB' => 33, 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, 'ASYMMETRIC_DERIVE' => 33, 'ASYMMETRIC_VERIFY' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'ST_POLYGONFROMWKB' => 33, 'ASYMMETRIC_DECRYPT' => 33, 'ASYMMETRIC_ENCRYPT' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, 'ST_POLYGONFROMTEXT' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'CREATE_DH_PARAMETERS' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'CREATE_ASYMMETRIC_PUB_KEY' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'CREATE_ASYMMETRIC_PRIV_KEY' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, 'SQL_THREAD_WAIT_AFTER_GTIDS' => 33, 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMySql50700.php000066400000000000000000000536471363525634600217640ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'XID' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1, 'REPLICATE_IGNORE_DB' => 1, 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, 'REPLICATE_IGNORE_TABLE' => 1, 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'REPLICATE_WILD_IGNORE_TABLE' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'MASTER_BIND' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, 'TO_BASE64' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33, 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, 'ST_POLYGONFROMWKB' => 33, 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, 'ST_MULTIPOINTFROMTEXT' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33, 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Contexts/ContextMySql80000.php000066400000000000000000000540171363525634600217500ustar00rootroot00000000000000 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1, 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1, 'ONE' => 1, 'ROW' => 1, 'XID' => 1, 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1, 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1, 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1, 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1, 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1, 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PERSIST' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1, 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1, 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1, 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1, 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1, 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1, 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1, 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1, 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1, 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'PERSIST_ONLY' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1, 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1, 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1, 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1, 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1, 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1, 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1, 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1, 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1, 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1, 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1, 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1, 'REPLICATE_IGNORE_DB' => 1, 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1, 'REPLICATE_IGNORE_TABLE' => 1, 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1, 'MAX_CONNECTIONS_PER_HOUR' => 1, 'REPLICATE_WILD_IGNORE_TABLE' => 1, 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3, 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3, 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3, 'XOR' => 3, 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3, 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3, 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3, 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3, 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3, 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3, 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3, 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3, 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3, 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3, 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3, 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3, 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3, 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3, 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3, 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3, 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3, 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3, 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3, 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3, 'MASTER_BIND' => 3, 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3, 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3, 'STRAIGHT_JOIN' => 3, 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3, 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3, 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3, 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3, 'SQL_CALC_FOUND_ROWS' => 3, 'MASTER_SSL_VERIFY_SERVER_CERT' => 3, 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7, 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7, 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7, 'ON UPDATE' => 7, 'UNION ALL' => 7, 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7, 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7, 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7, 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7, 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7, 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7, 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7, 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7, 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7, 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7, 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7, 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7, 'DEFAULT CHARACTER SET' => 7, 'NATURAL LEFT OUTER JOIN' => 7, 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7, 'BIT' => 9, 'XML' => 9, 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9, 'ARRAY' => 9, 'SERIAL' => 9, 'BOOLEAN' => 9, 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9, 'MULTILINEPOINT' => 9, 'MULTILINEPOLYGON' => 9, 'INT' => 11, 'SET' => 11, 'BLOB' => 11, 'REAL' => 11, 'FLOAT' => 11, 'BIGINT' => 11, 'DOUBLE' => 11, 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11, 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11, 'TINYTEXT' => 11, 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11, 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11, 'BINARY VARYING' => 15, 'KEY' => 19, 'INDEX' => 19, 'UNIQUE' => 19, 'SPATIAL' => 19, 'FULLTEXT' => 19, 'INDEX KEY' => 23, 'UNIQUE KEY' => 23, 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23, 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23, 'SPATIAL INDEX' => 23, 'FULLTEXT INDEX' => 23, 'X' => 33, 'Y' => 33, 'LN' => 33, 'PI' => 33, 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33, 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33, 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33, 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33, 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33, 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33, 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33, 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33, 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33, 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33, 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33, 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33, 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33, 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'IS_UUID' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33, 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33, 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33, 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33, 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33, 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33, 'TO_BASE64' => 33, 'UPDATEXML' => 33, 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33, 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33, 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33, 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'BIN_TO_UUID' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'UUID_TO_BIN' => 33, 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33, 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33, 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33, 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33, 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33, 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33, 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33, 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33, 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33, 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33, 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33, 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33, 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33, 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33, 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33, 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33, 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33, 'ST_POLYGONFROMWKB' => 33, 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33, 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33, 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33, 'UNCOMPRESSED_LENGTH' => 33, 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33, 'ST_MULTIPOINTFROMWKB' => 33, 'ST_MULTIPOINTFROMTEXT' => 33, 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33, 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33, 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33, 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33, 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33, 'IF' => 35, 'IN' => 35, 'MOD' => 35, 'LEFT' => 35, 'MATCH' => 35, 'RIGHT' => 35, 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35, 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35, 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35, 'LOCALTIME' => 35, 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35, 'UTC_TIMESTAMP' => 35, 'LOCALTIMESTAMP' => 35, 'CURRENT_TIMESTAMP' => 35, 'NOT IN' => 39, 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41, 'POINT' => 41, 'POLYGON' => 41, 'TIMESTAMP' => 41, 'LINESTRING' => 41, 'MULTILINESTRING' => 41, 'GEOMETRYCOLLECTION' => 41, 'CHAR' => 43, 'BINARY' => 43, 'INTERVAL' => 43 ); } sql-parser-4.6.1/src/Core.php000066400000000000000000000017111363525634600160200ustar00rootroot00000000000000strict) { throw $error; } $this->errors[] = $error; } } sql-parser-4.6.1/src/Exceptions/000077500000000000000000000000001363525634600165405ustar00rootroot00000000000000sql-parser-4.6.1/src/Exceptions/LexerException.php000066400000000000000000000016751363525634600222200ustar00rootroot00000000000000ch = $ch; $this->pos = $pos; } } sql-parser-4.6.1/src/Exceptions/LoaderException.php000066400000000000000000000013411363525634600223350ustar00rootroot00000000000000name = $name; } } sql-parser-4.6.1/src/Exceptions/ParserException.php000066400000000000000000000014341363525634600223660ustar00rootroot00000000000000token = $token; } } sql-parser-4.6.1/src/Lexer.php000066400000000000000000000767151363525634600162270ustar00rootroot00000000000000list; } /** * Constructor. * * @param string|UtfString $str the query to be lexed * @param bool $strict whether strict mode should be * enabled or not * @param string $delimiter the delimiter to be used */ public function __construct($str, $strict = false, $delimiter = null) { // `strlen` is used instead of `mb_strlen` because the lexer needs to // parse each byte of the input. $len = $str instanceof UtfString ? $str->length() : strlen($str); // For multi-byte strings, a new instance of `UtfString` is // initialized (only if `UtfString` usage is forced. if (! $str instanceof UtfString && USE_UTF_STRINGS && $len !== mb_strlen($str, 'UTF-8')) { $str = new UtfString($str); } $this->str = $str; $this->len = $str instanceof UtfString ? $str->length() : $len; $this->strict = $strict; // Setting the delimiter. $this->setDelimiter( ! empty($delimiter) ? $delimiter : static::$DEFAULT_DELIMITER ); $this->lex(); } /** * Sets the delimiter. * * @param string $delimiter the new delimiter */ public function setDelimiter($delimiter) { $this->delimiter = $delimiter; $this->delimiterLen = strlen($delimiter); } /** * Parses the string and extracts lexemes. */ public function lex() { // TODO: Sometimes, static::parse* functions make unnecessary calls to // is* functions. For a better performance, some rules can be deduced // from context. // For example, in `parseBool` there is no need to compare the token // every time with `true` and `false`. The first step would be to // compare with 'true' only and just after that add another letter from // context and compare again with `false`. // Another example is `parseComment`. $list = new TokensList(); /** * Last processed token. * * @var Token */ $lastToken = null; for ($this->last = 0, $lastIdx = 0; $this->last < $this->len; $lastIdx = ++$this->last) { /** * The new token. * * @var Token */ $token = null; foreach (static::$PARSER_METHODS as $method) { if ($token = $this->$method()) { break; } } if ($token === null) { // @assert($this->last === $lastIdx); $token = new Token($this->str[$this->last]); $this->error( 'Unexpected character.', $this->str[$this->last], $this->last ); } elseif ($lastToken !== null && $token->type === Token::TYPE_SYMBOL && $token->flags & Token::FLAG_SYMBOL_VARIABLE && ( $lastToken->type === Token::TYPE_STRING || ( $lastToken->type === Token::TYPE_SYMBOL && $lastToken->flags & Token::FLAG_SYMBOL_BACKTICK ) ) ) { // Handles ```... FROM 'user'@'%' ...```. $lastToken->token .= $token->token; $lastToken->type = Token::TYPE_SYMBOL; $lastToken->flags = Token::FLAG_SYMBOL_USER; $lastToken->value .= '@' . $token->value; continue; } elseif ($lastToken !== null && $token->type === Token::TYPE_KEYWORD && $lastToken->type === Token::TYPE_OPERATOR && $lastToken->value === '.' ) { // Handles ```... tbl.FROM ...```. In this case, FROM is not // a reserved word. $token->type = Token::TYPE_NONE; $token->flags = 0; $token->value = $token->token; } $token->position = $lastIdx; $list->tokens[$list->count++] = $token; // Handling delimiters. if ($token->type === Token::TYPE_NONE && $token->value === 'DELIMITER') { if ($this->last + 1 >= $this->len) { $this->error( 'Expected whitespace(s) before delimiter.', '', $this->last + 1 ); continue; } // Skipping last R (from `delimiteR`) and whitespaces between // the keyword `DELIMITER` and the actual delimiter. $pos = ++$this->last; if (($token = $this->parseWhitespace()) !== null) { $token->position = $pos; $list->tokens[$list->count++] = $token; } // Preparing the token that holds the new delimiter. if ($this->last + 1 >= $this->len) { $this->error( 'Expected delimiter.', '', $this->last + 1 ); continue; } $pos = $this->last + 1; // Parsing the delimiter. $this->delimiter = null; $delimiterLen = 0; while (++$this->last < $this->len && ! Context::isWhitespace($this->str[$this->last]) && $delimiterLen < 15) { $this->delimiter .= $this->str[$this->last]; ++$delimiterLen; } if (empty($this->delimiter)) { $this->error( 'Expected delimiter.', '', $this->last ); $this->delimiter = ';'; } --$this->last; // Saving the delimiter and its token. $this->delimiterLen = strlen($this->delimiter); $token = new Token($this->delimiter, Token::TYPE_DELIMITER); $token->position = $pos; $list->tokens[$list->count++] = $token; } $lastToken = $token; } // Adding a final delimiter to mark the ending. $list->tokens[$list->count++] = new Token(null, Token::TYPE_DELIMITER); // Saving the tokens list. $this->list = $list; $this->solveAmbiguityOnStarOperator(); } /** * Resolves the ambiguity when dealing with the "*" operator. * * In SQL statements, the "*" operator can be an arithmetic operator (like in 2*3) or an SQL wildcard (like in * SELECT a.* FROM ...). To solve this ambiguity, the solution is to find the next token, excluding whitespaces and * comments, right after the "*" position. The "*" is for sure an SQL wildcard if the next token found is any of: * - "FROM" (the FROM keyword like in "SELECT * FROM..."); * - "USING" (the USING keyword like in "DELETE table_name.* USING..."); * - "," (a comma separator like in "SELECT *, field FROM..."); * - ")" (a closing parenthesis like in "COUNT(*)"). * This methods will change the flag of the "*" tokens when any of those condition above is true. Otherwise, the * default flag (arithmetic) will be kept. * * @return void */ private function solveAmbiguityOnStarOperator() { $iBak = $this->list->idx; while (null !== ($starToken = $this->list->getNextOfTypeAndValue(Token::TYPE_OPERATOR, '*'))) { // ::getNext already gets rid of whitespaces and comments. if (($next = $this->list->getNext()) !== null) { if (($next->type === Token::TYPE_KEYWORD && in_array($next->value, array('FROM', 'USING'), true)) || ($next->type === Token::TYPE_OPERATOR && in_array($next->value, array(',', ')'), true)) ) { $starToken->flags = Token::FLAG_OPERATOR_SQL; } } } $this->list->idx = $iBak; } /** * Creates a new error log. * * @param string $msg the error message * @param string $str the character that produced the error * @param int $pos the position of the character * @param int $code the code of the error * * @throws LexerException throws the exception, if strict mode is enabled */ public function error($msg, $str = '', $pos = 0, $code = 0) { $error = new LexerException( Translator::gettext($msg), $str, $pos, $code ); parent::error($error); } /** * Parses a keyword. * * @return null|Token */ public function parseKeyword() { $token = ''; /** * Value to be returned. * * @var Token */ $ret = null; /** * The value of `$this->last` where `$token` ends in `$this->str`. * * @var int */ $iEnd = $this->last; /** * Whether last parsed character is a whitespace. * * @var bool */ $lastSpace = false; for ($j = 1; $j < Context::KEYWORD_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) { // Composed keywords shouldn't have more than one whitespace between // keywords. if (Context::isWhitespace($this->str[$this->last])) { if ($lastSpace) { --$j; // The size of the keyword didn't increase. continue; } $lastSpace = true; } else { $lastSpace = false; } $token .= $this->str[$this->last]; if (($this->last + 1 === $this->len || Context::isSeparator($this->str[$this->last + 1])) && $flags = Context::isKeyword($token) ) { $ret = new Token($token, Token::TYPE_KEYWORD, $flags); $iEnd = $this->last; // We don't break so we find longest keyword. // For example, `OR` and `ORDER` have a common prefix `OR`. // If we stopped at `OR`, the parsing would be invalid. } } $this->last = $iEnd; return $ret; } /** * Parses a label. * * @return null|Token */ public function parseLabel() { $token = ''; /** * Value to be returned. * * @var Token */ $ret = null; /** * The value of `$this->last` where `$token` ends in `$this->str`. * * @var int */ $iEnd = $this->last; for ($j = 1; $j < Context::LABEL_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) { if ($this->str[$this->last] === ':' && $j > 1) { // End of label $token .= $this->str[$this->last]; $ret = new Token($token, Token::TYPE_LABEL); $iEnd = $this->last; break; } elseif (Context::isWhitespace($this->str[$this->last]) && $j > 1) { // Whitespace between label and : // The size of the keyword didn't increase. --$j; } elseif (Context::isSeparator($this->str[$this->last])) { // Any other separator break; } $token .= $this->str[$this->last]; } $this->last = $iEnd; return $ret; } /** * Parses an operator. * * @return null|Token */ public function parseOperator() { $token = ''; /** * Value to be returned. * * @var Token */ $ret = null; /** * The value of `$this->last` where `$token` ends in `$this->str`. * * @var int */ $iEnd = $this->last; for ($j = 1; $j < Context::OPERATOR_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) { $token .= $this->str[$this->last]; if ($flags = Context::isOperator($token)) { $ret = new Token($token, Token::TYPE_OPERATOR, $flags); $iEnd = $this->last; } } $this->last = $iEnd; return $ret; } /** * Parses a whitespace. * * @return null|Token */ public function parseWhitespace() { $token = $this->str[$this->last]; if (! Context::isWhitespace($token)) { return null; } while (++$this->last < $this->len && Context::isWhitespace($this->str[$this->last])) { $token .= $this->str[$this->last]; } --$this->last; return new Token($token, Token::TYPE_WHITESPACE); } /** * Parses a comment. * * @return null|Token */ public function parseComment() { $iBak = $this->last; $token = $this->str[$this->last]; // Bash style comments. (#comment\n) if (Context::isComment($token)) { while (++$this->last < $this->len && $this->str[$this->last] !== "\n" ) { $token .= $this->str[$this->last]; } // Include trailing \n as whitespace token if ($this->last < $this->len) { --$this->last; } return new Token($token, Token::TYPE_COMMENT, Token::FLAG_COMMENT_BASH); } // C style comments. (/*comment*\/) if (++$this->last < $this->len) { $token .= $this->str[$this->last]; if (Context::isComment($token)) { // There might be a conflict with "*" operator here, when string is "*/*". // This can occurs in the following statements: // - "SELECT */* comment */ FROM ..." // - "SELECT 2*/* comment */3 AS `six`;" $next = $this->last+1; if (($next < $this->len) && $this->str[$next] === '*') { // Conflict in "*/*": first "*" was not for ending a comment. // Stop here and let other parsing method define the true behavior of that first star. $this->last = $iBak; return null; } $flags = Token::FLAG_COMMENT_C; // This comment already ended. It may be a part of a // previous MySQL specific command. if ($token === '*/') { return new Token($token, Token::TYPE_COMMENT, $flags); } // Checking if this is a MySQL-specific command. if ($this->last + 1 < $this->len && $this->str[$this->last + 1] === '!' ) { $flags |= Token::FLAG_COMMENT_MYSQL_CMD; $token .= $this->str[++$this->last]; while (++$this->last < $this->len && $this->str[$this->last] >= '0' && $this->str[$this->last] <= '9' ) { $token .= $this->str[$this->last]; } --$this->last; // We split this comment and parse only its beginning // here. return new Token($token, Token::TYPE_COMMENT, $flags); } // Parsing the comment. while (++$this->last < $this->len && ( $this->str[$this->last - 1] !== '*' || $this->str[$this->last] !== '/' ) ) { $token .= $this->str[$this->last]; } // Adding the ending. if ($this->last < $this->len) { $token .= $this->str[$this->last]; } return new Token($token, Token::TYPE_COMMENT, $flags); } } // SQL style comments. (-- comment\n) if (++$this->last < $this->len) { $token .= $this->str[$this->last]; $end = false; } else { --$this->last; $end = true; } if (Context::isComment($token, $end)) { // Checking if this comment did not end already (```--\n```). if ($this->str[$this->last] !== "\n") { while (++$this->last < $this->len && $this->str[$this->last] !== "\n" ) { $token .= $this->str[$this->last]; } } // Include trailing \n as whitespace token if ($this->last < $this->len) { --$this->last; } return new Token($token, Token::TYPE_COMMENT, Token::FLAG_COMMENT_SQL); } $this->last = $iBak; return null; } /** * Parses a boolean. * * @return null|Token */ public function parseBool() { if ($this->last + 3 >= $this->len) { // At least `min(strlen('TRUE'), strlen('FALSE'))` characters are // required. return null; } $iBak = $this->last; $token = $this->str[$this->last] . $this->str[++$this->last] . $this->str[++$this->last] . $this->str[++$this->last]; // _TRUE_ or _FALS_e if (Context::isBool($token)) { return new Token($token, Token::TYPE_BOOL); } elseif (++$this->last < $this->len) { $token .= $this->str[$this->last]; // fals_E_ if (Context::isBool($token)) { return new Token($token, Token::TYPE_BOOL, 1); } } $this->last = $iBak; return null; } /** * Parses a number. * * @return null|Token */ public function parseNumber() { // A rudimentary state machine is being used to parse numbers due to // the various forms of their notation. // // Below are the states of the machines and the conditions to change // the state. // // 1 --------------------[ + or - ]-------------------> 1 // 1 -------------------[ 0x or 0X ]------------------> 2 // 1 --------------------[ 0 to 9 ]-------------------> 3 // 1 -----------------------[ . ]---------------------> 4 // 1 -----------------------[ b ]---------------------> 7 // // 2 --------------------[ 0 to F ]-------------------> 2 // // 3 --------------------[ 0 to 9 ]-------------------> 3 // 3 -----------------------[ . ]---------------------> 4 // 3 --------------------[ e or E ]-------------------> 5 // // 4 --------------------[ 0 to 9 ]-------------------> 4 // 4 --------------------[ e or E ]-------------------> 5 // // 5 ---------------[ + or - or 0 to 9 ]--------------> 6 // // 7 -----------------------[ ' ]---------------------> 8 // // 8 --------------------[ 0 or 1 ]-------------------> 8 // 8 -----------------------[ ' ]---------------------> 9 // // State 1 may be reached by negative numbers. // State 2 is reached only by hex numbers. // State 4 is reached only by float numbers. // State 5 is reached only by numbers in approximate form. // State 7 is reached only by numbers in bit representation. // // Valid final states are: 2, 3, 4 and 6. Any parsing that finished in a // state other than these is invalid. $iBak = $this->last; $token = ''; $flags = 0; $state = 1; for (; $this->last < $this->len; ++$this->last) { if ($state === 1) { if ($this->str[$this->last] === '-') { $flags |= Token::FLAG_NUMBER_NEGATIVE; } elseif ($this->last + 1 < $this->len && $this->str[$this->last] === '0' && ( $this->str[$this->last + 1] === 'x' || $this->str[$this->last + 1] === 'X' ) ) { $token .= $this->str[$this->last++]; $state = 2; } elseif ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9') { $state = 3; } elseif ($this->str[$this->last] === '.') { $state = 4; } elseif ($this->str[$this->last] === 'b') { $state = 7; } elseif ($this->str[$this->last] !== '+') { // `+` is a valid character in a number. break; } } elseif ($state === 2) { $flags |= Token::FLAG_NUMBER_HEX; if (! ( ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9') || ($this->str[$this->last] >= 'A' && $this->str[$this->last] <= 'F') || ($this->str[$this->last] >= 'a' && $this->str[$this->last] <= 'f') ) ) { break; } } elseif ($state === 3) { if ($this->str[$this->last] === '.') { $state = 4; } elseif ($this->str[$this->last] === 'e' || $this->str[$this->last] === 'E') { $state = 5; } elseif ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') { // Just digits and `.`, `e` and `E` are valid characters. break; } } elseif ($state === 4) { $flags |= Token::FLAG_NUMBER_FLOAT; if ($this->str[$this->last] === 'e' || $this->str[$this->last] === 'E') { $state = 5; } elseif ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') { // Just digits, `e` and `E` are valid characters. break; } } elseif ($state === 5) { $flags |= Token::FLAG_NUMBER_APPROXIMATE; if ($this->str[$this->last] === '+' || $this->str[$this->last] === '-' || ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9') ) { $state = 6; } else { break; } } elseif ($state === 6) { if ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') { // Just digits are valid characters. break; } } elseif ($state === 7) { $flags |= Token::FLAG_NUMBER_BINARY; if ($this->str[$this->last] === '\'') { $state = 8; } else { break; } } elseif ($state === 8) { if ($this->str[$this->last] === '\'') { $state = 9; } elseif ($this->str[$this->last] !== '0' && $this->str[$this->last] !== '1' ) { break; } } elseif ($state === 9) { break; } $token .= $this->str[$this->last]; } if ($state === 2 || $state === 3 || ($token !== '.' && $state === 4) || $state === 6 || $state === 9 ) { --$this->last; return new Token($token, Token::TYPE_NUMBER, $flags); } $this->last = $iBak; return null; } /** * Parses a string. * * @param string $quote additional starting symbol * * @return null|Token * @throws LexerException */ public function parseString($quote = '') { $token = $this->str[$this->last]; if (! ($flags = Context::isString($token)) && $token !== $quote) { return null; } $quote = $token; while (++$this->last < $this->len) { if ($this->last + 1 < $this->len && ( ($this->str[$this->last] === $quote && $this->str[$this->last + 1] === $quote) || ($this->str[$this->last] === '\\' && $quote !== '`') ) ) { $token .= $this->str[$this->last] . $this->str[++$this->last]; } else { if ($this->str[$this->last] === $quote) { break; } $token .= $this->str[$this->last]; } } if ($this->last >= $this->len || $this->str[$this->last] !== $quote) { $this->error( sprintf( Translator::gettext('Ending quote %1$s was expected.'), $quote ), '', $this->last ); } else { $token .= $this->str[$this->last]; } return new Token($token, Token::TYPE_STRING, $flags); } /** * Parses a symbol. * * @return null|Token * @throws LexerException */ public function parseSymbol() { $token = $this->str[$this->last]; if (! ($flags = Context::isSymbol($token))) { return null; } if ($flags & Token::FLAG_SYMBOL_VARIABLE) { if ($this->last + 1 < $this->len && $this->str[++$this->last] === '@') { // This is a system variable (e.g. `@@hostname`). $token .= $this->str[$this->last++]; $flags |= Token::FLAG_SYMBOL_SYSTEM; } } elseif ($flags & Token::FLAG_SYMBOL_PARAMETER) { if ($token !== '?' && $this->last + 1 < $this->len) { ++$this->last; } } else { $token = ''; } $str = null; if ($this->last < $this->len) { if (($str = $this->parseString('`')) === null) { if (($str = $this->parseUnknown()) === null) { $this->error( 'Variable name was expected.', $this->str[$this->last], $this->last ); } } } if ($str !== null) { $token .= $str->token; } return new Token($token, Token::TYPE_SYMBOL, $flags); } /** * Parses unknown parts of the query. * * @return null|Token */ public function parseUnknown() { $token = $this->str[$this->last]; if (Context::isSeparator($token)) { return null; } while (++$this->last < $this->len && ! Context::isSeparator($this->str[$this->last])) { $token .= $this->str[$this->last]; } --$this->last; return new Token($token); } /** * Parses the delimiter of the query. * * @return null|Token */ public function parseDelimiter() { $idx = 0; while ($idx < $this->delimiterLen && $this->last + $idx < $this->len) { if ($this->delimiter[$idx] !== $this->str[$this->last + $idx]) { return null; } ++$idx; } $this->last += $this->delimiterLen - 1; return new Token($this->delimiter, Token::TYPE_DELIMITER); } } sql-parser-4.6.1/src/Parser.php000066400000000000000000000522401363525634600163670ustar00rootroot00000000000000 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement', 'DESC' => 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement', 'EXPLAIN' => 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement', 'FLUSH' => '', 'GRANT' => '', 'HELP' => '', 'SET PASSWORD' => '', 'STATUS' => '', 'USE' => '', // Table Maintenance Statements // https://dev.mysql.com/doc/refman/5.7/en/table-maintenance-sql.html 'ANALYZE' => 'PhpMyAdmin\\SqlParser\\Statements\\AnalyzeStatement', 'BACKUP' => 'PhpMyAdmin\\SqlParser\\Statements\\BackupStatement', 'CHECK' => 'PhpMyAdmin\\SqlParser\\Statements\\CheckStatement', 'CHECKSUM' => 'PhpMyAdmin\\SqlParser\\Statements\\ChecksumStatement', 'OPTIMIZE' => 'PhpMyAdmin\\SqlParser\\Statements\\OptimizeStatement', 'REPAIR' => 'PhpMyAdmin\\SqlParser\\Statements\\RepairStatement', 'RESTORE' => 'PhpMyAdmin\\SqlParser\\Statements\\RestoreStatement', // Database Administration Statements // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-server-administration.html 'SET' => 'PhpMyAdmin\\SqlParser\\Statements\\SetStatement', 'SHOW' => 'PhpMyAdmin\\SqlParser\\Statements\\ShowStatement', // Data Definition Statements. // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-data-definition.html 'ALTER' => 'PhpMyAdmin\\SqlParser\\Statements\\AlterStatement', 'CREATE' => 'PhpMyAdmin\\SqlParser\\Statements\\CreateStatement', 'DROP' => 'PhpMyAdmin\\SqlParser\\Statements\\DropStatement', 'RENAME' => 'PhpMyAdmin\\SqlParser\\Statements\\RenameStatement', 'TRUNCATE' => 'PhpMyAdmin\\SqlParser\\Statements\\TruncateStatement', // Data Manipulation Statements. // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-data-manipulation.html 'CALL' => 'PhpMyAdmin\\SqlParser\\Statements\\CallStatement', 'DELETE' => 'PhpMyAdmin\\SqlParser\\Statements\\DeleteStatement', 'DO' => '', 'HANDLER' => '', 'INSERT' => 'PhpMyAdmin\\SqlParser\\Statements\\InsertStatement', 'LOAD DATA' => 'PhpMyAdmin\\SqlParser\\Statements\\LoadStatement', 'REPLACE' => 'PhpMyAdmin\\SqlParser\\Statements\\ReplaceStatement', 'SELECT' => 'PhpMyAdmin\\SqlParser\\Statements\\SelectStatement', 'UPDATE' => 'PhpMyAdmin\\SqlParser\\Statements\\UpdateStatement', // Prepared Statements. // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html 'DEALLOCATE' => '', 'EXECUTE' => '', 'PREPARE' => '', // Transactional and Locking Statements // https://dev.mysql.com/doc/refman/5.7/en/commit.html 'BEGIN' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement', 'COMMIT' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement', 'ROLLBACK' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement', 'START TRANSACTION' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement', 'PURGE' => 'PhpMyAdmin\\SqlParser\\Statements\\PurgeStatement', // Lock statements // https://dev.mysql.com/doc/refman/5.7/en/lock-tables.html 'LOCK' => 'PhpMyAdmin\\SqlParser\\Statements\\LockStatement', 'UNLOCK' => 'PhpMyAdmin\\SqlParser\\Statements\\LockStatement' ); /** * Array of classes that are used in parsing SQL components. * * @var array */ public static $KEYWORD_PARSERS = array( // This is not a proper keyword and was added here to help the // formatter. 'PARTITION BY' => array(), 'SUBPARTITION BY' => array(), // This is not a proper keyword and was added here to help the // builder. '_OPTIONS' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OptionsArray', 'field' => 'options', ), '_END_OPTIONS' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OptionsArray', 'field' => 'end_options', ), 'INTERSECT' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword', 'field' => 'union', ), 'EXCEPT' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword', 'field' => 'union', ), 'UNION' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword', 'field' => 'union', ), 'UNION ALL' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword', 'field' => 'union', ), 'UNION DISTINCT' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword', 'field' => 'union', ), // Actual clause parsers. 'ALTER' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression', 'field' => 'table', 'options' => array('parseField' => 'table'), ), 'ANALYZE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'tables', 'options' => array('parseField' => 'table'), ), 'BACKUP' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'tables', 'options' => array('parseField' => 'table'), ), 'CALL' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\FunctionCall', 'field' => 'call', ), 'CHECK' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'tables', 'options' => array('parseField' => 'table'), ), 'CHECKSUM' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'tables', 'options' => array('parseField' => 'table'), ), 'CROSS JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'DROP' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'fields', 'options' => array('parseField' => 'table'), ), 'FORCE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IndexHint', 'field' => 'index_hints', ), 'FROM' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'from', 'options' => array('field' => 'table'), ), 'GROUP BY' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\GroupKeyword', 'field' => 'group', ), 'HAVING' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Condition', 'field' => 'having', ), 'IGNORE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IndexHint', 'field' => 'index_hints', ), 'INTO' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IntoKeyword', 'field' => 'into', ), 'JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'LEFT JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'LEFT OUTER JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'ON' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression', 'field' => 'table', 'options' => array('parseField' => 'table'), ), 'RIGHT JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'RIGHT OUTER JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'INNER JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'FULL JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'FULL OUTER JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'NATURAL JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'NATURAL LEFT JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'NATURAL RIGHT JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'NATURAL LEFT OUTER JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'NATURAL RIGHT OUTER JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'STRAIGHT_JOIN' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', 'field' => 'join', ), 'LIMIT' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Limit', 'field' => 'limit', ), 'OPTIMIZE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'tables', 'options' => array('parseField' => 'table'), ), 'ORDER BY' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OrderKeyword', 'field' => 'order', ), 'PARTITION' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ArrayObj', 'field' => 'partition', ), 'PROCEDURE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\FunctionCall', 'field' => 'procedure', ), 'RENAME' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\RenameOperation', 'field' => 'renames', ), 'REPAIR' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'tables', 'options' => array('parseField' => 'table'), ), 'RESTORE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'tables', 'options' => array('parseField' => 'table'), ), 'SET' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\SetOperation', 'field' => 'set', ), 'SELECT' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'expr', ), 'TRUNCATE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression', 'field' => 'table', 'options' => array('parseField' => 'table'), ), 'UPDATE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', 'field' => 'tables', 'options' => array('parseField' => 'table'), ), 'USE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IndexHint', 'field' => 'index_hints', ), 'VALUE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Array2d', 'field' => 'values', ), 'VALUES' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Array2d', 'field' => 'values', ), 'WHERE' => array( 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Condition', 'field' => 'where', ) ); /** * The list of tokens that are parsed. * * @var TokensList */ public $list; /** * List of statements parsed. * * @var Statement[] */ public $statements = array(); /** * The number of opened brackets. * * @var int */ public $brackets = 0; /** * Constructor. * * @param string|UtfString|TokensList $list the list of tokens to be parsed * @param bool $strict whether strict mode should be enabled or not */ public function __construct($list = null, $strict = false) { if (is_string($list) || ($list instanceof UtfString)) { $lexer = new Lexer($list, $strict); $this->list = $lexer->list; } elseif ($list instanceof TokensList) { $this->list = $list; } $this->strict = $strict; if ($list !== null) { $this->parse(); } } /** * Builds the parse trees. * @throws ParserException */ public function parse() { /** * Last transaction. * * @var TransactionStatement */ $lastTransaction = null; /** * Last parsed statement. * * @var Statement */ $lastStatement = null; /** * Union's type or false for no union. * * @var bool|string */ $unionType = false; /** * The index of the last token from the last statement. * * @var int */ $prevLastIdx = -1; /** * The list of tokens. * * @var TokensList */ $list = &$this->list; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // `DELIMITER` is not an actual statement and it requires // special handling. if (($token->type === Token::TYPE_NONE) && (strtoupper($token->token) === 'DELIMITER') ) { // Skipping to the end of this statement. $list->getNextOfType(Token::TYPE_DELIMITER); $prevLastIdx = $list->idx; continue; } // Counting the brackets around statements. if ($token->value === '(') { ++$this->brackets; continue; } // Statements can start with keywords only. // Comments, whitespaces, etc. are ignored. if ($token->type !== Token::TYPE_KEYWORD) { if (($token->type !== Token::TYPE_COMMENT) && ($token->type !== Token::TYPE_WHITESPACE) && ($token->type !== Token::TYPE_OPERATOR) // `(` and `)` && ($token->type !== Token::TYPE_DELIMITER) ) { $this->error( 'Unexpected beginning of statement.', $token ); } continue; } if (($token->keyword === 'UNION') || ($token->keyword === 'UNION ALL') || ($token->keyword === 'UNION DISTINCT') || ($token->keyword === 'EXCEPT') || ($token->keyword === 'INTERSECT') ) { $unionType = $token->keyword; continue; } // Checking if it is a known statement that can be parsed. if (empty(static::$STATEMENT_PARSERS[$token->keyword])) { if (! isset(static::$STATEMENT_PARSERS[$token->keyword])) { // A statement is considered recognized if the parser // is aware that it is a statement, but it does not have // a parser for it yet. $this->error( 'Unrecognized statement type.', $token ); } // Skipping to the end of this statement. $list->getNextOfType(Token::TYPE_DELIMITER); $prevLastIdx = $list->idx; continue; } /** * The name of the class that is used for parsing. * * @var string */ $class = static::$STATEMENT_PARSERS[$token->keyword]; /** * Processed statement. * * @var Statement */ $statement = new $class($this, $this->list); // The first token that is a part of this token is the next token // unprocessed by the previous statement. // There might be brackets around statements and this shouldn't // affect the parser $statement->first = $prevLastIdx + 1; // Storing the index of the last token parsed and updating the old // index. $statement->last = $list->idx; $prevLastIdx = $list->idx; // Handles unions. if (! empty($unionType) && ($lastStatement instanceof SelectStatement) && ($statement instanceof SelectStatement) ) { /* * This SELECT statement. * * @var SelectStatement $statement */ /* * Last SELECT statement. * * @var SelectStatement $lastStatement */ $lastStatement->union[] = array( $unionType, $statement ); // if there are no no delimiting brackets, the `ORDER` and // `LIMIT` keywords actually belong to the first statement. $lastStatement->order = $statement->order; $lastStatement->limit = $statement->limit; $statement->order = array(); $statement->limit = null; // The statement actually ends where the last statement in // union ends. $lastStatement->last = $statement->last; $unionType = false; // Validate clause order $statement->validateClauseOrder($this, $list); continue; } // Handles transactions. if ($statement instanceof TransactionStatement) { /* * @var TransactionStatement */ if ($statement->type === TransactionStatement::TYPE_BEGIN) { $lastTransaction = $statement; $this->statements[] = $statement; } elseif ($statement->type === TransactionStatement::TYPE_END) { if ($lastTransaction === null) { // Even though an error occurred, the query is being // saved. $this->statements[] = $statement; $this->error( 'No transaction was previously started.', $token ); } else { $lastTransaction->end = $statement; } $lastTransaction = null; } // Validate clause order $statement->validateClauseOrder($this, $list); continue; } // Validate clause order $statement->validateClauseOrder($this, $list); // Finally, storing the statement. if ($lastTransaction !== null) { $lastTransaction->statements[] = $statement; } else { $this->statements[] = $statement; } $lastStatement = $statement; } } /** * Creates a new error log. * * @param string $msg the error message * @param Token $token the token that produced the error * @param int $code the code of the error * * @throws ParserException throws the exception, if strict mode is enabled */ public function error($msg, Token $token = null, $code = 0) { $error = new ParserException( Translator::gettext($msg), $token, $code ); parent::error($error); } } sql-parser-4.6.1/src/Statement.php000066400000000000000000000435641363525634600171100ustar00rootroot00000000000000parse($parser, $list); } } /** * Builds the string representation of this statement. * * @return string */ public function build() { /** * Query to be returned. * * @var string */ $query = ''; /** * Clauses which were built already. * * It is required to keep track of built clauses because some fields, * for example `join` is used by multiple clauses (`JOIN`, `LEFT JOIN`, * `LEFT OUTER JOIN`, etc.). The same happens for `VALUE` and `VALUES`. * * A clause is considered built just after fields' value * (`$this->field`) was used in building. * * @var array */ $built = array(); /** * Statement's clauses. * * @var array */ $clauses = $this->getClauses(); foreach ($clauses as $clause) { /** * The name of the clause. * * @var string */ $name = $clause[0]; /** * The type of the clause. * * @see self::$CLAUSES * * @var int */ $type = $clause[1]; /** * The builder (parser) of this clause. * * @var Component */ $class = Parser::$KEYWORD_PARSERS[$name]['class']; /** * The name of the field that is used as source for the builder. * Same field is used to store the result of parsing. * * @var string */ $field = Parser::$KEYWORD_PARSERS[$name]['field']; // The field is empty, there is nothing to be built. if (empty($this->$field)) { continue; } // Checking if this field was already built. if ($type & 1) { if (! empty($built[$field])) { continue; } $built[$field] = true; } // Checking if the name of the clause should be added. if ($type & 2) { $query = trim($query) . ' ' . $name; } // Checking if the result of the builder should be added. if ($type & 1) { $query = trim($query) . ' ' . $class::build($this->$field); } } return $query; } /** * Parses the statements defined by the tokens list. * * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed * @throws Exceptions\ParserException */ public function parse(Parser $parser, TokensList $list) { /** * Array containing all list of clauses parsed. * This is used to check for duplicates. * * @var array */ $parsedClauses = array(); // This may be corrected by the parser. $this->first = $list->idx; /** * Whether options were parsed or not. * For statements that do not have any options this is set to `true` by * default. * * @var bool */ $parsedOptions = empty(static::$OPTIONS); for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Checking if this closing bracket is the pair for a bracket // outside the statement. if (($token->value === ')') && ($parser->brackets > 0)) { --$parser->brackets; continue; } // Only keywords are relevant here. Other parts of the query are // processed in the functions below. if ($token->type !== Token::TYPE_KEYWORD) { if (($token->type !== Token::TYPE_COMMENT) && ($token->type !== Token::TYPE_WHITESPACE) ) { $parser->error('Unexpected token.', $token); } continue; } // Unions are parsed by the parser because they represent more than // one statement. if (($token->keyword === 'UNION') || ($token->keyword === 'UNION ALL') || ($token->keyword === 'UNION DISTINCT') || ($token->keyword === 'EXCEPT') || ($token->keyword === 'INTERSECT') ) { break; } $lastIdx = $list->idx; // ON DUPLICATE KEY UPDATE ... // has to be parsed in parent statement (INSERT or REPLACE) // so look for it and break if ($this instanceof Statements\SelectStatement && $token->value === 'ON' ) { ++$list->idx; // Skip ON // look for ON DUPLICATE KEY UPDATE $first = $list->getNextOfType(Token::TYPE_KEYWORD); $second = $list->getNextOfType(Token::TYPE_KEYWORD); $third = $list->getNextOfType(Token::TYPE_KEYWORD); if ($first && $second && $third && $first->value === 'DUPLICATE' && $second->value === 'KEY' && $third->value === 'UPDATE' ) { $list->idx = $lastIdx; break; } } $list->idx = $lastIdx; /** * The name of the class that is used for parsing. * * @var Component */ $class = null; /** * The name of the field where the result of the parsing is stored. * * @var string */ $field = null; /** * Parser's options. * * @var array */ $options = array(); // Looking for duplicated clauses. if (! empty(Parser::$KEYWORD_PARSERS[$token->value]) || ! empty(Parser::$STATEMENT_PARSERS[$token->value]) ) { if (! empty($parsedClauses[$token->value])) { $parser->error( 'This type of clause was previously parsed.', $token ); break; } $parsedClauses[$token->value] = true; } // Checking if this is the beginning of a clause. // Fix Issue #221: As `truncate` is not a keyword // but it might be the beginning of a statement of truncate, // so let the value use the keyword field for truncate type. $token_value = in_array($token->keyword, array('TRUNCATE')) ? $token->keyword : $token->value; if (! empty(Parser::$KEYWORD_PARSERS[$token_value]) && $list->idx < $list->count) { $class = Parser::$KEYWORD_PARSERS[$token_value]['class']; $field = Parser::$KEYWORD_PARSERS[$token_value]['field']; if (! empty(Parser::$KEYWORD_PARSERS[$token_value]['options'])) { $options = Parser::$KEYWORD_PARSERS[$token_value]['options']; } } // Checking if this is the beginning of the statement. if (! empty(Parser::$STATEMENT_PARSERS[$token->keyword])) { if (! empty(static::$CLAUSES) // Undefined for some statements. && empty(static::$CLAUSES[$token->value]) ) { // Some keywords (e.g. `SET`) may be the beginning of a // statement and a clause. // If such keyword was found and it cannot be a clause of // this statement it means it is a new statement, but no // delimiter was found between them. $parser->error( 'A new statement was found, but no delimiter between it and the previous one.', $token ); break; } if (! $parsedOptions) { if (empty(static::$OPTIONS[$token->value])) { // Skipping keyword because if it is not a option. ++$list->idx; } $this->options = OptionsArray::parse( $parser, $list, static::$OPTIONS ); $parsedOptions = true; } } elseif ($class === null) { if ($this instanceof Statements\SelectStatement && ($token->value === 'FOR UPDATE' || $token->value === 'LOCK IN SHARE MODE') ) { // Handle special end options in Select statement // See Statements\SelectStatement::$END_OPTIONS $this->end_options = OptionsArray::parse( $parser, $list, static::$END_OPTIONS ); } elseif ($this instanceof Statements\SetStatement && ($token->value === 'COLLATE' || $token->value === 'DEFAULT') ) { // Handle special end options in SET statement // See Statements\SetStatement::$END_OPTIONS $this->end_options = OptionsArray::parse( $parser, $list, static::$END_OPTIONS ); } else { // There is no parser for this keyword and isn't the beginning // of a statement (so no options) either. $parser->error('Unrecognized keyword.', $token); continue; } } $this->before($parser, $list, $token); // Parsing this keyword. if ($class !== null) { // We can't parse keyword at the end of statement if ($list->idx >= $list->count) { $parser->error('Keyword at end of statement.', $token); continue; } ++$list->idx; // Skipping keyword or last option. $this->$field = $class::parse($parser, $list, $options); } $this->after($parser, $list, $token); // #223 Here may make a patch, if last is delimiter, back one // TODO: when not supporting PHP 5.3 anymore, replace this by FunctionCall::class. if ($class === 'PhpMyAdmin\\SqlParser\\Components\\FunctionCall' && $list->offsetGet($list->idx)->type === Token::TYPE_DELIMITER ) { --$list->idx; } } // This may be corrected by the parser. $this->last = --$list->idx; // Go back to last used token. } /** * Function called before the token is processed. * * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed * @param Token $token the token that is being parsed */ public function before(Parser $parser, TokensList $list, Token $token) { } /** * Function called after the token was processed. * * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed * @param Token $token the token that is being parsed */ public function after(Parser $parser, TokensList $list, Token $token) { } /** * Gets the clauses of this statement. * * @return array */ public function getClauses() { return static::$CLAUSES; } /** * Builds the string representation of this statement. * * @see static::build * * @return string */ public function __toString() { return $this->build(); } /** * Validates the order of the clauses in parsed statement * Ideally this should be called after successfully * completing the parsing of each statement. * * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed * * @return bool * @throws Exceptions\ParserException */ public function validateClauseOrder($parser, $list) { $clauses = array_flip(array_keys($this->getClauses())); if (empty($clauses) || count($clauses) === 0) { return true; } $minIdx = -1; /** * For tracking JOIN clauses in a query * = 0 - JOIN not found till now * > 0 - Index of first JOIN clause in the statement. * * @var int */ $minJoin = 0; /** * For tracking JOIN clauses in a query * = 0 - JOIN not found till now * > 0 - Index of last JOIN clause * (which appears together with other JOINs) * in the statement. * * @var int */ $maxJoin = 0; $error = 0; $lastIdx = 0; foreach ($clauses as $clauseType => $index) { $clauseStartIdx = Utils\Query::getClauseStartOffset( $this, $list, $clauseType ); if ($clauseStartIdx !== -1 && $this instanceof Statements\SelectStatement && ($clauseType === 'FORCE' || $clauseType === 'IGNORE' || $clauseType === 'USE') ) { // TODO: ordering of clauses in a SELECT statement with // Index hints is not supported return true; } // Handle ordering of Multiple Joins in a query if ($clauseStartIdx !== -1) { if ($minJoin === 0 && stripos($clauseType, 'JOIN')) { // First JOIN clause is detected $minJoin = $maxJoin = $clauseStartIdx; } elseif ($minJoin !== 0 && ! stripos($clauseType, 'JOIN')) { // After a previous JOIN clause, a non-JOIN clause has been detected $maxJoin = $lastIdx; } elseif ($maxJoin < $clauseStartIdx && stripos($clauseType, 'JOIN')) { $error = 1; } } if ($clauseStartIdx !== -1 && $clauseStartIdx < $minIdx) { if ($minJoin === 0 || $error === 1) { $token = $list->tokens[$clauseStartIdx]; $parser->error( 'Unexpected ordering of clauses.', $token ); return false; } $minIdx = $clauseStartIdx; } elseif ($clauseStartIdx !== -1) { $minIdx = $clauseStartIdx; } $lastIdx = ($clauseStartIdx !== -1) ? $clauseStartIdx : $lastIdx; } return true; } } sql-parser-4.6.1/src/Statements/000077500000000000000000000000001363525634600165465ustar00rootroot00000000000000sql-parser-4.6.1/src/Statements/AlterStatement.php000066400000000000000000000074011363525634600222150ustar00rootroot00000000000000 1, 'OFFLINE' => 1, 'IGNORE' => 2, 'DATABASE' => 3, 'EVENT' => 3, 'FUNCTION' => 3, 'PROCEDURE' => 3, 'SERVER' => 3, 'TABLE' => 3, 'TABLESPACE' => 3, 'VIEW' => 3 ); /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { ++$list->idx; // Skipping `ALTER`. $this->options = OptionsArray::parse( $parser, $list, static::$OPTIONS ); ++$list->idx; // Parsing affected table. $this->table = Expression::parse( $parser, $list, array( 'parseField' => 'table', 'breakOnAlias' => true ) ); ++$list->idx; // Skipping field. /** * The state of the parser. * * Below are the states of the parser. * * 0 -----------------[ alter operation ]-----------------> 1 * * 1 -------------------------[ , ]-----------------------> 0 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { $options = array(); if ($this->options->has('DATABASE')) { $options = AlterOperation::$DB_OPTIONS; } elseif ($this->options->has('TABLE')) { $options = AlterOperation::$TABLE_OPTIONS; } elseif ($this->options->has('VIEW')) { $options = AlterOperation::$VIEW_OPTIONS; } $this->altered[] = AlterOperation::parse($parser, $list, $options); $state = 1; } elseif ($state === 1) { if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',')) { $state = 0; } } } } /** * @return string */ public function build() { $tmp = array(); foreach ($this->altered as $altered) { $tmp[] = $altered::build($altered); } return 'ALTER ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->table) . ' ' . implode(', ', $tmp); } } sql-parser-4.6.1/src/Statements/AnalyzeStatement.php000066400000000000000000000013221363525634600225450ustar00rootroot00000000000000 1, 'NO_WRITE_TO_BINLOG' => 2, 'LOCAL' => 3 ); /** * Analyzed tables. * * @var Expression[] */ public $tables; } sql-parser-4.6.1/src/Statements/BackupStatement.php000066400000000000000000000011451363525634600223520ustar00rootroot00000000000000 1, 'NO_WRITE_TO_BINLOG' => 2, 'LOCAL' => 3, 'TO' => array( 4, 'var', ) ); } sql-parser-4.6.1/src/Statements/CallStatement.php000066400000000000000000000014111363525634600220140ustar00rootroot00000000000000call->name . "(" . ($this->call->parameters ? implode(",", $this->call->parameters->raw) : "") . ")"; } } sql-parser-4.6.1/src/Statements/CheckStatement.php000066400000000000000000000011451363525634600221620ustar00rootroot00000000000000 1, 'FOR UPGRADE' => 2, 'QUICK' => 3, 'FAST' => 4, 'MEDIUM' => 5, 'EXTENDED' => 6, 'CHANGED' => 7 ); } sql-parser-4.6.1/src/Statements/ChecksumStatement.php000066400000000000000000000010311363525634600227010ustar00rootroot00000000000000 1, 'QUICK' => 2, 'EXTENDED' => 3 ); } sql-parser-4.6.1/src/Statements/CreateStatement.php000066400000000000000000000537231363525634600223610ustar00rootroot00000000000000 1, // CREATE VIEW 'OR REPLACE' => 2, 'ALGORITHM' => array( 3, 'var=', ), // `DEFINER` is also used for `CREATE FUNCTION / PROCEDURE` 'DEFINER' => array( 4, 'expr=', ), 'SQL SECURITY' => array( 5, 'var', ), 'DATABASE' => 6, 'EVENT' => 6, 'FUNCTION' => 6, 'INDEX' => 6, 'UNIQUE INDEX' => 6, 'FULLTEXT INDEX' => 6, 'SPATIAL INDEX' => 6, 'PROCEDURE' => 6, 'SERVER' => 6, 'TABLE' => 6, 'TABLESPACE' => 6, 'TRIGGER' => 6, 'USER' => 6, 'VIEW' => 6, 'SCHEMA' => 6, // CREATE TABLE 'IF NOT EXISTS' => 7 ); /** * All database options. * * @var array */ public static $DB_OPTIONS = array( 'CHARACTER SET' => array( 1, 'var=', ), 'CHARSET' => array( 1, 'var=', ), 'DEFAULT CHARACTER SET' => array( 1, 'var=', ), 'DEFAULT CHARSET' => array( 1, 'var=', ), 'DEFAULT COLLATE' => array( 2, 'var=', ), 'COLLATE' => array( 2, 'var=', ) ); /** * All table options. * * @var array */ public static $TABLE_OPTIONS = array( 'ENGINE' => array( 1, 'var=', ), 'AUTO_INCREMENT' => array( 2, 'var=', ), 'AVG_ROW_LENGTH' => array( 3, 'var', ), 'CHARACTER SET' => array( 4, 'var=', ), 'CHARSET' => array( 4, 'var=', ), 'DEFAULT CHARACTER SET' => array( 4, 'var=', ), 'DEFAULT CHARSET' => array( 4, 'var=', ), 'CHECKSUM' => array( 5, 'var', ), 'DEFAULT COLLATE' => array( 6, 'var=', ), 'COLLATE' => array( 6, 'var=', ), 'COMMENT' => array( 7, 'var=', ), 'CONNECTION' => array( 8, 'var', ), 'DATA DIRECTORY' => array( 9, 'var', ), 'DELAY_KEY_WRITE' => array( 10, 'var', ), 'INDEX DIRECTORY' => array( 11, 'var', ), 'INSERT_METHOD' => array( 12, 'var', ), 'KEY_BLOCK_SIZE' => array( 13, 'var', ), 'MAX_ROWS' => array( 14, 'var', ), 'MIN_ROWS' => array( 15, 'var', ), 'PACK_KEYS' => array( 16, 'var', ), 'PASSWORD' => array( 17, 'var', ), 'ROW_FORMAT' => array( 18, 'var', ), 'TABLESPACE' => array( 19, 'var', ), 'STORAGE' => array( 20, 'var', ), 'UNION' => array( 21, 'var', ) ); /** * All function options. * * @var array */ public static $FUNC_OPTIONS = array( 'COMMENT' => array( 1, 'var=', ), 'LANGUAGE SQL' => 2, 'DETERMINISTIC' => 3, 'NOT DETERMINISTIC' => 3, 'CONTAINS SQL' => 4, 'NO SQL' => 4, 'READS SQL DATA' => 4, 'MODIFIES SQL DATA' => 4, 'SQL SECURITY DEFINER' => array( 5, 'var', ) ); /** * All trigger options. * * @var array */ public static $TRIGGER_OPTIONS = array( 'BEFORE' => 1, 'AFTER' => 1, 'INSERT' => 2, 'UPDATE' => 2, 'DELETE' => 2 ); /** * The name of the entity that is created. * * Used by all `CREATE` statements. * * @var Expression */ public $name; /** * The options of the entity (table, procedure, function, etc.). * * Used by `CREATE TABLE`, `CREATE FUNCTION` and `CREATE PROCEDURE`. * * @var OptionsArray * * @see static::$TABLE_OPTIONS * @see static::$FUNC_OPTIONS * @see static::$TRIGGER_OPTIONS */ public $entityOptions; /** * If `CREATE TABLE`, a list of columns and keys. * If `CREATE VIEW`, a list of columns. * * Used by `CREATE TABLE` and `CREATE VIEW`. * * @var CreateDefinition[]|ArrayObj */ public $fields; /** * If `CREATE TABLE ... SELECT`. * * Used by `CREATE TABLE` * * @var SelectStatement */ public $select; /** * If `CREATE TABLE ... LIKE`. * * Used by `CREATE TABLE` * * @var Expression */ public $like; /** * Expression used for partitioning. * * @var string */ public $partitionBy; /** * The number of partitions. * * @var int */ public $partitionsNum; /** * Expression used for subpartitioning. * * @var string */ public $subpartitionBy; /** * The number of subpartitions. * * @var int */ public $subpartitionsNum; /** * The partition of the new table. * * @var PartitionDefinition[] */ public $partitions; /** * If `CREATE TRIGGER` the name of the table. * * Used by `CREATE TRIGGER`. * * @var Expression */ public $table; /** * The return data type of this routine. * * Used by `CREATE FUNCTION`. * * @var DataType */ public $return; /** * The parameters of this routine. * * Used by `CREATE FUNCTION` and `CREATE PROCEDURE`. * * @var ParameterDefinition[] */ public $parameters; /** * The body of this function or procedure. For views, it is the select * statement that gets the. * * Used by `CREATE FUNCTION`, `CREATE PROCEDURE` and `CREATE VIEW`. * * @var Token[]|string */ public $body = array(); /** * @return string */ public function build() { $fields = ''; if (! empty($this->fields)) { if (is_array($this->fields)) { $fields = CreateDefinition::build($this->fields) . ' '; } elseif ($this->fields instanceof ArrayObj) { $fields = ArrayObj::build($this->fields); } } if ($this->options->has('DATABASE') || $this->options->has('SCHEMA')) { return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' ' . OptionsArray::build($this->entityOptions); } elseif ($this->options->has('TABLE')) { if (! is_null($this->select)) { return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' ' . $this->select->build(); } elseif (! is_null($this->like)) { return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' LIKE ' . Expression::build($this->like); } else { $partition = ''; if (! empty($this->partitionBy)) { $partition .= "\nPARTITION BY " . $this->partitionBy; } if (! empty($this->partitionsNum)) { $partition .= "\nPARTITIONS " . $this->partitionsNum; } if (! empty($this->subpartitionBy)) { $partition .= "\nSUBPARTITION BY " . $this->subpartitionBy; } if (! empty($this->subpartitionsNum)) { $partition .= "\nSUBPARTITIONS " . $this->subpartitionsNum; } if (! empty($this->partitions)) { $partition .= "\n" . PartitionDefinition::build($this->partitions); } return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' ' . $fields . OptionsArray::build($this->entityOptions) . $partition; } } elseif ($this->options->has('VIEW')) { return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' ' . $fields . ' AS ' . TokensList::build($this->body) . ' ' . OptionsArray::build($this->entityOptions); } elseif ($this->options->has('TRIGGER')) { return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' ' . OptionsArray::build($this->entityOptions) . ' ' . 'ON ' . Expression::build($this->table) . ' ' . 'FOR EACH ROW ' . TokensList::build($this->body); } elseif ($this->options->has('PROCEDURE') || $this->options->has('FUNCTION') ) { $tmp = ''; if ($this->options->has('FUNCTION')) { $tmp = 'RETURNS ' . DataType::build($this->return); } return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' ' . ParameterDefinition::build($this->parameters) . ' ' . $tmp . ' ' . TokensList::build($this->body); } return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' ' . TokensList::build($this->body); } /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { ++$list->idx; // Skipping `CREATE`. // Parsing options. $this->options = OptionsArray::parse($parser, $list, static::$OPTIONS); ++$list->idx; // Skipping last option. $isDatabase = $this->options->has('DATABASE') || $this->options->has('SCHEMA'); $fieldName = $isDatabase ? 'database' : 'table'; // Parsing the field name. $this->name = Expression::parse( $parser, $list, array( 'parseField' => $fieldName, 'breakOnAlias' => true ) ); if (! isset($this->name) || ($this->name === '')) { $parser->error( 'The name of the entity was expected.', $list->tokens[$list->idx] ); } else { ++$list->idx; // Skipping field. } /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; $nextidx = $list->idx + 1; while ($nextidx < $list->count && $list->tokens[$nextidx]->type === Token::TYPE_WHITESPACE) { ++$nextidx; } if ($isDatabase) { $this->entityOptions = OptionsArray::parse( $parser, $list, static::$DB_OPTIONS ); } elseif ($this->options->has('TABLE')) { if (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'SELECT')) { /* CREATE TABLE ... SELECT */ $this->select = new SelectStatement($parser, $list); } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'AS') && ($list->tokens[$nextidx]->type === Token::TYPE_KEYWORD) && ($list->tokens[$nextidx]->value === 'SELECT')) { /* CREATE TABLE ... AS SELECT */ $list->idx = $nextidx; $this->select = new SelectStatement($parser, $list); } elseif ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'LIKE') { /* CREATE TABLE `new_tbl` LIKE 'orig_tbl' */ $list->idx = $nextidx; $this->like = Expression::parse( $parser, $list, array( 'parseField' => 'table', 'breakOnAlias' => true ) ); // The 'LIKE' keyword was found, but no table_name was found next to it if (is_null($this->like)) { $parser->error( 'A table name was expected.', $list->tokens[$list->idx] ); } } else { $this->fields = CreateDefinition::parse($parser, $list); if (empty($this->fields)) { $parser->error( 'At least one column definition was expected.', $list->tokens[$list->idx] ); } ++$list->idx; $this->entityOptions = OptionsArray::parse( $parser, $list, static::$TABLE_OPTIONS ); /** * The field that is being filled (`partitionBy` or * `subpartitionBy`). * * @var string */ $field = null; /** * The number of brackets. `false` means no bracket was found * previously. At least one bracket is required to validate the * expression. * * @var int|bool */ $brackets = false; /* * Handles partitions. */ for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping comments. if ($token->type === Token::TYPE_COMMENT) { continue; } if (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'PARTITION BY')) { $field = 'partitionBy'; $brackets = false; } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'SUBPARTITION BY')) { $field = 'subpartitionBy'; $brackets = false; } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'PARTITIONS')) { $token = $list->getNextOfType(Token::TYPE_NUMBER); --$list->idx; // `getNextOfType` also advances one position. $this->partitionsNum = $token->value; } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'SUBPARTITIONS')) { $token = $list->getNextOfType(Token::TYPE_NUMBER); --$list->idx; // `getNextOfType` also advances one position. $this->subpartitionsNum = $token->value; } elseif (! empty($field)) { /* * Handling the content of `PARTITION BY` and `SUBPARTITION BY`. */ // Counting brackets. if ($token->type === Token::TYPE_OPERATOR) { if ($token->value === '(') { // This is used instead of `++$brackets` because, // initially, `$brackets` is `false` cannot be // incremented. $brackets = $brackets + 1; } elseif ($token->value === ')') { --$brackets; } } // Building the expression used for partitioning. $this->$field .= ($token->type === Token::TYPE_WHITESPACE) ? ' ' : $token->token; // Last bracket was read, the expression ended. // Comparing with `0` and not `false`, because `false` means // that no bracket was found and at least one must is // required. if ($brackets === 0) { $this->$field = trim($this->$field); $field = null; } } elseif (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { if (! empty($this->partitionBy)) { $this->partitions = ArrayObj::parse( $parser, $list, array( 'type' => 'PhpMyAdmin\\SqlParser\\Components\\PartitionDefinition' ) ); } break; } } } } elseif ($this->options->has('PROCEDURE') || $this->options->has('FUNCTION') ) { $this->parameters = ParameterDefinition::parse($parser, $list); if ($this->options->has('FUNCTION')) { $prev_token = $token; $token = $list->getNextOfType(Token::TYPE_KEYWORD); if (is_null($token) || $token->keyword !== 'RETURNS') { $parser->error( 'A "RETURNS" keyword was expected.', is_null($token) ? $prev_token : $token ); } else { ++$list->idx; $this->return = DataType::parse( $parser, $list ); } } ++$list->idx; $this->entityOptions = OptionsArray::parse( $parser, $list, static::$FUNC_OPTIONS ); ++$list->idx; for (; $list->idx < $list->count; ++$list->idx) { $token = $list->tokens[$list->idx]; $this->body[] = $token; } } elseif ($this->options->has('VIEW')) { $token = $list->getNext(); // Skipping whitespaces and comments. // Parsing columns list. if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) { --$list->idx; // getNext() also goes forward one field. $this->fields = ArrayObj::parse($parser, $list); ++$list->idx; // Skipping last token from the array. $list->getNext(); } // Parsing the `AS` keyword. for (; $list->idx < $list->count; ++$list->idx) { $token = $list->tokens[$list->idx]; if ($token->type === Token::TYPE_DELIMITER) { break; } $this->body[] = $token; } } elseif ($this->options->has('TRIGGER')) { // Parsing the time and the event. $this->entityOptions = OptionsArray::parse( $parser, $list, static::$TRIGGER_OPTIONS ); ++$list->idx; $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'ON'); ++$list->idx; // Skipping `ON`. // Parsing the name of the table. $this->table = Expression::parse( $parser, $list, array( 'parseField' => 'table', 'breakOnAlias' => true ) ); ++$list->idx; $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'FOR EACH ROW'); ++$list->idx; // Skipping `FOR EACH ROW`. for (; $list->idx < $list->count; ++$list->idx) { $token = $list->tokens[$list->idx]; $this->body[] = $token; } } else { for (; $list->idx < $list->count; ++$list->idx) { $token = $list->tokens[$list->idx]; if ($token->type === Token::TYPE_DELIMITER) { break; } $this->body[] = $token; } } } } sql-parser-4.6.1/src/Statements/DeleteStatement.php000066400000000000000000000267311363525634600223570ustar00rootroot00000000000000 1, 'QUICK' => 2, 'IGNORE' => 3 ); /** * The clauses of this statement, in order. * * @see Statement::$CLAUSES * * @var array */ public static $CLAUSES = array( 'DELETE' => array( 'DELETE', 2, ), // Used for options. '_OPTIONS' => array( '_OPTIONS', 1, ), 'FROM' => array( 'FROM', 3, ), 'PARTITION' => array( 'PARTITION', 3, ), 'USING' => array( 'USING', 3, ), 'WHERE' => array( 'WHERE', 3, ), 'ORDER BY' => array( 'ORDER BY', 3, ), 'LIMIT' => array( 'LIMIT', 3, ) ); /** * Table(s) used as sources for this statement. * * @var Expression[] */ public $from; /** * Joins. * * @var JoinKeyword[] */ public $join; /** * Tables used as sources for this statement. * * @var Expression[] */ public $using; /** * Columns used in this statement. * * @var Expression[] */ public $columns; /** * Partitions used as source for this statement. * * @var ArrayObj */ public $partition; /** * Conditions used for filtering each row of the result set. * * @var Condition[] */ public $where; /** * Specifies the order of the rows in the result set. * * @var OrderKeyword[] */ public $order; /** * Conditions used for limiting the size of the result set. * * @var Limit */ public $limit; /** * @return string */ public function build() { $ret = 'DELETE ' . OptionsArray::build($this->options); if (! is_null($this->columns) && count($this->columns) > 0) { $ret .= ' ' . ExpressionArray::build($this->columns); } if (! is_null($this->from) && count($this->from) > 0) { $ret .= ' FROM ' . ExpressionArray::build($this->from); } if (! is_null($this->join) && count($this->join) > 0) { $ret .= ' ' . JoinKeyword::build($this->join); } if (! is_null($this->using) && count($this->using) > 0) { $ret .= ' USING ' . ExpressionArray::build($this->using); } if (! is_null($this->where) && count($this->where) > 0) { $ret .= ' WHERE ' . Condition::build($this->where); } if (! is_null($this->order) && count($this->order) > 0) { $ret .= ' ORDER BY ' . ExpressionArray::build($this->order); } if (! is_null($this->limit) && strlen($this->limit) > 0) { $ret .= ' LIMIT ' . Limit::build($this->limit); } return $ret; } /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { ++$list->idx; // Skipping `DELETE`. // parse any options if provided $this->options = OptionsArray::parse( $parser, $list, static::$OPTIONS ); ++$list->idx; /** * The state of the parser. * * Below are the states of the parser. * * 0 ---------------------------------[ FROM ]----------------------------------> 2 * 0 ------------------------------[ table[.*] ]--------------------------------> 1 * 1 ---------------------------------[ FROM ]----------------------------------> 2 * 2 --------------------------------[ USING ]----------------------------------> 3 * 2 --------------------------------[ WHERE ]----------------------------------> 4 * 2 --------------------------------[ ORDER ]----------------------------------> 5 * 2 --------------------------------[ LIMIT ]----------------------------------> 6 * * @var int */ $state = 0; /** * If the query is multi-table or not. * * @var bool */ $multiTable = false; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } if ($state === 0) { if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword !== 'FROM') { $parser->error('Unexpected keyword.', $token); break; } else { ++$list->idx; // Skip 'FROM' $this->from = ExpressionArray::parse($parser, $list); $state = 2; } } else { $this->columns = ExpressionArray::parse($parser, $list); $state = 1; } } elseif ($state === 1) { if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword !== 'FROM') { $parser->error('Unexpected keyword.', $token); break; } else { ++$list->idx; // Skip 'FROM' $this->from = ExpressionArray::parse($parser, $list); $state = 2; } } else { $parser->error('Unexpected token.', $token); break; } } elseif ($state === 2) { if ($token->type === Token::TYPE_KEYWORD) { if (stripos($token->keyword, 'JOIN') !== false) { ++$list->idx; $this->join = JoinKeyword::parse($parser, $list); // remain in state = 2 } else { switch ($token->keyword) { case 'USING': ++$list->idx; // Skip 'USING' $this->using = ExpressionArray::parse($parser, $list); $state = 3; $multiTable = true; break; case 'WHERE': ++$list->idx; // Skip 'WHERE' $this->where = Condition::parse($parser, $list); $state = 4; break; case 'ORDER BY': ++$list->idx; // Skip 'ORDER BY' $this->order = OrderKeyword::parse($parser, $list); $state = 5; break; case 'LIMIT': ++$list->idx; // Skip 'LIMIT' $this->limit = Limit::parse($parser, $list); $state = 6; break; default: $parser->error('Unexpected keyword.', $token); break 2; } } } } elseif ($state === 3) { if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword === 'WHERE') { ++$list->idx; // Skip 'WHERE' $this->where = Condition::parse($parser, $list); $state = 4; } else { $parser->error('Unexpected keyword.', $token); break; } } else { $parser->error('Unexpected token.', $token); break; } } elseif ($state === 4) { if ($multiTable === true && $token->type === Token::TYPE_KEYWORD ) { $parser->error( 'This type of clause is not valid in Multi-table queries.', $token ); break; } if ($token->type === Token::TYPE_KEYWORD) { switch ($token->keyword) { case 'ORDER BY': ++$list->idx; // Skip 'ORDER BY' $this->order = OrderKeyword::parse($parser, $list); $state = 5; break; case 'LIMIT': ++$list->idx; // Skip 'LIMIT' $this->limit = Limit::parse($parser, $list); $state = 6; break; default: $parser->error('Unexpected keyword.', $token); break 2; } } } elseif ($state === 5) { if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword === 'LIMIT') { ++$list->idx; // Skip 'LIMIT' $this->limit = Limit::parse($parser, $list); $state = 6; } else { $parser->error('Unexpected keyword.', $token); break; } } } } if ($state >= 2) { foreach ($this->from as $from_expr) { $from_expr->database = $from_expr->table; $from_expr->table = $from_expr->column; $from_expr->column = null; } } --$list->idx; } } sql-parser-4.6.1/src/Statements/DropStatement.php000066400000000000000000000027751363525634600220630ustar00rootroot00000000000000 1, 'EVENT' => 1, 'FUNCTION' => 1, 'INDEX' => 1, 'LOGFILE' => 1, 'PROCEDURE' => 1, 'SCHEMA' => 1, 'SERVER' => 1, 'TABLE' => 1, 'VIEW' => 1, 'TABLESPACE' => 1, 'TRIGGER' => 1, 'USER' => 1, 'TEMPORARY' => 2, 'IF EXISTS' => 3 ); /** * The clauses of this statement, in order. * * @see Statement::$CLAUSES * * @var array */ public static $CLAUSES = array( 'DROP' => array( 'DROP', 2, ), // Used for options. '_OPTIONS' => array( '_OPTIONS', 1, ), // Used for select expressions. 'DROP_' => array( 'DROP', 1, ), 'ON' => array( 'ON', 3, ) ); /** * Dropped elements. * * @var Expression[] */ public $fields; /** * Table of the dropped index. * * @var Expression */ public $table; } sql-parser-4.6.1/src/Statements/ExplainStatement.php000066400000000000000000000004201363525634600225400ustar00rootroot00000000000000 1, 'DELAYED' => 2, 'HIGH_PRIORITY' => 3, 'IGNORE' => 4 ); /** * Tables used as target for this statement. * * @var IntoKeyword */ public $into; /** * Values to be inserted. * * @var ArrayObj[]|null */ public $values; /** * If SET clause is present * holds the SetOperation. * * @var SetOperation[] */ public $set; /** * If SELECT clause is present * holds the SelectStatement. * * @var SelectStatement */ public $select; /** * If ON DUPLICATE KEY UPDATE clause is present * holds the SetOperation. * * @var SetOperation[] */ public $onDuplicateSet; /** * @return string */ public function build() { $ret = 'INSERT ' . $this->options; $ret = trim($ret) . ' INTO ' . $this->into; if (! is_null($this->values) && count($this->values) > 0) { $ret .= ' VALUES ' . Array2d::build($this->values); } elseif (! is_null($this->set) && count($this->set) > 0) { $ret .= ' SET ' . SetOperation::build($this->set); } elseif (! is_null($this->select) && strlen($this->select) > 0) { $ret .= ' ' . $this->select->build(); } if (! is_null($this->onDuplicateSet) && count($this->onDuplicateSet) > 0) { $ret .= ' ON DUPLICATE KEY UPDATE ' . SetOperation::build($this->onDuplicateSet); } return $ret; } /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { ++$list->idx; // Skipping `INSERT`. // parse any options if provided $this->options = OptionsArray::parse( $parser, $list, static::$OPTIONS ); ++$list->idx; /** * The state of the parser. * * Below are the states of the parser. * * 0 ---------------------------------[ INTO ]----------------------------------> 1 * * 1 -------------------------[ VALUES/VALUE/SET/SELECT ]-----------------------> 2 * * 2 -------------------------[ ON DUPLICATE KEY UPDATE ]-----------------------> 3 * * @var int */ $state = 0; /** * For keeping track of semi-states on encountering * ON DUPLICATE KEY UPDATE ... */ $miniState = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword !== 'INTO' ) { $parser->error('Unexpected keyword.', $token); break; } ++$list->idx; $this->into = IntoKeyword::parse( $parser, $list, array('fromInsert' => true) ); $state = 1; } elseif ($state === 1) { if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword === 'VALUE' || $token->keyword === 'VALUES' ) { ++$list->idx; // skip VALUES $this->values = Array2d::parse($parser, $list); } elseif ($token->keyword === 'SET') { ++$list->idx; // skip SET $this->set = SetOperation::parse($parser, $list); } elseif ($token->keyword === 'SELECT') { $this->select = new SelectStatement($parser, $list); } else { $parser->error( 'Unexpected keyword.', $token ); break; } $state = 2; $miniState = 1; } else { $parser->error( 'Unexpected token.', $token ); break; } } elseif ($state === 2) { $lastCount = $miniState; if ($miniState === 1 && $token->keyword === 'ON') { ++$miniState; } elseif ($miniState === 2 && $token->keyword === 'DUPLICATE') { ++$miniState; } elseif ($miniState === 3 && $token->keyword === 'KEY') { ++$miniState; } elseif ($miniState === 4 && $token->keyword === 'UPDATE') { ++$miniState; } if ($lastCount === $miniState) { $parser->error( 'Unexpected token.', $token ); break; } if ($miniState === 5) { ++$list->idx; $this->onDuplicateSet = SetOperation::parse($parser, $list); $state = 3; } } } --$list->idx; } } sql-parser-4.6.1/src/Statements/LoadStatement.php000066400000000000000000000260421363525634600220270ustar00rootroot00000000000000 1, 'CONCURRENT' => 1, 'LOCAL' => 2 ); /** * FIELDS/COLUMNS Options for `LOAD DATA...INFILE` statements. * * @var array */ public static $FIELDS_OPTIONS = array( 'TERMINATED BY' => array( 1, 'expr', ), 'OPTIONALLY' => 2, 'ENCLOSED BY' => array( 3, 'expr', ), 'ESCAPED BY' => array( 4, 'expr', ) ); /** * LINES Options for `LOAD DATA...INFILE` statements. * * @var array */ public static $LINES_OPTIONS = array( 'STARTING BY' => array( 1, 'expr', ), 'TERMINATED BY' => array( 2, 'expr', ) ); /** * File name being used to load data. * * @var Expression */ public $file_name; /** * Table used as destination for this statement. * * @var Expression */ public $table; /** * Partitions used as source for this statement. * * @var ArrayObj */ public $partition; /** * Character set used in this statement. * * @var Expression */ public $charset_name; /** * Options for FIELDS/COLUMNS keyword. * * @var OptionsArray * * @see static::$FIELDS_OPTIONS */ public $fields_options; /** * Whether to use `FIELDS` or `COLUMNS` while building. * * @var string */ public $fields_keyword; /** * Options for OPTIONS keyword. * * @var OptionsArray * * @see static::$LINES_OPTIONS */ public $lines_options; /** * Column names or user variables. * * @var Expression[] */ public $col_name_or_user_var; /** * SET clause's updated values(optional). * * @var SetOperation[] */ public $set; /** * Ignore 'number' LINES/ROWS. * * @var Expression */ public $ignore_number; /** * REPLACE/IGNORE Keyword. * * @var string */ public $replace_ignore; /** * LINES/ROWS Keyword. * * @var string */ public $lines_rows; /** * @return string */ public function build() { $ret = 'LOAD DATA ' . $this->options . ' INFILE ' . $this->file_name; if ($this->replace_ignore !== null) { $ret .= ' ' . trim($this->replace_ignore); } $ret .= ' INTO TABLE ' . $this->table; if ($this->partition !== null && strlen($this->partition) > 0) { $ret .= ' PARTITION ' . ArrayObj::build($this->partition); } if ($this->charset_name !== null) { $ret .= ' CHARACTER SET ' . $this->charset_name; } if ($this->fields_keyword !== null) { $ret .= ' ' . $this->fields_keyword . ' ' . $this->fields_options; } if ($this->lines_options !== null && strlen($this->lines_options) > 0) { $ret .= ' LINES ' . $this->lines_options; } if ($this->ignore_number !== null) { $ret .= ' IGNORE ' . $this->ignore_number . ' ' . $this->lines_rows; } if ($this->col_name_or_user_var !== null && count($this->col_name_or_user_var) > 0) { $ret .= ' ' . ExpressionArray::build($this->col_name_or_user_var); } if ($this->set !== null && count($this->set) > 0) { $ret .= ' SET ' . SetOperation::build($this->set); } return $ret; } /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { ++$list->idx; // Skipping `LOAD DATA`. // parse any options if provided $this->options = OptionsArray::parse( $parser, $list, static::$OPTIONS ); ++$list->idx; /** * The state of the parser. * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword !== 'INFILE' ) { $parser->error('Unexpected keyword.', $token); break; } elseif ($token->type !== Token::TYPE_KEYWORD) { $parser->error('Unexpected token.', $token); break; } ++$list->idx; $this->file_name = Expression::parse( $parser, $list, array('parseField' => 'file') ); $state = 1; } elseif ($state === 1) { if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword === 'REPLACE' || $token->keyword === 'IGNORE') { $this->replace_ignore = trim($token->keyword); } elseif ($token->keyword === 'INTO') { $state = 2; } } } elseif ($state === 2) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'TABLE' ) { ++$list->idx; $this->table = Expression::parse($parser, $list, array('parseField' => 'table')); $state = 3; } else { $parser->error('Unexpected token.', $token); break; } } elseif ($state >= 3 && $state <= 7) { if ($token->type === Token::TYPE_KEYWORD) { $newState = $this->parseKeywordsAccordingToState( $parser, $list, $state ); if ($newState === $state) { // Avoid infinite loop break; } } elseif ($token->type === Token::TYPE_OPERATOR && $token->token === '(' ) { $this->col_name_or_user_var = ExpressionArray::parse($parser, $list); $state = 7; } else { $parser->error('Unexpected token.', $token); break; } } } --$list->idx; } public function parseFileOptions(Parser $parser, TokensList $list, $keyword = 'FIELDS') { ++$list->idx; if ($keyword === 'FIELDS' || $keyword === 'COLUMNS') { // parse field options $this->fields_options = OptionsArray::parse( $parser, $list, static::$FIELDS_OPTIONS ); $this->fields_keyword = $keyword; } else { // parse line options $this->lines_options = OptionsArray::parse( $parser, $list, static::$LINES_OPTIONS ); } } public function parseKeywordsAccordingToState($parser, $list, $state) { $token = $list->tokens[$list->idx]; switch ($state) { case 3: if ($token->keyword === 'PARTITION') { ++$list->idx; $this->partition = ArrayObj::parse($parser, $list); $state = 4; return $state; } // no break case 4: if ($token->keyword === 'CHARACTER SET') { ++$list->idx; $this->charset_name = Expression::parse($parser, $list); $state = 5; return $state; } // no break case 5: if ($token->keyword === 'FIELDS' || $token->keyword === 'COLUMNS' || $token->keyword === 'LINES' ) { $this->parseFileOptions($parser, $list, $token->value); $state = 6; return $state; } // no break case 6: if ($token->keyword === 'IGNORE') { ++$list->idx; $this->ignore_number = Expression::parse($parser, $list); $nextToken = $list->getNextOfType(Token::TYPE_KEYWORD); if ($nextToken->type === Token::TYPE_KEYWORD && (($nextToken->keyword === 'LINES') || ($nextToken->keyword === 'ROWS')) ) { $this->lines_rows = $nextToken->token; } $state = 7; return $state; } // no break case 7: if ($token->keyword === 'SET') { ++$list->idx; $this->set = SetOperation::parse($parser, $list); $state = 8; return $state; } // no break default: } return $state; } } sql-parser-4.6.1/src/Statements/LockStatement.php000066400000000000000000000067341363525634600220460ustar00rootroot00000000000000tokens[$list->idx]->value === 'UNLOCK') { // this is in fact an UNLOCK statement $this->isLock = false; } ++$list->idx; // Skipping `LOCK`. /** * The state of the parser. * * Below are the states of the parser. * * 0 ---------------- [ TABLES ] -----------------> 1 * 1 -------------- [ lock_expr ] ----------------> 2 * 2 ------------------ [ , ] --------------------> 1 * * @var int */ $state = 0; /** * Previous parsed token */ $prevToken = null; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword !== 'TABLES') { $parser->error('Unexpected keyword.', $token); break; } $state = 1; continue; } else { $parser->error('Unexpected token.', $token); break; } } elseif ($state === 1) { if (! $this->isLock) { // UNLOCK statement should not have any more tokens $parser->error('Unexpected token.', $token); break; } $this->locked[] = LockExpression::parse($parser, $list); $state = 2; } elseif ($state === 2) { if ($token->value === ',') { // move over to parsing next lock expression $state = 1; } } $prevToken = $token; } if ($state !== 2 && $prevToken != null) { $parser->error('Unexpected end of LOCK statement.', $prevToken); } } /** * @return string */ public function build() { return trim(($this->isLock ? 'LOCK' : 'UNLOCK') . ' TABLES ' . LockExpression::build($this->locked)); } } sql-parser-4.6.1/src/Statements/MaintenanceStatement.php000066400000000000000000000030471363525634600233720ustar00rootroot00000000000000idx; $this->options->merge( OptionsArray::parse( $parser, $list, static::$OPTIONS ) ); } } sql-parser-4.6.1/src/Statements/NotImplementedStatement.php000066400000000000000000000026521363525634600240750ustar00rootroot00000000000000unknown as $token) { $query .= $token->token; } return $query; } /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { for (; $list->idx < $list->count; ++$list->idx) { if ($list->tokens[$list->idx]->type === Token::TYPE_DELIMITER) { break; } $this->unknown[] = $list->tokens[$list->idx]; } } } sql-parser-4.6.1/src/Statements/OptimizeStatement.php000066400000000000000000000013151363525634600227440ustar00rootroot00000000000000 1, 'NO_WRITE_TO_BINLOG' => 2, 'LOCAL' => 3 ); /** * Optimized tables. * * @var Expression[] */ public $tables; } sql-parser-4.6.1/src/Statements/PurgeStatement.php000066400000000000000000000075271363525634600222410ustar00rootroot00000000000000log_type . ' ' . 'LOGS ' . ($this->end_option !== null ? ($this->end_option . ' ' . $this->end_expr) : ''); return trim($ret); } /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { ++$list->idx; // Skipping `PURGE`. /** * The state of the parser. * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } switch ($state) { case 0: // parse `{ BINARY | MASTER }` $this->log_type = self::parseExpectedKeyword($parser, $token, array('BINARY', 'MASTER')); break; case 1: // parse `LOGS` self::parseExpectedKeyword($parser, $token, array('LOGS')); break; case 2: // parse `{ TO | BEFORE }` $this->end_option = self::parseExpectedKeyword($parser, $token, array('TO', 'BEFORE')); break; case 3: // parse `expr` $this->end_expr = Expression::parse($parser, $list, array()); break; default: $parser->error('Unexpected token.', $token); break; } $state++; $prevToken = $token; } // Only one possible end state if ($state != 4) { $parser->error('Unexpected token.', $prevToken); } } /** * Parse expected keyword (or throw relevant error) * * @param Parser $parser the instance that requests parsing * @param Token $token token to be parsed * @param Array $expected_keywords array of possibly expected keywords at this point */ private static function parseExpectedKeyword($parser, $token, $expected_keywords) { if ($token->type === Token::TYPE_KEYWORD) { if (in_array($token->keyword, $expected_keywords)) { return $token->keyword; } else { $parser->error('Unexpected keyword', $token); } } else { $parser->error('Unexpected token.', $token); } return null; } } sql-parser-4.6.1/src/Statements/RenameStatement.php000066400000000000000000000026511363525634600223570ustar00rootroot00000000000000type === Token::TYPE_KEYWORD) && ($token->keyword === 'RENAME')) { // Checking if it is the beginning of the query. $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'TABLE'); } } /** * @return string */ public function build() { return 'RENAME TABLE ' . RenameOperation::build($this->renames); } } sql-parser-4.6.1/src/Statements/RepairStatement.php000066400000000000000000000012061363525634600223650ustar00rootroot00000000000000 1, 'NO_WRITE_TO_BINLOG' => 2, 'LOCAL' => 3, 'QUICK' => 4, 'EXTENDED' => 5, 'USE_FRM' => 6 ); } sql-parser-4.6.1/src/Statements/ReplaceStatement.php000066400000000000000000000123471363525634600225260ustar00rootroot00000000000000 1, 'DELAYED' => 1 ); /** * Tables used as target for this statement. * * @var IntoKeyword */ public $into; /** * Values to be replaced. * * @var Array2d */ public $values; /** * If SET clause is present * holds the SetOperation. * * @var SetOperation[] */ public $set; /** * If SELECT clause is present * holds the SelectStatement. * * @var SelectStatement */ public $select; /** * @return string */ public function build() { $ret = 'REPLACE ' . $this->options; $ret = trim($ret) . ' INTO ' . $this->into; if (! is_null($this->values) && count($this->values) > 0) { $ret .= ' VALUES ' . Array2d::build($this->values); } elseif (! is_null($this->set) && count($this->set) > 0) { $ret .= ' SET ' . SetOperation::build($this->set); } elseif (! is_null($this->select) && strlen($this->select) > 0) { $ret .= ' ' . $this->select->build(); } return $ret; } /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { ++$list->idx; // Skipping `REPLACE`. // parse any options if provided $this->options = OptionsArray::parse( $parser, $list, static::$OPTIONS ); ++$list->idx; /** * The state of the parser. * * Below are the states of the parser. * * 0 ---------------------------------[ INTO ]----------------------------------> 1 * * 1 -------------------------[ VALUES/VALUE/SET/SELECT ]-----------------------> 2 * * @var int */ $state = 0; for (; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $token = $list->tokens[$list->idx]; // End of statement. if ($token->type === Token::TYPE_DELIMITER) { break; } // Skipping whitespaces and comments. if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) { continue; } if ($state === 0) { if ($token->type === Token::TYPE_KEYWORD && $token->keyword !== 'INTO' ) { $parser->error('Unexpected keyword.', $token); break; } ++$list->idx; $this->into = IntoKeyword::parse( $parser, $list, array('fromReplace' => true) ); $state = 1; } elseif ($state === 1) { if ($token->type === Token::TYPE_KEYWORD) { if ($token->keyword === 'VALUE' || $token->keyword === 'VALUES' ) { ++$list->idx; // skip VALUES $this->values = Array2d::parse($parser, $list); } elseif ($token->keyword === 'SET') { ++$list->idx; // skip SET $this->set = SetOperation::parse($parser, $list); } elseif ($token->keyword === 'SELECT') { $this->select = new SelectStatement($parser, $list); } else { $parser->error( 'Unexpected keyword.', $token ); break; } $state = 2; } else { $parser->error( 'Unexpected token.', $token ); break; } } } --$list->idx; } } sql-parser-4.6.1/src/Statements/RestoreStatement.php000066400000000000000000000010561363525634600225710ustar00rootroot00000000000000 1, 'FROM' => array( 2, 'var', ) ); } sql-parser-4.6.1/src/Statements/SelectStatement.php000066400000000000000000000170411363525634600223660ustar00rootroot00000000000000 1, 'DISTINCT' => 1, 'DISTINCTROW' => 1, 'HIGH_PRIORITY' => 2, 'MAX_STATEMENT_TIME' => array( 3, 'var=', ), 'STRAIGHT_JOIN' => 4, 'SQL_SMALL_RESULT' => 5, 'SQL_BIG_RESULT' => 6, 'SQL_BUFFER_RESULT' => 7, 'SQL_CACHE' => 8, 'SQL_NO_CACHE' => 8, 'SQL_CALC_FOUND_ROWS' => 9 ); public static $END_OPTIONS = array( 'FOR UPDATE' => 1, 'LOCK IN SHARE MODE' => 1 ); /** * The clauses of this statement, in order. * * @see Statement::$CLAUSES * * @var array */ public static $CLAUSES = array( 'SELECT' => array( 'SELECT', 2, ), // Used for options. '_OPTIONS' => array( '_OPTIONS', 1, ), // Used for selected expressions. '_SELECT' => array( 'SELECT', 1, ), 'INTO' => array( 'INTO', 3, ), 'FROM' => array( 'FROM', 3, ), 'FORCE' => array( 'FORCE', 1, ), 'USE' => array( 'USE', 1, ), 'IGNORE' => array( 'IGNORE', 3, ), 'PARTITION' => array( 'PARTITION', 3, ), 'JOIN' => array( 'JOIN', 1, ), 'FULL JOIN' => array( 'FULL JOIN', 1, ), 'INNER JOIN' => array( 'INNER JOIN', 1, ), 'LEFT JOIN' => array( 'LEFT JOIN', 1, ), 'LEFT OUTER JOIN' => array( 'LEFT OUTER JOIN', 1, ), 'RIGHT JOIN' => array( 'RIGHT JOIN', 1, ), 'RIGHT OUTER JOIN' => array( 'RIGHT OUTER JOIN', 1, ), 'NATURAL JOIN' => array( 'NATURAL JOIN', 1, ), 'NATURAL LEFT JOIN' => array( 'NATURAL LEFT JOIN', 1, ), 'NATURAL RIGHT JOIN' => array( 'NATURAL RIGHT JOIN', 1, ), 'NATURAL LEFT OUTER JOIN' => array( 'NATURAL LEFT OUTER JOIN', 1, ), 'NATURAL RIGHT OUTER JOIN' => array( 'NATURAL RIGHT JOIN', 1, ), 'WHERE' => array( 'WHERE', 3, ), 'GROUP BY' => array( 'GROUP BY', 3, ), 'HAVING' => array( 'HAVING', 3, ), 'ORDER BY' => array( 'ORDER BY', 3, ), 'LIMIT' => array( 'LIMIT', 3, ), 'PROCEDURE' => array( 'PROCEDURE', 3, ), 'UNION' => array( 'UNION', 1, ), 'EXCEPT' => array( 'EXCEPT', 1, ), 'INTERSECT' => array( 'INTERSECT', 1, ), '_END_OPTIONS' => array( '_END_OPTIONS', 1, ), // These are available only when `UNION` is present. // 'ORDER BY' => array('ORDER BY', 3), // 'LIMIT' => array('LIMIT', 3) ); /** * Expressions that are being selected by this statement. * * @var Expression[] */ public $expr = array(); /** * Tables used as sources for this statement. * * @var Expression[] */ public $from = array(); /** * Index hints * * @var IndexHint[] */ public $index_hints; /** * Partitions used as source for this statement. * * @var ArrayObj */ public $partition; /** * Conditions used for filtering each row of the result set. * * @var Condition[] */ public $where; /** * Conditions used for grouping the result set. * * @var OrderKeyword[] */ public $group; /** * Conditions used for filtering the result set. * * @var Condition[] */ public $having; /** * Specifies the order of the rows in the result set. * * @var OrderKeyword[] */ public $order; /** * Conditions used for limiting the size of the result set. * * @var Limit */ public $limit; /** * Procedure that should process the data in the result set. * * @var FunctionCall */ public $procedure; /** * Destination of this result set. * * @var IntoKeyword */ public $into; /** * Joins. * * @var JoinKeyword[] */ public $join; /** * Unions. * * @var SelectStatement[] */ public $union = array(); /** * The end options of this query. * * @var OptionsArray * * @see static::$END_OPTIONS */ public $end_options; /** * Gets the clauses of this statement. * * @return array */ public function getClauses() { // This is a cheap fix for `SELECT` statements that contain `UNION`. // The `ORDER BY` and `LIMIT` clauses should be at the end of the // statement. if (! empty($this->union)) { $clauses = static::$CLAUSES; unset($clauses['ORDER BY'], $clauses['LIMIT']); $clauses['ORDER BY'] = array( 'ORDER BY', 3 ); $clauses['LIMIT'] = array( 'LIMIT', 3 ); return $clauses; } return static::$CLAUSES; } } sql-parser-4.6.1/src/Statements/SetStatement.php000066400000000000000000000041171363525634600217020ustar00rootroot00000000000000 array( 'SET', 3 ), '_END_OPTIONS' => array( '_END_OPTIONS', 1 ) ); /** * Possible exceptions in SET statment. * * @var array */ public static $OPTIONS = array( 'CHARSET' => array( 3, 'var', ), 'CHARACTER SET' => array( 3, 'var', ), 'NAMES' => array( 3, 'var', ), 'PASSWORD' => array( 3, 'expr', ), 'SESSION' => 3, 'GLOBAL' => 3, 'PERSIST' => 3, 'PERSIST_ONLY' => 3, '@@SESSION' => 3, '@@GLOBAL' => 3, '@@PERSIST' => 3, '@@PERSIST_ONLY' => 3, ); public static $END_OPTIONS = array( 'COLLATE' => array( 1, 'var', ), 'DEFAULT' => 1 ); /** * Options used in current statement. * * @var OptionsArray[] */ public $options; /** * The end options of this query. * * @var OptionsArray * * @see static::$END_OPTIONS */ public $end_options; /** * The updated values. * * @var SetOperation[] */ public $set; /** * @return string */ public function build() { $ret = 'SET ' . OptionsArray::build($this->options) . ' ' . SetOperation::build($this->set) . ' ' . OptionsArray::build($this->end_options); return trim($ret); } } sql-parser-4.6.1/src/Statements/ShowStatement.php000066400000000000000000000025141363525634600220660ustar00rootroot00000000000000 1, 'AUTHORS' => 2, 'BINARY' => 2, 'BINLOG' => 2, 'CHARACTER' => 2, 'CODE' => 2, 'COLLATION' => 2, 'COLUMNS' => 2, 'CONTRIBUTORS' => 2, 'DATABASE' => 2, 'DATABASES' => 2, 'ENGINE' => 2, 'ENGINES' => 2, 'ERRORS' => 2, 'EVENT' => 2, 'EVENTS' => 2, 'FUNCTION' => 2, 'GRANTS' => 2, 'HOSTS' => 2, 'INDEX' => 2, 'INNODB' => 2, 'LOGS' => 2, 'MASTER' => 2, 'OPEN' => 2, 'PLUGINS' => 2, 'PRIVILEGES' => 2, 'PROCEDURE' => 2, 'PROCESSLIST' => 2, 'PROFILE' => 2, 'PROFILES' => 2, 'SCHEDULER' => 2, 'SET' => 2, 'SLAVE' => 2, 'STATUS' => 2, 'TABLE' => 2, 'TABLES' => 2, 'TRIGGER' => 2, 'TRIGGERS' => 2, 'VARIABLES' => 2, 'VIEW' => 2, 'WARNINGS' => 2 ); } sql-parser-4.6.1/src/Statements/TransactionStatement.php000066400000000000000000000046271363525634600234420ustar00rootroot00000000000000 1, 'BEGIN' => 1, 'COMMIT' => 1, 'ROLLBACK' => 1, 'WITH CONSISTENT SNAPSHOT' => 2, 'WORK' => 2, 'AND NO CHAIN' => 3, 'AND CHAIN' => 3, 'RELEASE' => 4, 'NO RELEASE' => 4 ); /** * @param Parser $parser the instance that requests parsing * @param TokensList $list the list of tokens to be parsed */ public function parse(Parser $parser, TokensList $list) { parent::parse($parser, $list); // Checks the type of this query. if ($this->options->has('START TRANSACTION') || $this->options->has('BEGIN') ) { $this->type = self::TYPE_BEGIN; } elseif ($this->options->has('COMMIT') || $this->options->has('ROLLBACK') ) { $this->type = self::TYPE_END; } } /** * @return string */ public function build() { $ret = OptionsArray::build($this->options); if ($this->type === self::TYPE_BEGIN) { foreach ($this->statements as $statement) { /* * @var SelectStatement $statement */ $ret .= ';' . $statement->build(); } $ret .= ';' . $this->end->build(); } return $ret; } } sql-parser-4.6.1/src/Statements/TruncateStatement.php000066400000000000000000000015061363525634600227330ustar00rootroot00000000000000 1 ); /** * The name of the truncated table. * * @var Expression */ public $table; /** * Special build method for truncate statement as Statement::build would return empty string. * * @return string */ public function build() { return 'TRUNCATE TABLE ' . $this->table . ';'; } } sql-parser-4.6.1/src/Statements/UpdateStatement.php000066400000000000000000000046211363525634600223710ustar00rootroot00000000000000 1, 'IGNORE' => 2 ); /** * The clauses of this statement, in order. * * @see Statement::$CLAUSES * * @var array */ public static $CLAUSES = array( 'UPDATE' => array( 'UPDATE', 2, ), // Used for options. '_OPTIONS' => array( '_OPTIONS', 1, ), // Used for updated tables. '_UPDATE' => array( 'UPDATE', 1, ), 'SET' => array( 'SET', 3, ), 'WHERE' => array( 'WHERE', 3, ), 'ORDER BY' => array( 'ORDER BY', 3, ), 'LIMIT' => array( 'LIMIT', 3, ) ); /** * Tables used as sources for this statement. * * @var Expression[] */ public $tables; /** * The updated values. * * @var SetOperation[] */ public $set; /** * Conditions used for filtering each row of the result set. * * @var Condition[] */ public $where; /** * Specifies the order of the rows in the result set. * * @var OrderKeyword[] */ public $order; /** * Conditions used for limiting the size of the result set. * * @var Limit */ public $limit; } sql-parser-4.6.1/src/Token.php000066400000000000000000000224171363525634600162160ustar00rootroot00000000000000, !==, etc. * Bitwise operators: &, |, ^, etc. * Assignment operators: =, +=, -=, etc. * SQL specific operators: . (e.g. .. WHERE database.table ..), * * (e.g. SELECT * FROM ..) * * @var int */ const TYPE_OPERATOR = 2; /** * Spaces, tabs, new lines, etc. * * @var int */ const TYPE_WHITESPACE = 3; /** * Any type of legal comment. * * Bash (#), C (/* *\/) or SQL (--) comments: * * -- SQL-comment * * #Bash-like comment * * /*C-like comment*\/ * * or: * * /*C-like * comment*\/ * * Backslashes were added to respect PHP's comments syntax. * * @var int */ const TYPE_COMMENT = 4; /** * Boolean values: true or false. * * @var int */ const TYPE_BOOL = 5; /** * Numbers: 4, 0x8, 15.16, 23e42, etc. * * @var int */ const TYPE_NUMBER = 6; /** * Literal strings: 'string', "test". * Some of these strings are actually symbols. * * @var int */ const TYPE_STRING = 7; /** * Database, table names, variables, etc. * For example: ```SELECT `foo`, `bar` FROM `database`.`table`;```. * * @var int */ const TYPE_SYMBOL = 8; /** * Delimits an unknown string. * For example: ```SELECT * FROM test;```, `test` is a delimiter. * * @var int */ const TYPE_DELIMITER = 9; /** * Labels in LOOP statement, ITERATE statement etc. * For example (only for begin label): * begin_label: BEGIN [statement_list] END [end_label] * begin_label: LOOP [statement_list] END LOOP [end_label] * begin_label: REPEAT [statement_list] ... END REPEAT [end_label] * begin_label: WHILE ... DO [statement_list] END WHILE [end_label]. * * @var int */ const TYPE_LABEL = 10; // Flags that describe the tokens in more detail. // All keywords must have flag 1 so `Context::isKeyword` method doesn't // require strict comparison. const FLAG_KEYWORD_RESERVED = 2; const FLAG_KEYWORD_COMPOSED = 4; const FLAG_KEYWORD_DATA_TYPE = 8; const FLAG_KEYWORD_KEY = 16; const FLAG_KEYWORD_FUNCTION = 32; // Numbers related flags. const FLAG_NUMBER_HEX = 1; const FLAG_NUMBER_FLOAT = 2; const FLAG_NUMBER_APPROXIMATE = 4; const FLAG_NUMBER_NEGATIVE = 8; const FLAG_NUMBER_BINARY = 16; // Strings related flags. const FLAG_STRING_SINGLE_QUOTES = 1; const FLAG_STRING_DOUBLE_QUOTES = 2; // Comments related flags. const FLAG_COMMENT_BASH = 1; const FLAG_COMMENT_C = 2; const FLAG_COMMENT_SQL = 4; const FLAG_COMMENT_MYSQL_CMD = 8; // Operators related flags. const FLAG_OPERATOR_ARITHMETIC = 1; const FLAG_OPERATOR_LOGICAL = 2; const FLAG_OPERATOR_BITWISE = 4; const FLAG_OPERATOR_ASSIGNMENT = 8; const FLAG_OPERATOR_SQL = 16; // Symbols related flags. const FLAG_SYMBOL_VARIABLE = 1; const FLAG_SYMBOL_BACKTICK = 2; const FLAG_SYMBOL_USER = 4; const FLAG_SYMBOL_SYSTEM = 8; const FLAG_SYMBOL_PARAMETER = 16; /** * The token it its raw string representation. * * @var string */ public $token; /** * The value this token contains (i.e. token after some evaluation). * * @var mixed */ public $value; /** * The keyword value this token contains, always uppercase. * * @var mixed */ public $keyword; /** * The type of this token. * * @var int */ public $type; /** * The flags of this token. * * @var int */ public $flags; /** * The position in the initial string where this token started. * * The position is counted in chars, not bytes, so you should * use mb_* functions to properly handle utf-8 multibyte chars. * * @var int */ public $position; /** * Constructor. * * @param string $token the value of the token * @param int $type the type of the token * @param int $flags the flags of the token */ public function __construct($token, $type = 0, $flags = 0) { $this->token = $token; $this->type = $type; $this->flags = $flags; $this->keyword = null; $this->value = $this->extract(); } /** * Does little processing to the token to extract a value. * * If no processing can be done it will return the initial string. * * @return mixed */ public function extract() { switch ($this->type) { case self::TYPE_KEYWORD: $this->keyword = strtoupper($this->token); if (! ($this->flags & self::FLAG_KEYWORD_RESERVED)) { // Unreserved keywords should stay the way they are because they // might represent field names. return $this->token; } return $this->keyword; case self::TYPE_WHITESPACE: return ' '; case self::TYPE_BOOL: return strtoupper($this->token) === 'TRUE'; case self::TYPE_NUMBER: $ret = str_replace('--', '', $this->token); // e.g. ---42 === -42 if ($this->flags & self::FLAG_NUMBER_HEX) { if ($this->flags & self::FLAG_NUMBER_NEGATIVE) { $ret = str_replace('-', '', $this->token); $ret = -hexdec($ret); } else { $ret = hexdec($ret); } } elseif (($this->flags & self::FLAG_NUMBER_APPROXIMATE) || ($this->flags & self::FLAG_NUMBER_FLOAT) ) { $ret = (float) $ret; } elseif (! ($this->flags & self::FLAG_NUMBER_BINARY)) { $ret = (int) $ret; } return $ret; case self::TYPE_STRING: // Trims quotes. $str = $this->token; $str = mb_substr($str, 1, -1, 'UTF-8'); // Removes surrounding quotes. $quote = $this->token[0]; $str = str_replace($quote . $quote, $quote, $str); // Finally unescapes the string. // // `stripcslashes` replaces escape sequences with their // representation. // // NOTE: In MySQL, `\f` and `\v` have no representation, // even they usually represent: form-feed and vertical tab. $str = str_replace('\f', 'f', $str); $str = str_replace('\v', 'v', $str); $str = stripcslashes($str); return $str; case self::TYPE_SYMBOL: $str = $this->token; if (isset($str[0]) && ($str[0] === '@')) { // `mb_strlen($str)` must be used instead of `null` because // in PHP 5.3- the `null` parameter isn't handled correctly. $str = mb_substr( $str, (! empty($str[1]) && ($str[1] === '@')) ? 2 : 1, mb_strlen($str), 'UTF-8' ); } if (isset($str[0]) && ($str[0] === ':')) { $str = mb_substr($str, 1, mb_strlen($str), 'UTF-8'); } if (isset($str[0]) && (($str[0] === '`') || ($str[0] === '"') || ($str[0] === '\'')) ) { $quote = $str[0]; $str = str_replace($quote . $quote, $quote, $str); $str = mb_substr($str, 1, -1, 'UTF-8'); } return $str; } return $this->token; } /** * Converts the token into an inline token by replacing tabs and new lines. * * @return string */ public function getInlineToken() { return str_replace( array( "\r", "\n", "\t", ), array( '\r', '\n', '\t', ), $this->token ); } } sql-parser-4.6.1/src/TokensList.php000066400000000000000000000106531363525634600172340ustar00rootroot00000000000000tokens = $tokens; if ($count === -1) { $this->count = count($tokens); } } } /** * Builds an array of tokens by merging their raw value. * * @param string|Token[]|TokensList $list the tokens to be built * * @return string */ public static function build($list) { if (is_string($list)) { return $list; } if ($list instanceof self) { $list = $list->tokens; } $ret = ''; if (is_array($list)) { foreach ($list as $tok) { $ret .= $tok->token; } } return $ret; } /** * Adds a new token. * * @param Token $token token to be added in list */ public function add(Token $token) { $this->tokens[$this->count++] = $token; } /** * Gets the next token. Skips any irrelevant token (whitespaces and * comments). * * @return Token|null */ public function getNext() { for (; $this->idx < $this->count; ++$this->idx) { if (($this->tokens[$this->idx]->type !== Token::TYPE_WHITESPACE) && ($this->tokens[$this->idx]->type !== Token::TYPE_COMMENT) ) { return $this->tokens[$this->idx++]; } } return null; } /** * Gets the next token. * * @param int $type the type * * @return Token|null */ public function getNextOfType($type) { for (; $this->idx < $this->count; ++$this->idx) { if ($this->tokens[$this->idx]->type === $type) { return $this->tokens[$this->idx++]; } } return null; } /** * Gets the next token. * * @param int $type the type of the token * @param string $value the value of the token * * @return Token|null */ public function getNextOfTypeAndValue($type, $value) { for (; $this->idx < $this->count; ++$this->idx) { if (($this->tokens[$this->idx]->type === $type) && ($this->tokens[$this->idx]->value === $value) ) { return $this->tokens[$this->idx++]; } } return null; } /** * Sets an value inside the container. * * @param int $offset the offset to be set * @param Token $value the token to be saved */ public function offsetSet($offset, $value) { if ($offset === null) { $this->tokens[$this->count++] = $value; } else { $this->tokens[$offset] = $value; } } /** * Gets a value from the container. * * @param int $offset the offset to be returned * * @return Token */ public function offsetGet($offset) { return $offset < $this->count ? $this->tokens[$offset] : null; } /** * Checks if an offset was previously set. * * @param int $offset the offset to be checked * * @return bool */ public function offsetExists($offset) { return $offset < $this->count; } /** * Unsets the value of an offset. * * @param int $offset the offset to be unset */ public function offsetUnset($offset) { unset($this->tokens[$offset]); --$this->count; for ($i = $offset; $i < $this->count; ++$i) { $this->tokens[$i] = $this->tokens[$i + 1]; } unset($this->tokens[$this->count]); } } sql-parser-4.6.1/src/Translator.php000066400000000000000000000030421363525634600172600ustar00rootroot00000000000000setlocale( self::$loader->detectlocale() ); // Set default text domain self::$loader->textdomain('sqlparser'); // Set path where to look for a domain self::$loader->bindtextdomain('sqlparser', __DIR__ . '/../locale/'); } if (is_null(self::$translator)) { // Get translator self::$translator = self::$loader->getTranslator(); } } /** * Translates a string. * * @param string $msgid String to be translated * * @return string translated string (or original, if not found) */ public static function gettext($msgid) { if (! class_exists('\PhpMyAdmin\MoTranslator\Loader', true)) { return $msgid; } self::load(); return self::$translator->gettext($msgid); } } sql-parser-4.6.1/src/UtfString.php000066400000000000000000000114371363525634600170630ustar00rootroot00000000000000str = $str; $this->byteIdx = 0; $this->charIdx = 0; $this->byteLen = mb_strlen($str, '8bit'); if (! mb_check_encoding($str, 'UTF-8')) { $this->charLen = 0; } else { $this->charLen = mb_strlen($str, 'UTF-8'); } } /** * Checks if the given offset exists. * * @param int $offset the offset to be checked * * @return bool */ public function offsetExists($offset) { return ($offset >= 0) && ($offset < $this->charLen); } /** * Gets the character at given offset. * * @param int $offset the offset to be returned * * @return string|null */ public function offsetGet($offset) { if (($offset < 0) || ($offset >= $this->charLen)) { return null; } $delta = $offset - $this->charIdx; if ($delta > 0) { // Fast forwarding. while ($delta-- > 0) { $this->byteIdx += static::getCharLength($this->str[$this->byteIdx]); ++$this->charIdx; } } elseif ($delta < 0) { // Rewinding. while ($delta++ < 0) { do { $byte = ord($this->str[--$this->byteIdx]); } while (($byte >= 128) && ($byte < 192)); --$this->charIdx; } } $bytesCount = static::getCharLength($this->str[$this->byteIdx]); $ret = ''; for ($i = 0; $bytesCount-- > 0; ++$i) { $ret .= $this->str[$this->byteIdx + $i]; } return $ret; } /** * Sets the value of a character. * * @param int $offset the offset to be set * @param string $value the value to be set * * @throws \Exception not implemented */ public function offsetSet($offset, $value) { throw new \Exception('Not implemented.'); } /** * Unsets an index. * * @param int $offset the value to be unset * * @throws \Exception not implemented */ public function offsetUnset($offset) { throw new \Exception('Not implemented.'); } /** * Gets the length of an UTF-8 character. * * According to RFC 3629, a UTF-8 character can have at most 4 bytes. * However, this implementation supports UTF-8 characters containing up to 6 * bytes. * * @param string $byte the byte to be analyzed * * @see https://tools.ietf.org/html/rfc3629 * * @return int */ public static function getCharLength($byte) { $byte = ord($byte); if ($byte < 128) { return 1; } elseif ($byte < 224) { return 2; } elseif ($byte < 240) { return 3; } elseif ($byte < 248) { return 4; } elseif ($byte < 252) { return 5; // unofficial } return 6; // unofficial } /** * Returns the length in characters of the string. * * @return int */ public function length() { return $this->charLen; } /** * Returns the contained string. * * @return string */ public function __toString() { return $this->str; } } sql-parser-4.6.1/src/Utils/000077500000000000000000000000001363525634600155175ustar00rootroot00000000000000sql-parser-4.6.1/src/Utils/BufferedQuery.php000066400000000000000000000327021363525634600210040ustar00rootroot00000000000000options = array_merge( array( /* * The starting delimiter. * * @var string */ 'delimiter' => ';', /* * Whether `DELIMITER` statements should be parsed. * * @var bool */ 'parse_delimiter' => false, /* * Whether a delimiter should be added at the end of the * statement. * * @var bool */ 'add_delimiter' => false, ), $options ); $this->query = $query; $this->setDelimiter($this->options['delimiter']); } /** * Sets the delimiter. * * Used to update the length of it too. * * @param string $delimiter */ public function setDelimiter($delimiter) { $this->delimiter = $delimiter; $this->delimiterLen = strlen($delimiter); } /** * Extracts a statement from the buffer. * * @param bool $end whether the end of the buffer was reached * * @return string|false */ public function extract($end = false) { /** * The last parsed position. * * This is statically defined because it is not used outside anywhere * outside this method and there is probably a (minor) performance * improvement to it. * * @var int */ static $i = 0; if (empty($this->query)) { return false; } /** * The length of the buffer. * * @var int */ $len = strlen($this->query); /** * The last index of the string that is going to be parsed. * * There must be a few characters left in the buffer so the parser can * avoid confusing some symbols that may have multiple meanings. * * For example, if the buffer ends in `-` that may be an operator or the * beginning of a comment. * * Another example if the buffer ends in `DELIMITE`. The parser is going * to require a few more characters because that may be a part of the * `DELIMITER` keyword or just a column named `DELIMITE`. * * Those extra characters are required only if there is more data * expected (the end of the buffer was not reached). * * @var int */ $loopLen = $end ? $len : $len - 16; for (; $i < $loopLen; ++$i) { /* * Handling backslash. * * Even if the next character is a special character that should be * treated differently, because of the preceding backslash, it will * be ignored. */ if ((($this->status & static::STATUS_COMMENT) === 0) && ($this->query[$i] === '\\')) { $this->current .= $this->query[$i] . $this->query[++$i]; continue; } /* * Handling special parses statuses. */ if ($this->status === static::STATUS_STRING_SINGLE_QUOTES) { // Single-quoted strings like 'foo'. if ($this->query[$i] === '\'') { $this->status = 0; } $this->current .= $this->query[$i]; continue; } elseif ($this->status === static::STATUS_STRING_DOUBLE_QUOTES) { // Double-quoted strings like "bar". if ($this->query[$i] === '"') { $this->status = 0; } $this->current .= $this->query[$i]; continue; } elseif ($this->status === static::STATUS_STRING_BACKTICK) { if ($this->query[$i] === '`') { $this->status = 0; } $this->current .= $this->query[$i]; continue; } elseif (($this->status === static::STATUS_COMMENT_BASH) || ($this->status === static::STATUS_COMMENT_SQL) ) { // Bash-like (#) or SQL-like (-- ) comments end in new line. if ($this->query[$i] === "\n") { $this->status = 0; } $this->current .= $this->query[$i]; continue; } elseif ($this->status === static::STATUS_COMMENT_C) { // C-like comments end in */. if (($this->query[$i - 1] === '*') && ($this->query[$i] === '/')) { $this->status = 0; } $this->current .= $this->query[$i]; continue; } /* * Checking if a string started. */ if ($this->query[$i] === '\'') { $this->status = static::STATUS_STRING_SINGLE_QUOTES; $this->current .= $this->query[$i]; continue; } elseif ($this->query[$i] === '"') { $this->status = static::STATUS_STRING_DOUBLE_QUOTES; $this->current .= $this->query[$i]; continue; } elseif ($this->query[$i] === '`') { $this->status = static::STATUS_STRING_BACKTICK; $this->current .= $this->query[$i]; continue; } /* * Checking if a comment started. */ if ($this->query[$i] === '#') { $this->status = static::STATUS_COMMENT_BASH; $this->current .= $this->query[$i]; continue; } elseif ($i + 2 < $len) { if (($this->query[$i] === '-') && ($this->query[$i + 1] === '-') && Context::isWhitespace($this->query[$i + 2])) { $this->status = static::STATUS_COMMENT_SQL; $this->current .= $this->query[$i]; continue; } elseif (($this->query[$i] === '/') && ($this->query[$i + 1] === '*') && ($this->query[$i + 2] !== '!')) { $this->status = static::STATUS_COMMENT_C; $this->current .= $this->query[$i]; continue; } } /* * Handling `DELIMITER` statement. * * The code below basically checks for * `strtoupper(substr($this->query, $i, 9)) === 'DELIMITER'` * * This optimization makes the code about 3 times faster. * * `DELIMITER` is not being considered a keyword. The only context * it has a special meaning is when it is the beginning of a * statement. This is the reason for the last condition. */ if (($i + 9 < $len) && (($this->query[$i] === 'D') || ($this->query[$i] === 'd')) && (($this->query[$i + 1] === 'E') || ($this->query[$i + 1] === 'e')) && (($this->query[$i + 2] === 'L') || ($this->query[$i + 2] === 'l')) && (($this->query[$i + 3] === 'I') || ($this->query[$i + 3] === 'i')) && (($this->query[$i + 4] === 'M') || ($this->query[$i + 4] === 'm')) && (($this->query[$i + 5] === 'I') || ($this->query[$i + 5] === 'i')) && (($this->query[$i + 6] === 'T') || ($this->query[$i + 6] === 't')) && (($this->query[$i + 7] === 'E') || ($this->query[$i + 7] === 'e')) && (($this->query[$i + 8] === 'R') || ($this->query[$i + 8] === 'r')) && Context::isWhitespace($this->query[$i + 9]) ) { // Saving the current index to be able to revert any parsing // done in this block. $iBak = $i; $i += 9; // Skipping `DELIMITER`. // Skipping whitespaces. while (($i < $len) && Context::isWhitespace($this->query[$i])) { ++$i; } // Parsing the delimiter. $delimiter = ''; while (($i < $len) && (! Context::isWhitespace($this->query[$i]))) { $delimiter .= $this->query[$i++]; } // Checking if the delimiter definition ended. if (($delimiter !== '') && ((($i < $len) && Context::isWhitespace($this->query[$i])) || (($i === $len) && $end)) ) { // Saving the delimiter. $this->setDelimiter($delimiter); // Whether this statement should be returned or not. $ret = ''; if (! empty($this->options['parse_delimiter'])) { // Appending the `DELIMITER` statement that was just // found to the current statement. $ret = trim( $this->current . ' ' . substr($this->query, $iBak, $i - $iBak) ); } // Removing the statement that was just extracted from the // query. $this->query = substr($this->query, $i); $i = 0; // Resetting the current statement. $this->current = ''; return $ret; } // Incomplete statement. Reverting $i = $iBak; return false; } /* * Checking if the current statement finished. * * The first letter of the delimiter is being checked as an * optimization. This code is almost as fast as the one above. * * There is no point in checking if two strings match if not even * the first letter matches. */ if (($this->query[$i] === $this->delimiter[0]) && (($this->delimiterLen === 1) || (substr($this->query, $i, $this->delimiterLen) === $this->delimiter)) ) { // Saving the statement that just ended. $ret = $this->current; // If needed, adds a delimiter at the end of the statement. if (! empty($this->options['add_delimiter'])) { $ret .= $this->delimiter; } // Removing the statement that was just extracted from the // query. $this->query = substr($this->query, $i + $this->delimiterLen); $i = 0; // Resetting the current statement. $this->current = ''; // Returning the statement. return trim($ret); } /* * Appending current character to current statement. */ $this->current .= $this->query[$i]; } if ($end && ($i === $len)) { // If the end of the buffer was reached, the buffer is emptied and // the current statement that was extracted is returned. $ret = $this->current; // Emptying the buffer. $this->query = ''; $i = 0; // Resetting the current statement. $this->current = ''; // Returning the statement. return trim($ret); } return ''; } } sql-parser-4.6.1/src/Utils/CLI.php000066400000000000000000000132131363525634600166370ustar00rootroot00000000000000getopt( 'hq:f:a', $longopts ); if ($params === false) { return false; } $this->mergeLongOpts($params, $longopts); if (! isset($params['f'])) { $params['f'] = 'cli'; } if (! in_array($params['f'], array('html', 'cli', 'text'))) { echo "ERROR: Invalid value for format!\n"; return false; } return $params; } public function runHighlight() { $params = $this->parseHighlight(); if ($params === false) { return 1; } if (isset($params['h'])) { $this->usageHighlight(); return 0; } if (!isset($params['q'])) { if ($stdIn = $this->readStdin()) { $params['q'] = $stdIn; } } if (isset($params['a'])) { Context::setMode('ANSI_QUOTES'); } if (isset($params['q'])) { echo Formatter::format( $params['q'], array('type' => $params['f']) ); echo "\n"; return 0; } echo "ERROR: Missing parameters!\n"; $this->usageHighlight(); return 1; } public function usageLint() { echo "Usage: lint-query --query SQL [--ansi]\n"; echo " cat file.sql | lint-query\n"; } public function parseLint() { $longopts = array( 'help', 'query:', 'context:', 'ansi' ); $params = $this->getopt( 'hq:c:a', $longopts ); $this->mergeLongOpts($params, $longopts); return $params; } public function runLint() { $params = $this->parseLint(); if ($params === false) { return 1; } if (isset($params['h'])) { $this->usageLint(); return 0; } if (isset($params['c'])) { Context::load($params['c']); } if (!isset($params['q'])) { if ($stdIn = $this->readStdin()) { $params['q'] = $stdIn; } } if (isset($params['a'])) { Context::setMode('ANSI_QUOTES'); } if (isset($params['q'])) { $lexer = new Lexer($params['q'], false); $parser = new Parser($lexer->list); $errors = Error::get(array($lexer, $parser)); if (count($errors) === 0) { return 0; } $output = Error::format($errors); echo implode("\n", $output); echo "\n"; return 10; } echo "ERROR: Missing parameters!\n"; $this->usageLint(); return 1; } public function usageTokenize() { echo "Usage: tokenize-query --query SQL [--ansi]\n"; echo " cat file.sql | tokenize-query\n"; } public function parseTokenize() { $longopts = array( 'help', 'query:', 'ansi' ); $params = $this->getopt( 'hq:a', $longopts ); $this->mergeLongOpts($params, $longopts); return $params; } public function runTokenize() { $params = $this->parseTokenize(); if ($params === false) { return 1; } if (isset($params['h'])) { $this->usageTokenize(); return 0; } if (!isset($params['q'])) { if ($stdIn = $this->readStdin()) { $params['q'] = $stdIn; } } if (isset($params['a'])) { Context::setMode('ANSI_QUOTES'); } if (isset($params['q'])) { $lexer = new Lexer($params['q'], false); foreach ($lexer->list->tokens as $idx => $token) { echo '[TOKEN ', $idx, "]\n"; echo 'Type = ', $token->type, "\n"; echo 'Flags = ', $token->flags, "\n"; echo 'Value = '; var_export($token->value); echo "\n"; echo 'Token = '; var_export($token->token); echo "\n"; echo "\n"; } return 0; } echo "ERROR: Missing parameters!\n"; $this->usageTokenize(); return 1; } public function readStdin() { stream_set_blocking(STDIN, false); $stdin = stream_get_contents(STDIN); // restore-default block-mode setting stream_set_blocking(STDIN, true); return $stdin; } } sql-parser-4.6.1/src/Utils/Error.php000066400000000000000000000052321363525634600173230ustar00rootroot00000000000000errors as $err) { $ret[] = array( $err->getMessage(), $err->getCode(), $err->ch, $err->pos ); } } elseif ($obj instanceof Parser) { foreach ($obj->errors as $err) { $ret[] = array( $err->getMessage(), $err->getCode(), $err->token->token, $err->token->position ); } } } return $ret; } /** * Formats the specified errors. * * @param array $errors the errors to be formatted * @param string $format The format of an error. * '$1$d' is replaced by the position of this error. * '$2$s' is replaced by the error message. * '$3$d' is replaced by the error code. * '$4$s' is replaced by the string that caused the * issue. * '$5$d' is replaced by the position of the string. * * @return array */ public static function format( $errors, $format = '#%1$d: %2$s (near "%4$s" at position %5$d)' ) { $ret = array(); $i = 0; foreach ($errors as $key => $err) { $ret[$key] = sprintf( $format, ++$i, $err[0], $err[1], htmlspecialchars($err[2]), $err[3] ); } return $ret; } } sql-parser-4.6.1/src/Utils/Formatter.php000066400000000000000000000533711363525634600202040ustar00rootroot00000000000000 true, 'INSERT' => true ); /** * Clauses that must be inlined. * * These clauses usually are short and it's nicer to have them inline. * * @var array */ public static $INLINE_CLAUSES = array( 'CREATE' => true, 'INTO' => true, 'LIMIT' => true, 'PARTITION BY' => true, 'PARTITION' => true, 'PROCEDURE' => true, 'SUBPARTITION BY' => true, 'VALUES' => true ); /** * Constructor. * * @param array $options the formatting options */ public function __construct(array $options = array()) { $this->options = $this->getMergedOptions($options); } /** * The specified formatting options are merged with the default values. * * @param array $options * * @return array */ private function getMergedOptions(array $options) { $options = array_merge( $this->getDefaultOptions(), $options ); if (isset($options['formats'])) { $options['formats'] = self::mergeFormats($this->getDefaultFormats(), $options['formats']); } else { $options['formats'] = $this->getDefaultFormats(); } if (is_null($options['line_ending'])) { $options['line_ending'] = $options['type'] === 'html' ? '
' : "\n"; } if (is_null($options['indentation'])) { $options['indentation'] = $options['type'] === 'html' ? '    ' : ' '; } // `parts_newline` requires `clause_newline` $options['parts_newline'] &= $options['clause_newline']; return $options; } /** * The default formatting options. * * @return array */ protected function getDefaultOptions() { return array( /* * The format of the result. * * @var string The type ('text', 'cli' or 'html') */ 'type' => php_sapi_name() === 'cli' ? 'cli' : 'text', /* * The line ending used. * By default, for text this is "\n" and for HTML this is "
". * * @var string */ 'line_ending' => null, /* * The string used for indentation. * * @var string */ 'indentation' => null, /* * Whether comments should be removed or not. * * @var bool */ 'remove_comments' => false, /* * Whether each clause should be on a new line. * * @var bool */ 'clause_newline' => true, /* * Whether each part should be on a new line. * Parts are delimited by brackets and commas. * * @var bool */ 'parts_newline' => true, /* * Whether each part of each clause should be indented. * * @var bool */ 'indent_parts' => true ); } /** * The styles used for HTML formatting. * array($type, $flags, $span, $callback). * * @return array */ protected function getDefaultFormats() { return array( array( 'type' => Token::TYPE_KEYWORD, 'flags' => Token::FLAG_KEYWORD_RESERVED, 'html' => 'class="sql-reserved"', 'cli' => "\x1b[35m", 'function' => 'strtoupper', ), array( 'type' => Token::TYPE_KEYWORD, 'flags' => 0, 'html' => 'class="sql-keyword"', 'cli' => "\x1b[95m", 'function' => 'strtoupper', ), array( 'type' => Token::TYPE_COMMENT, 'flags' => 0, 'html' => 'class="sql-comment"', 'cli' => "\x1b[37m", 'function' => '', ), array( 'type' => Token::TYPE_BOOL, 'flags' => 0, 'html' => 'class="sql-atom"', 'cli' => "\x1b[36m", 'function' => 'strtoupper', ), array( 'type' => Token::TYPE_NUMBER, 'flags' => 0, 'html' => 'class="sql-number"', 'cli' => "\x1b[92m", 'function' => 'strtolower', ), array( 'type' => Token::TYPE_STRING, 'flags' => 0, 'html' => 'class="sql-string"', 'cli' => "\x1b[91m", 'function' => '', ), array( 'type' => Token::TYPE_SYMBOL, 'flags' => Token::FLAG_SYMBOL_PARAMETER, 'html' => 'class="sql-parameter"', 'cli' => "\x1b[31m", 'function' => '', ), array( 'type' => Token::TYPE_SYMBOL, 'flags' => 0, 'html' => 'class="sql-variable"', 'cli' => "\x1b[36m", 'function' => '', ) ); } private static function mergeFormats(array $formats, array $newFormats) { $added = array(); $integers = array( 'flags', 'type' ); $strings = array( 'html', 'cli', 'function' ); /* Sanitize the array so that we do not have to care later */ foreach ($newFormats as $j => $new) { foreach ($integers as $name) { if (! isset($new[$name])) { $newFormats[$j][$name] = 0; } } foreach ($strings as $name) { if (! isset($new[$name])) { $newFormats[$j][$name] = ''; } } } /* Process changes to existing formats */ foreach ($formats as $i => $original) { foreach ($newFormats as $j => $new) { if ($new['type'] === $original['type'] && $original['flags'] === $new['flags'] ) { $formats[$i] = $new; $added[] = $j; } } } /* Add not already handled formats */ foreach ($newFormats as $j => $new) { if (! in_array($j, $added)) { $formats[] = $new; } } return $formats; } /** * Formats the given list of tokens. * * @param TokensList $list the list of tokens * * @return string */ public function formatList($list) { /** * The query to be returned. * * @var string */ $ret = ''; /** * The indentation level. * * @var int */ $indent = 0; /** * Whether the line ended. * * @var bool */ $lineEnded = false; /** * Whether current group is short (no linebreaks). * * @var bool */ $shortGroup = false; /** * The name of the last clause. * * @var string */ $lastClause = ''; /** * A stack that keeps track of the indentation level every time a new * block is found. * * @var array */ $blocksIndentation = array(); /** * A stack that keeps track of the line endings every time a new block * is found. * * @var array */ $blocksLineEndings = array(); /** * Whether clause's options were formatted. * * @var bool */ $formattedOptions = false; /** * Previously parsed token. * * @var Token|null */ $prev = null; // In order to be able to format the queries correctly, the next token // must be taken into consideration. The loop below uses two pointers, // `$prev` and `$curr` which store two consecutive tokens. // Actually, at every iteration the previous token is being used. for ($list->idx = 0; $list->idx < $list->count; ++$list->idx) { /** * Token parsed at this moment. * * @var Token */ $curr = $list->tokens[$list->idx]; if ($list->idx + 1 < $list->count) { $next = $list->tokens[$list->idx + 1]; } else { $next = null; } if ($curr->type === Token::TYPE_WHITESPACE) { // Keep linebreaks before and after comments if (strpos($curr->token, "\n") !== false && ( ($prev !== null && $prev->type === Token::TYPE_COMMENT) || ($next !== null && $next->type === Token::TYPE_COMMENT) ) ) { $lineEnded = true; } // Whitespaces are skipped because the formatter adds its own. continue; } if ($curr->type === Token::TYPE_COMMENT && $this->options['remove_comments']) { // Skip Comments if option `remove_comments` is enabled continue; } // Checking if pointers were initialized. if ($prev !== null) { // Checking if a new clause started. if (static::isClause($prev) !== false) { $lastClause = $prev->value; $formattedOptions = false; } // The options of a clause should stay on the same line and everything that follows. if ($this->options['parts_newline'] && ! $formattedOptions && empty(self::$INLINE_CLAUSES[$lastClause]) && ( $curr->type !== Token::TYPE_KEYWORD || ( $curr->type === Token::TYPE_KEYWORD && $curr->flags & Token::FLAG_KEYWORD_FUNCTION ) ) ) { $formattedOptions = true; $lineEnded = true; ++$indent; } // Checking if this clause ended. if ($isClause = static::isClause($curr)) { if (($isClause === 2 || $this->options['clause_newline']) && empty(self::$SHORT_CLAUSES[$lastClause])) { $lineEnded = true; if ($this->options['parts_newline'] && $indent > 0) { --$indent; } } } // Inline JOINs if (($prev->type === Token::TYPE_KEYWORD && isset(JoinKeyword::$JOINS[$prev->value])) || (in_array($curr->value, array('ON', 'USING'), true) && isset(JoinKeyword::$JOINS[$list->tokens[$list->idx - 2]->value])) || isset($list->tokens[$list->idx - 4], JoinKeyword::$JOINS[$list->tokens[$list->idx - 4]->value]) || isset($list->tokens[$list->idx - 6], JoinKeyword::$JOINS[$list->tokens[$list->idx - 6]->value]) ) { $lineEnded = false; } // Indenting BEGIN ... END blocks. if ($prev->type === Token::TYPE_KEYWORD && $prev->keyword === 'BEGIN') { $lineEnded = true; $blocksIndentation[] = $indent; ++$indent; } elseif ($curr->type === Token::TYPE_KEYWORD && $curr->keyword === 'END') { $lineEnded = true; $indent = array_pop($blocksIndentation); } // Formatting fragments delimited by comma. if ($prev->type === Token::TYPE_OPERATOR && $prev->value === ',') { // Fragments delimited by a comma are broken into multiple // pieces only if the clause is not inlined or this fragment // is between brackets that are on new line. if (end($blocksLineEndings) === true || ( empty(self::$INLINE_CLAUSES[$lastClause]) && ! $shortGroup && $this->options['parts_newline'] ) ) { $lineEnded = true; } } // Handling brackets. // Brackets are indented only if the length of the fragment between // them is longer than 30 characters. if ($prev->type === Token::TYPE_OPERATOR && $prev->value === '(') { $blocksIndentation[] = $indent; $shortGroup = true; if (static::getGroupLength($list) > 30) { ++$indent; $lineEnded = true; $shortGroup = false; } $blocksLineEndings[] = $lineEnded; } elseif ($curr->type === Token::TYPE_OPERATOR && $curr->value === ')') { $indent = array_pop($blocksIndentation); $lineEnded |= array_pop($blocksLineEndings); $shortGroup = false; } // Adding the token. $ret .= $this->toString($prev); // Finishing the line. if ($lineEnded) { $ret .= $this->options['line_ending'] . str_repeat($this->options['indentation'], $indent); $lineEnded = false; } else { // If the line ended there is no point in adding whitespaces. // Also, some tokens do not have spaces before or after them. if (// A space after delimiters that are longer than 2 characters. $prev->keyword === 'DELIMITER' || ! ( ($prev->type === Token::TYPE_OPERATOR && ($prev->value === '.' || $prev->value === '(')) // No space after . ( || ($curr->type === Token::TYPE_OPERATOR && ($curr->value === '.' || $curr->value === ',' || $curr->value === '(' || $curr->value === ')')) // No space before . , ( ) || $curr->type === Token::TYPE_DELIMITER && mb_strlen($curr->value, 'UTF-8') < 2 ) ) { $ret .= ' '; } } } // Iteration finished, consider current token as previous. $prev = $curr; } if ($this->options['type'] === 'cli') { return $ret . "\x1b[0m"; } return $ret; } public function escapeConsole($string) { return str_replace( array( "\x00", "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x0A", "\x0B", "\x0C", "\x0D", "\x0E", "\x0F", "\x10", "\x11", "\x12", "\x13", "\x14", "\x15", "\x16", "\x17", "\x18", "\x19", "\x1A", "\x1B", "\x1C", "\x1D", "\x1E", "\x1F", ), array( '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', '\x09', '\x0A', '\x0B', '\x0C', '\x0D', '\x0E', '\x0F', '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18', '\x19', '\x1A', '\x1B', '\x1C', '\x1D', '\x1E', '\x1F', ), $string ); } /** * Tries to print the query and returns the result. * * @param Token $token the token to be printed * * @return string */ public function toString($token) { $text = $token->token; static $prev; foreach ($this->options['formats'] as $format) { if ($token->type === $format['type'] && ($token->flags & $format['flags']) === $format['flags'] ) { // Running transformation function. if (! empty($format['function'])) { $func = $format['function']; $text = $func($text); } // Formatting HTML. if ($this->options['type'] === 'html') { return '' . htmlspecialchars($text, ENT_NOQUOTES) . ''; } elseif ($this->options['type'] === 'cli') { if ($prev !== $format['cli']) { $prev = $format['cli']; return $format['cli'] . $this->escapeConsole($text); } return $this->escapeConsole($text); } break; } } if ($this->options['type'] === 'cli') { if ($prev !== "\x1b[39m") { $prev = "\x1b[39m"; return "\x1b[39m" . $this->escapeConsole($text); } return $this->escapeConsole($text); } elseif ($this->options['type'] === 'html') { return htmlspecialchars($text, ENT_NOQUOTES); } return $text; } /** * Formats a query. * * @param string $query The query to be formatted * @param array $options the formatting options * * @return string the formatted string */ public static function format($query, array $options = array()) { $lexer = new Lexer($query); $formatter = new self($options); return $formatter->formatList($lexer->list); } /** * Computes the length of a group. * * A group is delimited by a pair of brackets. * * @param TokensList $list the list of tokens * * @return int */ public static function getGroupLength($list) { /** * The number of opening brackets found. * This counter starts at one because by the time this function called, * the list already advanced one position and the opening bracket was * already parsed. * * @var int */ $count = 1; /** * The length of this group. * * @var int */ $length = 0; for ($idx = $list->idx; $idx < $list->count; ++$idx) { // Counting the brackets. if ($list->tokens[$idx]->type === Token::TYPE_OPERATOR) { if ($list->tokens[$idx]->value === '(') { ++$count; } elseif ($list->tokens[$idx]->value === ')') { --$count; if ($count === 0) { break; } } } // Keeping track of this group's length. $length += mb_strlen($list->tokens[$idx]->value, 'UTF-8'); } return $length; } /** * Checks if a token is a statement or a clause inside a statement. * * @param Token $token the token to be checked * * @return int|bool */ public static function isClause($token) { if (($token->type === Token::TYPE_KEYWORD && isset(Parser::$STATEMENT_PARSERS[$token->keyword])) || ($token->type === Token::TYPE_NONE && strtoupper($token->token) === 'DELIMITER') ) { return 2; } elseif ($token->type === Token::TYPE_KEYWORD && isset(Parser::$KEYWORD_PARSERS[$token->keyword]) ) { return 1; } return false; } } sql-parser-4.6.1/src/Utils/Misc.php000066400000000000000000000061011363525634600171210ustar00rootroot00000000000000expr) || empty($statement->from) ) { return array(); } $retval = array(); $tables = array(); /** * Expressions that may contain aliases. * These are extracted from `FROM` and `JOIN` keywords. * * @var Expression[] */ $expressions = $statement->from; // Adding expressions from JOIN. if (! empty($statement->join)) { foreach ($statement->join as $join) { $expressions[] = $join->expr; } } foreach ($expressions as $expr) { if (! isset($expr->table) || ($expr->table === '')) { continue; } $thisDb = (isset($expr->database) && ($expr->database !== '')) ? $expr->database : $database; if (! isset($retval[$thisDb])) { $retval[$thisDb] = array( 'alias' => null, 'tables' => array() ); } if (! isset($retval[$thisDb]['tables'][$expr->table])) { $retval[$thisDb]['tables'][$expr->table] = array( 'alias' => (isset($expr->alias) && ($expr->alias !== '')) ? $expr->alias : null, 'columns' => array() ); } if (! isset($tables[$thisDb])) { $tables[$thisDb] = array(); } $tables[$thisDb][$expr->alias] = $expr->table; } foreach ($statement->expr as $expr) { if (! isset($expr->column, $expr->alias) || ($expr->column === '') || ($expr->alias === '') ) { continue; } $thisDb = (isset($expr->database) && ($expr->database !== '')) ? $expr->database : $database; if (isset($expr->table) && ($expr->table !== '')) { $thisTable = isset($tables[$thisDb][$expr->table]) ? $tables[$thisDb][$expr->table] : $expr->table; $retval[$thisDb]['tables'][$thisTable]['columns'][$expr->column] = $expr->alias; } else { foreach ($retval[$thisDb]['tables'] as &$table) { $table['columns'][$expr->column] = $expr->alias; } } } return $retval; } } sql-parser-4.6.1/src/Utils/Query.php000066400000000000000000000637521363525634600173520ustar00rootroot00000000000000 false, /* * drop ... DATABASE ... */ 'drop_database' => false, /* * ... GROUP BY ... */ 'group' => false, /* * ... HAVING ... */ 'having' => false, /* * INSERT ... * or * REPLACE ... * or * DELETE ... */ 'is_affected' => false, /* * select ... PROCEDURE ANALYSE( ... ) ... */ 'is_analyse' => false, /* * select COUNT( ... ) ... */ 'is_count' => false, /* * DELETE ... */ 'is_delete' => false, // @deprecated; use `querytype` /* * EXPLAIN ... */ 'is_explain' => false, // @deprecated; use `querytype` /* * select ... INTO OUTFILE ... */ 'is_export' => false, /* * select FUNC( ... ) ... */ 'is_func' => false, /* * select ... GROUP BY ... * or * select ... HAVING ... */ 'is_group' => false, /* * INSERT ... * or * REPLACE ... * or * LOAD DATA ... */ 'is_insert' => false, /* * ANALYZE ... * or * CHECK ... * or * CHECKSUM ... * or * OPTIMIZE ... * or * REPAIR ... */ 'is_maint' => false, /* * CALL ... */ 'is_procedure' => false, /* * REPLACE ... */ 'is_replace' => false, // @deprecated; use `querytype` /* * SELECT ... */ 'is_select' => false, // @deprecated; use `querytype` /* * SHOW ... */ 'is_show' => false, // @deprecated; use `querytype` /* * Contains a subquery. */ 'is_subquery' => false, /* * ... JOIN ... */ 'join' => false, /* * ... LIMIT ... */ 'limit' => false, /* * TODO */ 'offset' => false, /* * ... ORDER ... */ 'order' => false, /* * The type of the query (which is usually the first keyword of * the statement). */ 'querytype' => false, /* * Whether a page reload is required. */ 'reload' => false, /* * SELECT ... FROM ... */ 'select_from' => false, /* * ... UNION ... */ 'union' => false ); /** * Gets an array with flags select statement has. * * @param SelectStatement $statement the statement to be processed * @param array $flags flags set so far * * @return array */ private static function getFlagsSelect($statement, $flags) { $flags['querytype'] = 'SELECT'; $flags['is_select'] = true; if (! empty($statement->from)) { $flags['select_from'] = true; } if ($statement->options->has('DISTINCT')) { $flags['distinct'] = true; } if (! empty($statement->group) || ! empty($statement->having)) { $flags['is_group'] = true; } if (! empty($statement->into) && ($statement->into->type === 'OUTFILE') ) { $flags['is_export'] = true; } $expressions = $statement->expr; if (! empty($statement->join)) { foreach ($statement->join as $join) { $expressions[] = $join->expr; } } foreach ($expressions as $expr) { if (! empty($expr->function)) { if ($expr->function === 'COUNT') { $flags['is_count'] = true; } elseif (in_array($expr->function, static::$FUNCTIONS)) { $flags['is_func'] = true; } } if (! empty($expr->subquery)) { $flags['is_subquery'] = true; } } if (! empty($statement->procedure) && ($statement->procedure->name === 'ANALYSE') ) { $flags['is_analyse'] = true; } if (! empty($statement->group)) { $flags['group'] = true; } if (! empty($statement->having)) { $flags['having'] = true; } if (! empty($statement->union)) { $flags['union'] = true; } if (! empty($statement->join)) { $flags['join'] = true; } return $flags; } /** * Gets an array with flags this statement has. * * @param Statement|null $statement the statement to be processed * @param bool $all if `false`, false values will not be included * * @return array */ public static function getFlags($statement, $all = false) { $flags = array('querytype' => false); if ($all) { $flags = self::$ALLFLAGS; } if ($statement instanceof AlterStatement) { $flags['querytype'] = 'ALTER'; $flags['reload'] = true; } elseif ($statement instanceof CreateStatement) { $flags['querytype'] = 'CREATE'; $flags['reload'] = true; } elseif ($statement instanceof AnalyzeStatement) { $flags['querytype'] = 'ANALYZE'; $flags['is_maint'] = true; } elseif ($statement instanceof CheckStatement) { $flags['querytype'] = 'CHECK'; $flags['is_maint'] = true; } elseif ($statement instanceof ChecksumStatement) { $flags['querytype'] = 'CHECKSUM'; $flags['is_maint'] = true; } elseif ($statement instanceof OptimizeStatement) { $flags['querytype'] = 'OPTIMIZE'; $flags['is_maint'] = true; } elseif ($statement instanceof RepairStatement) { $flags['querytype'] = 'REPAIR'; $flags['is_maint'] = true; } elseif ($statement instanceof CallStatement) { $flags['querytype'] = 'CALL'; $flags['is_procedure'] = true; } elseif ($statement instanceof DeleteStatement) { $flags['querytype'] = 'DELETE'; $flags['is_delete'] = true; $flags['is_affected'] = true; } elseif ($statement instanceof DropStatement) { $flags['querytype'] = 'DROP'; $flags['reload'] = true; if ($statement->options->has('DATABASE') || $statement->options->has('SCHEMA') ) { $flags['drop_database'] = true; } } elseif ($statement instanceof ExplainStatement) { $flags['querytype'] = 'EXPLAIN'; $flags['is_explain'] = true; } elseif ($statement instanceof InsertStatement) { $flags['querytype'] = 'INSERT'; $flags['is_affected'] = true; $flags['is_insert'] = true; } elseif ($statement instanceof LoadStatement) { $flags['querytype'] = 'LOAD'; $flags['is_affected'] = true; $flags['is_insert'] = true; } elseif ($statement instanceof ReplaceStatement) { $flags['querytype'] = 'REPLACE'; $flags['is_affected'] = true; $flags['is_replace'] = true; $flags['is_insert'] = true; } elseif ($statement instanceof SelectStatement) { $flags = self::getFlagsSelect($statement, $flags); } elseif ($statement instanceof ShowStatement) { $flags['querytype'] = 'SHOW'; $flags['is_show'] = true; } elseif ($statement instanceof UpdateStatement) { $flags['querytype'] = 'UPDATE'; $flags['is_affected'] = true; } elseif ($statement instanceof SetStatement) { $flags['querytype'] = 'SET'; } if (($statement instanceof SelectStatement) || ($statement instanceof UpdateStatement) || ($statement instanceof DeleteStatement) ) { if (! empty($statement->limit)) { $flags['limit'] = true; } if (! empty($statement->order)) { $flags['order'] = true; } } return $flags; } /** * Parses a query and gets all information about it. * * @param string $query the query to be parsed * * @return array The array returned is the one returned by * `static::getFlags()`, with the following keys added: * - parser - the parser used to analyze the query; * - statement - the first statement resulted from parsing; * - select_tables - the real name of the tables selected; * if there are no table names in the `SELECT` * expressions, the table names are fetched from the * `FROM` expressions * - select_expr - selected expressions */ public static function getAll($query) { $parser = new Parser($query); if (empty($parser->statements[0])) { return static::getFlags(null, true); } $statement = $parser->statements[0]; $ret = static::getFlags($statement, true); $ret['parser'] = $parser; $ret['statement'] = $statement; if ($statement instanceof SelectStatement) { $ret['select_tables'] = array(); $ret['select_expr'] = array(); // Finding tables' aliases and their associated real names. $tableAliases = array(); foreach ($statement->from as $expr) { if (isset($expr->table, $expr->alias) && ($expr->table !== '') && ($expr->alias !== '') ) { $tableAliases[$expr->alias] = array( $expr->table, isset($expr->database) ? $expr->database : null ); } } // Trying to find selected tables only from the select expression. // Sometimes, this is not possible because the tables aren't defined // explicitly (e.g. SELECT * FROM film, SELECT film_id FROM film). foreach ($statement->expr as $expr) { if (isset($expr->table) && ($expr->table !== '')) { if (isset($tableAliases[$expr->table])) { $arr = $tableAliases[$expr->table]; } else { $arr = array( $expr->table, (isset($expr->database) && ($expr->database !== '')) ? $expr->database : null ); } if (! in_array($arr, $ret['select_tables'])) { $ret['select_tables'][] = $arr; } } else { $ret['select_expr'][] = $expr->expr; } } // If no tables names were found in the SELECT clause or if there // are expressions like * or COUNT(*), etc. tables names should be // extracted from the FROM clause. if (empty($ret['select_tables'])) { foreach ($statement->from as $expr) { if (isset($expr->table) && ($expr->table !== '')) { $arr = array( $expr->table, (isset($expr->database) && ($expr->database !== '')) ? $expr->database : null ); if (! in_array($arr, $ret['select_tables'])) { $ret['select_tables'][] = $arr; } } } } } return $ret; } /** * Gets a list of all tables used in this statement. * * @param Statement $statement statement to be scanned * * @return array */ public static function getTables($statement) { $expressions = array(); if (($statement instanceof InsertStatement) || ($statement instanceof ReplaceStatement) ) { $expressions = array($statement->into->dest); } elseif ($statement instanceof UpdateStatement) { $expressions = $statement->tables; } elseif (($statement instanceof SelectStatement) || ($statement instanceof DeleteStatement) ) { $expressions = $statement->from; } elseif (($statement instanceof AlterStatement) || ($statement instanceof TruncateStatement) ) { $expressions = array($statement->table); } elseif ($statement instanceof DropStatement) { if (! $statement->options->has('TABLE')) { // No tables are dropped. return array(); } $expressions = $statement->fields; } elseif ($statement instanceof RenameStatement) { foreach ($statement->renames as $rename) { $expressions[] = $rename->old; } } $ret = array(); foreach ($expressions as $expr) { if (! empty($expr->table)) { $expr->expr = null; // Force rebuild. $expr->alias = null; // Aliases are not required. $ret[] = Expression::build($expr); } } return $ret; } /** * Gets a specific clause. * * @param Statement $statement the parsed query that has to be modified * @param TokensList $list the list of tokens * @param string $clause the clause to be returned * @param int|string $type The type of the search. * If int, * -1 for everything that was before * 0 only for the clause * 1 for everything after * If string, the name of the first clause that * should not be included. * @param bool $skipFirst whether to skip the first keyword in clause * * @return string */ public static function getClause($statement, $list, $clause, $type = 0, $skipFirst = true) { /** * The index of the current clause. * * @var int */ $currIdx = 0; /** * The count of brackets. * We keep track of them so we won't insert the clause in a subquery. * * @var int */ $brackets = 0; /** * The string to be returned. * * @var string */ $ret = ''; /** * The clauses of this type of statement and their index. * * @var array */ $clauses = array_flip(array_keys($statement->getClauses())); /** * Lexer used for lexing the clause. * * @var Lexer */ $lexer = new Lexer($clause); /** * The type of this clause. * * @var string */ $clauseType = $lexer->list->getNextOfType(Token::TYPE_KEYWORD)->keyword; /** * The index of this clause. * * @var int */ $clauseIdx = isset($clauses[$clauseType]) ? $clauses[$clauseType] : -1; $firstClauseIdx = $clauseIdx; $lastClauseIdx = $clauseIdx; // Determining the behavior of this function. if ($type === -1) { $firstClauseIdx = -1; // Something small enough. $lastClauseIdx = $clauseIdx - 1; } elseif ($type === 1) { $firstClauseIdx = $clauseIdx + 1; $lastClauseIdx = 10000; // Something big enough. } elseif (is_string($type) && isset($clauses[$type])) { if ($clauses[$type] > $clauseIdx) { $firstClauseIdx = $clauseIdx + 1; $lastClauseIdx = $clauses[$type] - 1; } else { $firstClauseIdx = $clauses[$type] + 1; $lastClauseIdx = $clauseIdx - 1; } } // This option is unavailable for multiple clauses. if ($type !== 0) { $skipFirst = false; } for ($i = $statement->first; $i <= $statement->last; ++$i) { $token = $list->tokens[$i]; if ($token->type === Token::TYPE_COMMENT) { continue; } if ($token->type === Token::TYPE_OPERATOR) { if ($token->value === '(') { ++$brackets; } elseif ($token->value === ')') { --$brackets; } } if ($brackets === 0) { // Checking if the section was changed. if (($token->type === Token::TYPE_KEYWORD) && isset($clauses[$token->keyword]) && ($clauses[$token->keyword] >= $currIdx) ) { $currIdx = $clauses[$token->keyword]; if ($skipFirst && ($currIdx === $clauseIdx)) { // This token is skipped (not added to the old // clause) because it will be replaced. continue; } } } if (($firstClauseIdx <= $currIdx) && ($currIdx <= $lastClauseIdx)) { $ret .= $token->token; } } return trim($ret); } /** * Builds a query by rebuilding the statement from the tokens list supplied * and replaces a clause. * * It is a very basic version of a query builder. * * @param Statement $statement the parsed query that has to be modified * @param TokensList $list the list of tokens * @param string $old The type of the clause that should be * replaced. This can be an entire clause. * @param string $new The new clause. If this parameter is omitted * it is considered to be equal with `$old`. * @param bool $onlyType whether only the type of the clause should * be replaced or the entire clause * * @return string */ public static function replaceClause($statement, $list, $old, $new = null, $onlyType = false) { // TODO: Update the tokens list and the statement. if ($new === null) { $new = $old; } if ($onlyType) { return static::getClause($statement, $list, $old, -1, false) . ' ' . $new . ' ' . static::getClause($statement, $list, $old, 0) . ' ' . static::getClause($statement, $list, $old, 1, false); } return static::getClause($statement, $list, $old, -1, false) . ' ' . $new . ' ' . static::getClause($statement, $list, $old, 1, false); } /** * Builds a query by rebuilding the statement from the tokens list supplied * and replaces multiple clauses. * * @param Statement $statement the parsed query that has to be modified * @param TokensList $list the list of tokens * @param array $ops Clauses to be replaced. Contains multiple * arrays having two values: array($old, $new). * Clauses must be sorted. * * @return string */ public static function replaceClauses($statement, $list, array $ops) { $count = count($ops); // Nothing to do. if ($count === 0) { return ''; } /** * Value to be returned. * * @var string */ $ret = ''; // If there is only one clause, `replaceClause()` should be used. if ($count === 1) { return static::replaceClause( $statement, $list, $ops[0][0], $ops[0][1] ); } // Adding everything before first replacement. $ret .= static::getClause($statement, $list, $ops[0][0], -1) . ' '; // Doing replacements. foreach ($ops as $i => $clause) { $ret .= $clause[1] . ' '; // Adding everything between this and next replacement. if ($i + 1 !== $count) { $ret .= static::getClause($statement, $list, $clause[0], $ops[$i + 1][0]) . ' '; } } // Adding everything after the last replacement. $ret .= static::getClause($statement, $list, $ops[$count - 1][0], 1); return $ret; } /** * Gets the first full statement in the query. * * @param string $query the query to be analyzed * @param string $delimiter the delimiter to be used * * @return array array containing the first full query, the * remaining part of the query and the last * delimiter */ public static function getFirstStatement($query, $delimiter = null) { $lexer = new Lexer($query, false, $delimiter); $list = $lexer->list; /** * Whether a full statement was found. * * @var bool */ $fullStatement = false; /** * The first full statement. * * @var string */ $statement = ''; for ($list->idx = 0; $list->idx < $list->count; ++$list->idx) { $token = $list->tokens[$list->idx]; if ($token->type === Token::TYPE_COMMENT) { continue; } $statement .= $token->token; if (($token->type === Token::TYPE_DELIMITER) && ! empty($token->token)) { $delimiter = $token->token; $fullStatement = true; break; } } // No statement was found so we return the entire query as being the // remaining part. if (! $fullStatement) { return array( null, $query, $delimiter ); } // At least one query was found so we have to build the rest of the // remaining query. $query = ''; for (++$list->idx; $list->idx < $list->count; ++$list->idx) { $query .= $list->tokens[$list->idx]->token; } return array( trim($statement), $query, $delimiter ); } /** * Gets a starting offset of a specific clause. * * @param Statement $statement the parsed query that has to be modified * @param TokensList $list the list of tokens * @param string $clause the clause to be returned * * @return int */ public static function getClauseStartOffset($statement, $list, $clause) { /** * The count of brackets. * We keep track of them so we won't insert the clause in a subquery. * * @var int */ $brackets = 0; /** * The clauses of this type of statement and their index. * * @var array */ $clauses = array_flip(array_keys($statement->getClauses())); for ($i = $statement->first; $i <= $statement->last; ++$i) { $token = $list->tokens[$i]; if ($token->type === Token::TYPE_COMMENT) { continue; } if ($token->type === Token::TYPE_OPERATOR) { if ($token->value === '(') { ++$brackets; } elseif ($token->value === ')') { --$brackets; } } if ($brackets === 0) { if (($token->type === Token::TYPE_KEYWORD) && isset($clauses[$token->keyword]) && ($clause === $token->keyword) ) { return $i; } elseif ($token->keyword === 'UNION') { return -1; } } } return -1; } } sql-parser-4.6.1/src/Utils/Routine.php000066400000000000000000000071331363525634600176610ustar00rootroot00000000000000list); if ($type === null) { return array( '', '', '', '', '' ); } $options = array(); foreach ($type->options->options as $opt) { $options[] = is_string($opt) ? $opt : $opt['value']; } return array( '', '', $type->name, implode(',', $type->parameters), implode(' ', $options) ); } /** * Parses a parameter of a routine. * * @param string $param parameter's definition * * @return array */ public static function getParameter($param) { $lexer = new Lexer('(' . $param . ')'); // A dummy parser is used for error reporting. $param = ParameterDefinition::parse(new Parser(), $lexer->list); if (empty($param[0])) { return array( '', '', '', '', '' ); } $param = $param[0]; $options = array(); foreach ($param->type->options->options as $opt) { $options[] = is_string($opt) ? $opt : $opt['value']; } return array( empty($param->inOut) ? '' : $param->inOut, $param->name, $param->type->name, implode(',', $param->type->parameters), implode(' ', $options) ); } /** * Gets the parameters of a routine from the parse tree. * * @param CreateStatement $statement the statement to be processed * * @return array */ public static function getParameters($statement) { $retval = array( 'num' => 0, 'dir' => array(), 'name' => array(), 'type' => array(), 'length' => array(), 'length_arr' => array(), 'opts' => array() ); if (! empty($statement->parameters)) { $idx = 0; foreach ($statement->parameters as $param) { $retval['dir'][$idx] = $param->inOut; $retval['name'][$idx] = $param->name; $retval['type'][$idx] = $param->type->name; $retval['length'][$idx] = implode(',', $param->type->parameters); $retval['length_arr'][$idx] = $param->type->parameters; $retval['opts'][$idx] = array(); foreach ($param->type->options->options as $opt) { $retval['opts'][$idx][] = is_string($opt) ? $opt : $opt['value']; } $retval['opts'][$idx] = implode(' ', $retval['opts'][$idx]); ++$idx; } $retval['num'] = $idx; } return $retval; } } sql-parser-4.6.1/src/Utils/Table.php000066400000000000000000000073371363525634600172710ustar00rootroot00000000000000fields) || (! is_array($statement->fields)) || (! $statement->options->has('TABLE')) ) { return array(); } $ret = array(); foreach ($statement->fields as $field) { if (empty($field->key) || ($field->key->type !== 'FOREIGN KEY')) { continue; } $columns = array(); foreach ($field->key->columns as $column) { $columns[] = $column['name']; } $tmp = array( 'constraint' => $field->name, 'index_list' => $columns ); if (! empty($field->references)) { $tmp['ref_db_name'] = $field->references->table->database; $tmp['ref_table_name'] = $field->references->table->table; $tmp['ref_index_list'] = $field->references->columns; if ($opt = $field->references->options->has('ON UPDATE')) { $tmp['on_update'] = str_replace(' ', '_', $opt); } if ($opt = $field->references->options->has('ON DELETE')) { $tmp['on_delete'] = str_replace(' ', '_', $opt); } // if (($opt = $field->references->options->has('MATCH'))) { // $tmp['match'] = str_replace(' ', '_', $opt); // } } $ret[] = $tmp; } return $ret; } /** * Gets fields of the table. * * @param CreateStatement $statement the statement to be processed * * @return array */ public static function getFields($statement) { if (empty($statement->fields) || (! is_array($statement->fields)) || (! $statement->options->has('TABLE')) ) { return array(); } $ret = array(); foreach ($statement->fields as $field) { // Skipping keys. if (empty($field->type)) { continue; } $ret[$field->name] = array( 'type' => $field->type->name, 'timestamp_not_null' => false ); if ($field->options) { if ($field->type->name === 'TIMESTAMP') { if ($field->options->has('NOT NULL')) { $ret[$field->name]['timestamp_not_null'] = true; } } if ($option = $field->options->has('DEFAULT')) { $ret[$field->name]['default_value'] = $option; if ($option === 'CURRENT_TIMESTAMP') { $ret[$field->name]['default_current_timestamp'] = true; } } if ($option = $field->options->has('ON UPDATE')) { if ($option === 'CURRENT_TIMESTAMP') { $ret[$field->name]['on_update_current_timestamp'] = true; } } if ($option = $field->options->has('AS')) { $ret[$field->name]['generated'] = true; $ret[$field->name]['expr'] = $option; } } } return $ret; } } sql-parser-4.6.1/src/Utils/Tokens.php000066400000000000000000000100561363525634600174750ustar00rootroot00000000000000token) ) { return false; } // Value. if (isset($pattern['value']) && ($pattern['value'] !== $token->value) ) { return false; } if (isset($pattern['value_str']) && strcasecmp($pattern['value_str'], $token->value) ) { return false; } // Type. if (isset($pattern['type']) && ($pattern['type'] !== $token->type) ) { return false; } // Flags. if (isset($pattern['flags']) && (($pattern['flags'] & $token->flags) === 0) ) { return false; } return true; } public static function replaceTokens($list, array $find, array $replace) { /** * Whether the first parameter is a list. * * @var bool */ $isList = $list instanceof TokensList; // Parsing the tokens. if (! $isList) { $list = Lexer::getTokens($list); } /** * The list to be returned. * * @var array */ $newList = array(); /** * The length of the find pattern is calculated only once. * * @var int */ $findCount = count($find); /** * The starting index of the pattern. * * @var int */ $i = 0; while ($i < $list->count) { // A sequence may not start with a comment. if ($list->tokens[$i]->type === Token::TYPE_COMMENT) { $newList[] = $list->tokens[$i]; ++$i; continue; } /** * The index used to parse `$list->tokens`. * * This index might be running faster than `$k` because some tokens * are skipped. * * @var int */ $j = $i; /** * The index used to parse `$find`. * * This index might be running slower than `$j` because some tokens * are skipped. * * @var int */ $k = 0; // Checking if the next tokens match the pattern described. while (($j < $list->count) && ($k < $findCount)) { // Comments are being skipped. if ($list->tokens[$j]->type === Token::TYPE_COMMENT) { ++$j; } if (! static::match($list->tokens[$j], $find[$k])) { // This token does not match the pattern. break; } // Going to next token and segment of find pattern. ++$j; ++$k; } // Checking if the sequence was found. if ($k === $findCount) { // Inserting new tokens. foreach ($replace as $token) { $newList[] = $token; } // Skipping next `$findCount` tokens. $i = $j; } else { // Adding the same token. $newList[] = $list->tokens[$i]; ++$i; } } return $isList ? new TokensList($newList) : TokensList::build($newList); } } sql-parser-4.6.1/tests/000077500000000000000000000000001363525634600147725ustar00rootroot00000000000000sql-parser-4.6.1/tests/Builder/000077500000000000000000000000001363525634600163605ustar00rootroot00000000000000sql-parser-4.6.1/tests/Builder/AlterStatementTest.php000066400000000000000000000007661363525634600226760ustar00rootroot00000000000000statements[0]; $this->assertEquals($query, $stmt->build()); } } sql-parser-4.6.1/tests/Builder/CallStatementTest.php000066400000000000000000000006001363525634600224650ustar00rootroot00000000000000statements[0]; $this->assertEquals($query, $stmt->build()); } } sql-parser-4.6.1/tests/Builder/CreateStatementTest.php000066400000000000000000000264471363525634600230360ustar00rootroot00000000000000statements[0]; $this->assertEquals( 'CREATE USER "jeffrey"@"localhost" IDENTIFIED BY "mypass"', $stmt->build() ); } public function testBuilderDatabase() { // CREATE DATABASE ... $parser = new Parser( 'CREATE DATABASE `mydb` ' . 'DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_general_ci' ); $stmt = $parser->statements[0]; $this->assertEquals( 'CREATE DATABASE `mydb` ' . 'DEFAULT CHARACTER SET=utf8 DEFAULT COLLATE=utf8_general_ci', $stmt->build() ); // CREATE SCHEMA ... $parser = new Parser( 'CREATE SCHEMA `mydb` ' . 'DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_general_ci' ); $stmt = $parser->statements[0]; $this->assertEquals( 'CREATE SCHEMA `mydb` ' . 'DEFAULT CHARACTER SET=utf8 DEFAULT COLLATE=utf8_general_ci', $stmt->build() ); } public function testBuilderDefaultInt() { $parser = new Parser( 'CREATE TABLE IF NOT EXISTS t1 (' . " c1 int(11) NOT NULL DEFAULT '0' COMMENT 'xxx'" . ') ENGINE=MyISAM' ); $stmt = $parser->statements[0]; $this->assertEquals( "CREATE TABLE IF NOT EXISTS t1 (\n" . " `c1` int(11) NOT NULL DEFAULT '0' COMMENT 'xxx'\n" . ') ENGINE=MyISAM', $stmt->build() ); } public function testBuilderCollate() { $parser = new Parser( 'CREATE TABLE IF NOT EXISTS t1 (' . " c1 varchar(11) NOT NULL DEFAULT '0' COLLATE 'utf8_czech_ci' COMMENT 'xxx'" . ') ENGINE=MyISAM' ); $stmt = $parser->statements[0]; $this->assertEquals( "CREATE TABLE IF NOT EXISTS t1 (\n" . " `c1` varchar(11) NOT NULL DEFAULT '0' COLLATE 'utf8_czech_ci' COMMENT 'xxx'\n" . ') ENGINE=MyISAM', $stmt->build() ); } public function testBuilderDefaultComment() { $parser = new Parser( 'CREATE TABLE `wp_audio` (' . " `somedata` int(11) DEFAULT NULL COMMENT 'ma data', " . " `someinfo` int(11) DEFAULT NULL COMMENT 'ma info' " . ' )' ); $stmt = $parser->statements[0]; $this->assertEquals( "CREATE TABLE `wp_audio` (\n" . " `somedata` int(11) DEFAULT NULL COMMENT 'ma data',\n" . " `someinfo` int(11) DEFAULT NULL COMMENT 'ma info'\n" . ') ', $stmt->build() ); } public function testBuilderTable() { /* Assertion 1 */ $stmt = new CreateStatement(); $stmt->name = new Expression('', 'test', ''); $stmt->options = new OptionsArray(array('TABLE')); $stmt->fields = array( new CreateDefinition( 'id', new OptionsArray(array('NOT NULL', 'AUTO_INCREMENT')), new DataType('INT', array(11), new OptionsArray(array('UNSIGNED'))) ), new CreateDefinition( '', null, new Key('', array(array('name' => 'id')), 'PRIMARY KEY') ) ); $this->assertEquals( "CREATE TABLE `test` (\n" . " `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,\n" . " PRIMARY KEY (`id`)\n" . ') ', $stmt->build() ); /* Assertion 2 */ $query = "CREATE TABLE `jos_core_acl_aro` (\n" . " `id` int(11) NOT NULL,\n" . " `section_value` varchar(240) NOT NULL DEFAULT '0',\n" . " `value` varchar(240) NOT NULL DEFAULT '',\n" . " `order_value` int(11) NOT NULL DEFAULT '0',\n" . " `name` varchar(255) NOT NULL DEFAULT '',\n" . " `hidden` int(11) NOT NULL DEFAULT '0',\n" . " PRIMARY KEY (`id`),\n" . " UNIQUE KEY `jos_section_value_value_aro` (`section_value`(100),`value`(15)) USING BTREE,\n" . " KEY `jos_gacl_hidden_aro` (`hidden`)\n" . ') ENGINE=InnoDB DEFAULT CHARSET=latin1'; $parser = new Parser($query); $this->assertEquals($query, $parser->statements[0]->build()); /* Assertion 3 */ $query = 'CREATE TABLE `table_copy` LIKE `old_table`'; $parser = new Parser($query); $this->assertEquals($query, $parser->statements[0]->build()); /* Assertion 4 */ $query = "CREATE TABLE `aa` (\n" . " `id` int(11) NOT NULL,\n" . " `rTime` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000' ON UPDATE CURRENT_TIMESTAMP(3),\n" . " PRIMARY KEY (`id`)\n" . ') ENGINE=InnoDB DEFAULT CHARSET=latin1'; $parser = new Parser($query); $this->assertEquals($query, $parser->statements[0]->build()); } public function testBuilderPartitions() { /* Assertion 1 */ $query = 'CREATE TABLE ts (' . "\n" . ' `id` int,' . "\n" . ' `purchased` date' . "\n" . ') ' . "\n" . 'PARTITION BY RANGE(YEAR(purchased))' . "\n" . 'PARTITIONS 3' . "\n" . 'SUBPARTITION BY HASH(TO_DAYS(purchased))' . "\n" . 'SUBPARTITIONS 2' . "\n" . '(' . "\n" . 'PARTITION p0 VALUES LESS THAN (1990) (' . "\n" . 'SUBPARTITION s0,' . "\n" . 'SUBPARTITION s1' . "\n" . '),' . "\n" . 'PARTITION p1 VALUES LESS THAN (2000) (' . "\n" . 'SUBPARTITION s2,' . "\n" . 'SUBPARTITION s3' . "\n" . '),' . "\n" . 'PARTITION p2 VALUES LESS THAN MAXVALUE (' . "\n" . 'SUBPARTITION s4,' . "\n" . 'SUBPARTITION s5' . "\n" . ')' . "\n" . ')'; $parser = new Parser($query); $this->assertEquals($query, $parser->statements[0]->build()); /* Assertion 2 */ $query = 'CREATE TABLE `pma_test` (' . "\n" . ' `test_id` int(32) NOT NULL,' . "\n" . ' `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP' . "\n" . ') ENGINE=InnoDB DEFAULT CHARSET=utf8' . "\n" . 'PARTITION BY RANGE (test_id)' . "\n" . '(' . "\n" . 'PARTITION p0 VALUES LESS THAN (250000) ENGINE=InnoDB,' . "\n" . 'PARTITION p1 VALUES LESS THAN (500000) ENGINE=InnoDB,' . "\n" . 'PARTITION p2 VALUES LESS THAN (750000) ENGINE=InnoDB,' . "\n" . 'PARTITION p3 VALUES LESS THAN (1000000) ENGINE=InnoDB,' . "\n" . 'PARTITION p4 VALUES LESS THAN (1250000) ENGINE=InnoDB,' . "\n" . 'PARTITION p5 VALUES LESS THAN (1500000) ENGINE=InnoDB,' . "\n" . 'PARTITION p6 VALUES LESS THAN MAXVALUE ENGINE=InnoDB' . "\n" . ')'; $parser = new Parser($query); $this->assertEquals($query, $parser->statements[0]->build()); } public function partitionQueries() { return array( array( 'subparts' => << <<statements[0]; $this->assertEquals($query, $stmt->build()); } public function testBuilderView() { $parser = new Parser( 'CREATE VIEW myView (vid, vfirstname) AS ' . 'SELECT id, first_name FROM employee WHERE id = 1' ); $stmt = $parser->statements[0]; $this->assertEquals( 'CREATE VIEW myView (vid, vfirstname) AS ' . 'SELECT id, first_name FROM employee WHERE id = 1 ', $stmt->build() ); $parser = new Parser( 'CREATE OR REPLACE VIEW myView (vid, vfirstname) AS ' . 'SELECT id, first_name FROM employee WHERE id = 1' ); $stmt = $parser->statements[0]; $this->assertEquals( 'CREATE OR REPLACE VIEW myView (vid, vfirstname) AS ' . 'SELECT id, first_name FROM employee WHERE id = 1 ', $stmt->build() ); } public function testBuilderTrigger() { $stmt = new CreateStatement(); $stmt->options = new OptionsArray(array('TRIGGER')); $stmt->name = new Expression('ins_sum'); $stmt->entityOptions = new OptionsArray(array('BEFORE', 'INSERT')); $stmt->table = new Expression('account'); $stmt->body = 'SET @sum = @sum + NEW.amount'; $this->assertEquals( 'CREATE TRIGGER ins_sum BEFORE INSERT ON account ' . 'FOR EACH ROW SET @sum = @sum + NEW.amount', $stmt->build() ); } public function testBuilderRoutine() { $parser = new Parser( 'CREATE FUNCTION test (IN `i` INT) RETURNS VARCHAR ' . 'BEGIN ' . 'DECLARE name VARCHAR DEFAULT ""; ' . 'SELECT name INTO name FROM employees WHERE id = i; ' . 'RETURN name; ' . 'END' ); $stmt = $parser->statements[0]; $this->assertEquals( 'CREATE FUNCTION test (IN `i` INT) RETURNS VARCHAR ' . 'BEGIN ' . 'DECLARE name VARCHAR DEFAULT ""; ' . 'SELECT name INTO name FROM employees WHERE id = i; ' . 'RETURN name; ' . 'END', $stmt->build() ); } public function testBuildSelect() { $parser = new Parser( 'CREATE TABLE new_tbl SELECT * FROM orig_tbl' ); $this->assertEquals( 'CREATE TABLE new_tbl SELECT * FROM orig_tbl', $parser->statements[0]->build() ); } } sql-parser-4.6.1/tests/Builder/DeleteStatementTest.php000066400000000000000000000052561363525634600230300ustar00rootroot00000000000000statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 2 */ $query = 'DELETE IGNORE FROM t1 WHERE 1=1'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 3 */ $query = 'DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id ASC'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 4 */ $query = 'DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id ASC LIMIT 0, 25'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 5 */ $query = 'DELETE IGNORE FROM t1'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 6 */ $query = 'DELETE LOW_PRIORITY FROM `test`.users ' . 'WHERE `id`<3 AND (username="Dan" OR username="Paul") ORDER BY id ASC'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); } public function testBuilderMultiTable() { /* Assertion 1 */ $query = 'DELETE QUICK table1, table2.* FROM table1 AS `t1`, table2 AS `t2`'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 2 */ $query = 'DELETE QUICK table1, table2.* FROM table1 AS `t1`, table2 AS `t2` WHERE 1=1'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 3 */ $query = 'DELETE QUICK FROM table1, table2.* USING table1 AS `t1`, table2 AS `t2` WHERE 1=1'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 4 */ $query = 'DELETE LOW_PRIORITY t1, t2 FROM t1 INNER JOIN t2 ' . 'INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); } } sql-parser-4.6.1/tests/Builder/ExplainStatementTest.php000066400000000000000000000007211363525634600232160ustar00rootroot00000000000000statements[0]; $this->assertEquals( ' EXPLAIN SELECT * FROM test', $stmt->build() ); } } sql-parser-4.6.1/tests/Builder/InsertStatementTest.php000066400000000000000000000042661363525634600230720ustar00rootroot00000000000000statements[0]; $this->assertEquals( 'INSERT INTO tbl(`col1`, `col2`, `col3`) VALUES (1, "str", 3.14)', $stmt->build() ); /* Assertion 2 */ /* Reserved keywords (with backqoutes as field name) */ $parser = new Parser( 'INSERT INTO tbl(`order`) VALUES (1)' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT INTO tbl(`order`) VALUES (1)', $stmt->build() ); /* Assertion 3 */ /* INSERT ... SET ... */ $parser = new Parser( 'INSERT INTO tbl SET FOO = 1' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT INTO tbl SET FOO = 1', $stmt->build() ); /* Assertion 4 */ /* INSERT ... SELECT ... */ $parser = new Parser( 'INSERT INTO tbl SELECT * FROM bar' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT INTO tbl SELECT * FROM bar', $stmt->build() ); /* Assertion 5 */ /* INSERT ... ON DUPLICATE KEY UPDATE ... */ $parser = new Parser( 'INSERT INTO tbl SELECT * FROM bar ON DUPLICATE KEY UPDATE baz = 1' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT INTO tbl SELECT * FROM bar ON DUPLICATE KEY UPDATE baz = 1', $stmt->build() ); /* Assertion 6 */ /* INSERT array(OPTIONS] INTO ... */ $parser = new Parser( 'INSERT DELAYED IGNORE INTO tbl SELECT * FROM bar' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT DELAYED IGNORE INTO tbl SELECT * FROM bar', $stmt->build() ); } } sql-parser-4.6.1/tests/Builder/LoadStatementTest.php000066400000000000000000000065301363525634600225010ustar00rootroot00000000000000statements[0]; $this->assertEquals( 'LOAD DATA CONCURRENT INFILE ' . '\'employee1.txt\' INTO TABLE employee', $stmt->build() ); /* Assertion 2 */ $query = 'LOAD DATA INFILE \'/tmp/test.txt\' ' . 'INTO TABLE test FIELDS TERMINATED BY ' . '\',\' IGNORE 1 LINES'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'LOAD DATA INFILE \'/tmp/test.txt\' ' . 'INTO TABLE test FIELDS TERMINATED BY ' . '\',\' IGNORE 1 LINES', $stmt->build() ); /* Assertion 3 */ $query = 'LOAD DATA INFILE \'employee3.txt\' ' . 'INTO TABLE employee FIELDS TERMINATED BY ' . '\',\' ENCLOSED BY \'"\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'LOAD DATA INFILE \'employee3.txt\' ' . 'INTO TABLE employee FIELDS TERMINATED BY ' . '\',\' ENCLOSED BY \'"\'', $stmt->build() ); /* Assertion 4 */ $query = 'LOAD DATA INFILE \'/tmp/test.txt\' IGNORE ' . 'INTO TABLE test ' . 'CHARACTER SET \'utf8\' ' . 'COLUMNS TERMINATED BY \',\' ' . 'LINES TERMINATED BY \';\' ' . 'IGNORE 1 LINES (col1, col2) SET @a = 1'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'LOAD DATA INFILE \'/tmp/test.txt\' IGNORE ' . 'INTO TABLE test ' . 'CHARACTER SET \'utf8\' ' . 'COLUMNS TERMINATED BY \',\' ' . 'LINES TERMINATED BY \';\' ' . 'IGNORE 1 LINES (col1, col2) SET @a = 1', $stmt->build() ); /* Assertion 5 */ $query = 'LOAD DATA INFILE \'/tmp/test.txt\' REPLACE ' . 'INTO TABLE test COLUMNS TERMINATED BY \',\' IGNORE 1 ROWS'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'LOAD DATA INFILE \'/tmp/test.txt\' REPLACE ' . 'INTO TABLE test COLUMNS TERMINATED BY \',\' IGNORE 1 ROWS', $stmt->build() ); /* Assertion 6 */ $query = 'LOAD DATA INFILE \'/tmp/test.txt\' IGNORE ' . 'INTO TABLE test PARTITION (p0, p1, p2) CHARACTER SET \'utf8\' ' . 'COLUMNS TERMINATED BY \',\' LINES TERMINATED BY \';\' ' . 'IGNORE 1 LINES (col1, col2) SET @a = 1'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'LOAD DATA INFILE \'/tmp/test.txt\' IGNORE ' . 'INTO TABLE test PARTITION (p0, p1, p2) CHARACTER SET \'utf8\' ' . 'COLUMNS TERMINATED BY \',\' LINES TERMINATED BY \';\' ' . 'IGNORE 1 LINES (col1, col2) SET @a = 1', $stmt->build() ); } } sql-parser-4.6.1/tests/Builder/LockStatementTest.php000066400000000000000000000033321363525634600225070ustar00rootroot00000000000000statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 2 */ $query = 'LOCK TABLES table1 AS `t1` READ'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 3 */ $query = 'LOCK TABLES table1 AS `t1` LOW_PRIORITY WRITE'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 4 */ $query = 'LOCK TABLES table1 AS `t1` WRITE'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 5 */ $query = 'LOCK TABLES table1 AS `t1` READ LOCAL, table2 AS `t2` WRITE'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 6 */ $query = 'LOCK TABLES table1 READ LOCAL, table2 AS `t2` WRITE'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); /* Assertion 7 */ $query = 'UNLOCK TABLES'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); } } sql-parser-4.6.1/tests/Builder/PurgeStatementTest.php000066400000000000000000000011441363525634600227000ustar00rootroot00000000000000statements[0]; $this->assertEquals($query, $stmt->build()); $query = 'PURGE BINARY LOGS BEFORE \'2008-04-02 22:46:26\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); } } sql-parser-4.6.1/tests/Builder/RenameStatementTest.php000066400000000000000000000020011363525634600230160ustar00rootroot00000000000000statements[0]; $this->assertEquals( $query, $stmt->build() ); $query = 'RENAME TABLE current_db.tbl_name TO other_db.tbl_name'; $parser = new Parser( $query ); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); $query = 'RENAME TABLE old_table1 TO new_table1, old_table2 TO new_table2, old_table3 TO new_table3'; $parser = new Parser( $query ); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); } } sql-parser-4.6.1/tests/Builder/ReplaceStatementTest.php000066400000000000000000000032101363525634600231650ustar00rootroot00000000000000statements[0]; $this->assertEquals( 'REPLACE INTO tbl(`col1`, `col2`, `col3`) VALUES (1, "str", 3.14)', $stmt->build() ); } public function testBuilderSet() { $parser = new Parser( 'REPLACE INTO tbl(col1, col2, col3) SET col1=1, col2="str", col3=3.14' ); $stmt = $parser->statements[0]; $this->assertEquals( 'REPLACE INTO tbl(`col1`, `col2`, `col3`) SET col1 = 1, col2 = "str", col3 = 3.14', $stmt->build() ); } public function testBuilderSelect() { $parser = new Parser( 'REPLACE INTO tbl(col1, col2, col3) SELECT col1, col2, col3 FROM tbl2' ); $stmt = $parser->statements[0]; $this->assertEquals( 'REPLACE INTO tbl(`col1`, `col2`, `col3`) SELECT col1, col2, col3 FROM tbl2', $stmt->build() ); } public function testBuilderSelectDelayed() { $parser = new Parser( 'REPLACE DELAYED INTO tbl(col1, col2, col3) SELECT col1, col2, col3 FROM tbl2' ); $stmt = $parser->statements[0]; $this->assertEquals( 'REPLACE DELAYED INTO tbl(`col1`, `col2`, `col3`) SELECT col1, col2, col3 FROM tbl2', $stmt->build() ); } } sql-parser-4.6.1/tests/Builder/SelectStatementTest.php000066400000000000000000000213031363525634600230340ustar00rootroot00000000000000statements[0]; $this->assertEquals( 'SELECT * FROM t1 LEFT JOIN (t2, t3, t4) ' . 'ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)', $stmt->build() ); } public function testBuilderUnion() { $parser = new Parser('SELECT 1 UNION SELECT 2'); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT 1 UNION SELECT 2', $stmt->build() ); } public function testBuilderAlias() { $parser = new Parser( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` sgu ' . 'RIGHT JOIN `student_course_booking` scb ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ' . 'ORDER BY scb.id DESC LIMIT 0,300' ); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` AS `sgu` ' . 'RIGHT JOIN `student_course_booking` AS `scb` ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ' . 'ORDER BY scb.id DESC LIMIT 0, 300', $stmt->build() ); } public function testBuilderAliasOrder() { $parser = new Parser( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` sgu ' . 'RIGHT JOIN `student_course_booking` scb ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ' . 'ORDER BY scb.id LIMIT 0,300' ); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` AS `sgu` ' . 'RIGHT JOIN `student_course_booking` AS `scb` ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ' . 'ORDER BY scb.id ASC LIMIT 0, 300', $stmt->build() ); } public function testBuilderAliasOrderMultiple() { $parser = new Parser( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` sgu ' . 'RIGHT JOIN `student_course_booking` scb ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ' . 'ORDER BY scb.id DESC, scb.order LIMIT 0,300' ); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` AS `sgu` ' . 'RIGHT JOIN `student_course_booking` AS `scb` ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ' . 'ORDER BY scb.id DESC, scb.order ASC LIMIT 0, 300', $stmt->build() ); } public function testBuilderAliasOrderMultipleFunctions() { $parser = new Parser( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` sgu ' . 'RIGHT JOIN `student_course_booking` scb ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ' . 'ORDER BY scb.id DESC, YEAR(scb.dob) LIMIT 0,300' ); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` AS `sgu` ' . 'RIGHT JOIN `student_course_booking` AS `scb` ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ' . 'ORDER BY scb.id DESC, YEAR(scb.dob) ASC LIMIT 0, 300', $stmt->build() ); } public function testBuilderAliasGroupByMultipleFunctions() { $parser = new Parser( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` sgu ' . 'RIGHT JOIN `student_course_booking` scb ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' ' . 'GROUP BY scb.id, YEAR(scb.dob) LIMIT 0,300' ); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` AS `sgu` ' . 'RIGHT JOIN `student_course_booking` AS `scb` ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' ' . 'GROUP BY scb.id, YEAR(scb.dob) LIMIT 0, 300', $stmt->build() ); } public function testBuilderAliasGroupByMultipleFunctionsOrderRemoved() { $parser = new Parser( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` sgu ' . 'RIGHT JOIN `student_course_booking` scb ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' ' . 'GROUP BY scb.id ASC, YEAR(scb.dob) DESC LIMIT 0,300' ); $stmt = $parser->statements[0]; // The order is not kept, is this an expected behavior ? // Ref: 4af06d24b041e499fb0e75ab3a98caf9a91700ef // Issue: #154 $this->assertEquals( 'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` AS `sgu` ' . 'RIGHT JOIN `student_course_booking` AS `scb` ON sgu.id = scb.user_id ' . 'WHERE `has_found_course` = \'1\' ' . 'GROUP BY scb.id, YEAR(scb.dob) LIMIT 0, 300', $stmt->build() ); } public function testBuilderAliasOrderCase() { $parser = new Parser( 'SELECT * FROM `world_borders` ORDER BY CASE ' . 'WHEN REGION = 2 THEN 99 ' . 'WHEN REGION > 3 THEN REGION+1 ' . 'ELSE 100 END LIMIT 0,300' ); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT * FROM `world_borders` ORDER BY CASE ' . 'WHEN REGION = 2 THEN 99 ' . 'WHEN REGION > 3 THEN REGION+1 ' . 'ELSE 100 END ASC LIMIT 0, 300', $stmt->build() ); } public function testBuilderAliasGroupByCase() { $parser = new Parser( 'SELECT * FROM `world_borders` GROUP BY CASE ' . 'WHEN REGION = 2 THEN 99 ' . 'WHEN REGION > 3 THEN REGION+1 ' . 'ELSE 100 END LIMIT 0,300' ); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT * FROM `world_borders` GROUP BY CASE ' . 'WHEN REGION = 2 THEN 99 ' . 'WHEN REGION > 3 THEN REGION+1 ' . 'ELSE 100 END LIMIT 0, 300', $stmt->build() ); } public function testBuilderEndOptions() { /* Assertion 1 */ $query = 'SELECT pid, name2 FROM tablename WHERE pid = 20 FOR UPDATE'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); /* Assertion 2 */ $query = 'SELECT pid, name2 FROM tablename WHERE pid = 20 LOCK IN SHARE MODE'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); } public function testBuilderIntoOptions() { /* Assertion 1 */ $query = 'SELECT a, b, a+b INTO OUTFILE "/tmp/result.txt"' . ' COLUMNS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\'' . ' LINES TERMINATED BY \'\n\'' . ' FROM test_table'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); } public function testBuilderGroupBy() { $query = 'SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); } public function testBuilderIndexHint() { $query = 'SELECT * FROM address FORCE INDEX (idx_fk_city_id) IGNORE KEY FOR GROUP BY (a, b,c) WHERE city_id<0'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); } public function testBuilderSurroundedByParanthesisWithLimit() { $query = '(SELECT first_name FROM `actor` LIMIT 1, 2)'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SELECT first_name FROM `actor` LIMIT 1, 2', $stmt->build() ); } } sql-parser-4.6.1/tests/Builder/SetStatementTest.php000066400000000000000000000104351363525634600223540ustar00rootroot00000000000000statements[0]; $this->assertEquals( $query, $stmt->build() ); /* Assertion 2 */ $query = 'SET CHARSET \'utf8\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); /* Assertion 3 */ $query = 'SET NAMES \'utf8\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( $query, $stmt->build() ); /* Assertion 4 */ $query = 'SET NAMES \'utf8\' COLLATE \'utf8_general_ci\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET NAMES \'utf8\' COLLATE \'utf8_general_ci\'', $stmt->build() ); /* Assertion 5 */ $query = 'SET NAMES \'utf8\' DEFAULT'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET NAMES \'utf8\' DEFAULT', $stmt->build() ); /* Assertion 6 */ $query = 'SET sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 7 */ $query = 'SET SESSION sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET SESSION sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 8 */ $query = 'SET GLOBAL sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET GLOBAL sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 9 */ $query = 'SET @@SESSION sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET SESSION sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 10 */ $query = 'SET @@GLOBAL sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET GLOBAL sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 11 */ $query = 'SET @@sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET @@sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 12 */ $query = 'SET PERSIST sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET PERSIST sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 13 */ $query = 'SET PERSIST_ONLY sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET PERSIST_ONLY sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 14 */ $query = 'SET @@PERSIST sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET PERSIST sql_mode = \'TRADITIONAL\'', $stmt->build() ); /* Assertion 15 */ $query = 'SET @@PERSIST_ONLY sql_mode = \'TRADITIONAL\''; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals( 'SET PERSIST_ONLY sql_mode = \'TRADITIONAL\'', $stmt->build() ); } } sql-parser-4.6.1/tests/Builder/StatementTest.php000066400000000000000000000023411363525634600216750ustar00rootroot00000000000000options = new OptionsArray(array('DISTINCT')); $stmt->expr[] = new Expression('sakila', 'film', 'film_id', 'fid'); $stmt->expr[] = new Expression('COUNT(film_id)'); $stmt->from[] = new Expression('', 'film', ''); $stmt->from[] = new Expression('', 'actor', ''); $stmt->where[] = new Condition('film_id > 10'); $stmt->where[] = new Condition('OR'); $stmt->where[] = new Condition('actor.age > 25'); $stmt->limit = new Limit(1, 10); $this->assertEquals( 'SELECT DISTINCT `sakila`.`film`.`film_id` AS `fid`, COUNT(film_id) ' . 'FROM `film`, `actor` ' . 'WHERE film_id > 10 OR actor.age > 25 ' . 'LIMIT 10, 1', (string) $stmt ); } } sql-parser-4.6.1/tests/Builder/TransactionStatementTest.php000066400000000000000000000013501363525634600241020ustar00rootroot00000000000000statements[0]; $this->assertEquals( 'START TRANSACTION;' . 'SELECT @A:=SUM(salary) FROM table1 WHERE type=1;' . 'UPDATE table2 SET summary = @A WHERE type=1;' . 'COMMIT', $stmt->build() ); } } sql-parser-4.6.1/tests/Builder/TruncateStatementTest.php000066400000000000000000000015701363525634600234060ustar00rootroot00000000000000statements[0]; $this->assertEquals($query, $stmt->build()); } public function testBuilderDbtable() { $query = 'TRUNCATE TABLE mydb.mytable;'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); } public function testBuilderDbtableBackQuotes() { $query = 'TRUNCATE TABLE `mydb`.`mytable`;'; $parser = new Parser($query); $stmt = $parser->statements[0]; $this->assertEquals($query, $stmt->build()); } } sql-parser-4.6.1/tests/Components/000077500000000000000000000000001363525634600171175ustar00rootroot00000000000000sql-parser-4.6.1/tests/Components/Array2dTest.php000066400000000000000000000053561363525634600220050ustar00rootroot00000000000000getTokensList('(1, 2) +')); $this->assertEquals( array( 1, 2, ), $arrays[0]->values ); } public function testBuild() { $arrays = Array2d::parse(new Parser(), $this->getTokensList('(1, 2), (3, 4), (5, 6)')); $this->assertEquals( '(1, 2), (3, 4), (5, 6)', Array2d::build($arrays) ); } public function testParseErr1() { $parser = new Parser(); Array2d::parse($parser, $this->getTokensList('(1, 2 +')); $this->markTestIncomplete( 'This test has not been implemented yet.' ); } public function testParseErr2() { $parser = new Parser(); Array2d::parse($parser, $this->getTokensList('(1, 2 TABLE')); $this->markTestIncomplete( 'This test has not been implemented yet.' ); } public function testParseErr3() { $parser = new Parser(); Array2d::parse($parser, $this->getTokensList(')')); $this->assertCount( 1, $parser->errors ); $this->assertEquals( 'An opening bracket followed by a set of values was expected.', $parser->errors[0]->getMessage() ); } public function testParseErr4() { $parser = new Parser(); Array2d::parse($parser, $this->getTokensList('TABLE')); $this->assertCount( 1, $parser->errors ); $this->assertEquals( 'An opening bracket followed by a set of values was expected.', $parser->errors[0]->getMessage() ); } public function testParseErr5() { $parser = new Parser(); Array2d::parse($parser, $this->getTokensList('(1, 2),')); $this->assertCount( 1, $parser->errors ); $this->assertEquals( 'An opening bracket followed by a set of values was expected.', $parser->errors[0]->getMessage() ); } public function testParseErr6() { $parser = new Parser(); Array2d::parse($parser, $this->getTokensList('(1, 2),(3)')); $this->assertCount( 1, $parser->errors ); $this->assertEquals( '2 values were expected, but found 1.', $parser->errors[0]->getMessage() ); } } sql-parser-4.6.1/tests/Components/ArrayObjTest.php000066400000000000000000000026231363525634600222040ustar00rootroot00000000000000assertEquals('(a, b)', ArrayObj::build($component)); } public function testBuildValues() { $component = new ArrayObj(array(), array('a', 'b')); $this->assertEquals('(a, b)', ArrayObj::build($component)); } public function testParseType() { $components = ArrayObj::parse( new Parser(), $this->getTokensList('(1 + 2, 3 + 4)'), array( 'type' => 'PhpMyAdmin\\SqlParser\\Components\\Expression', 'typeOptions' => array( 'breakOnParentheses' => true, ) ) ); $this->assertEquals($components[0]->expr, '1 + 2'); $this->assertEquals($components[1]->expr, '3 + 4'); } /** * @dataProvider parseProvider * * @param mixed $test */ public function testParse($test) { $this->runParserTest($test); } public function parseProvider() { return array( array('parser/parseArrayErr1'), array('parser/parseArrayErr3') ); } } sql-parser-4.6.1/tests/Components/CaseExpressionTest.php000066400000000000000000000076071363525634600234350ustar00rootroot00000000000000getTokensList($caseExprQuery) ); $this->assertEquals( CaseExpression::build($component), 'CASE 1 WHEN 1 THEN "Some" ELSE "Other" END' ); } public function testParseBuild2() { $caseExprQuery = 'case when 1=1 then "India" else "Other" end'; $component = CaseExpression::parse( new Parser(), $this->getTokensList($caseExprQuery) ); $this->assertEquals( CaseExpression::build($component), 'CASE WHEN 1=1 THEN "India" ELSE "Other" END' ); } public function testParseBuild3() { $caseExprQuery = 'case 1 when 1 then "Some" ' . 'when 2 then "SomeOther" else "Other" end'; $component = CaseExpression::parse( new Parser(), $this->getTokensList($caseExprQuery) ); $this->assertEquals( CaseExpression::build($component), 'CASE 1 WHEN 1 THEN "Some" WHEN 2 THEN "SomeOther" ELSE "Other" END' ); } public function testParseBuild4() { $caseExprQuery = 'case 1 when 1 then "Some" ' . 'when 2 then "SomeOther" end'; $component = CaseExpression::parse( new Parser(), $this->getTokensList($caseExprQuery) ); $this->assertEquals( CaseExpression::build($component), 'CASE 1 WHEN 1 THEN "Some" WHEN 2 THEN "SomeOther" END' ); } public function testParseBuild5() { $caseExprQuery = 'case when 1=1 then "Some" ' . 'when 1=2 then "SomeOther" else "Other" end'; $component = CaseExpression::parse( new Parser(), $this->getTokensList($caseExprQuery) ); $this->assertEquals( CaseExpression::build($component), 'CASE WHEN 1=1 THEN "Some" WHEN 1=2 THEN "SomeOther" ELSE "Other" END' ); } public function testParseBuild6() { $caseExprQuery = 'case when 1=1 then "Some" ' . 'when 1=2 then "SomeOther" end'; $component = CaseExpression::parse( new Parser(), $this->getTokensList($caseExprQuery) ); $this->assertEquals( CaseExpression::build($component), 'CASE WHEN 1=1 THEN "Some" WHEN 1=2 THEN "SomeOther" END' ); } public function testParseBuild7() { $caseExprQuery = 'case when 1=1 then "Some" ' . 'when 1=2 then "SomeOther" end AS foo'; $component = CaseExpression::parse( new Parser(), $this->getTokensList($caseExprQuery) ); $this->assertEquals( CaseExpression::build($component), 'CASE WHEN 1=1 THEN "Some" WHEN 1=2 THEN "SomeOther" END AS `foo`' ); } public function testParseBuild8() { $caseExprQuery = 'case when 1=1 then "Some" ' . 'when 1=2 then "SomeOther" end foo'; $component = CaseExpression::parse( new Parser(), $this->getTokensList($caseExprQuery) ); $this->assertEquals( CaseExpression::build($component), 'CASE WHEN 1=1 THEN "Some" WHEN 1=2 THEN "SomeOther" END AS `foo`' ); } public function testBuildWithIncompleteCaseExpression() { $incomplete_case_expression_component = new CaseExpression(); $this->assertEquals('CASE END', CaseExpression::build($incomplete_case_expression_component)); } } sql-parser-4.6.1/tests/Components/ComponentTest.php000066400000000000000000000013011363525634600224250ustar00rootroot00000000000000getTokensList('/* id = */ id = 10')); $this->assertEquals($component[0]->expr, 'id = 10'); } public function testParseBetween() { $component = Condition::parse(new Parser(), $this->getTokensList('(id BETWEEN 10 AND 20) OR (id BETWEEN 30 AND 40)')); $this->assertEquals($component[0]->expr, '(id BETWEEN 10 AND 20)'); $this->assertEquals($component[1]->expr, 'OR'); $this->assertEquals($component[2]->expr, '(id BETWEEN 30 AND 40)'); } } sql-parser-4.6.1/tests/Components/CreateDefinitionTest.php000066400000000000000000000054121363525634600237060ustar00rootroot00000000000000getTokensList('(str TEXT, FULLTEXT INDEX indx (str))') ); $this->assertEquals('str', $component[0]->name); $this->assertEquals('FULLTEXT INDEX', $component[1]->key->type); $this->assertEquals('indx', $component[1]->key->name); $this->assertEquals('FULLTEXT INDEX `indx` (`str`)', (string) $component[1]); } public function testParseErr1() { $parser = new Parser(); $component = CreateDefinition::parse( $parser, $this->getTokensList('(str TEXT, FULLTEXT INDEX indx (str)') ); $this->assertCount(2, $component); $this->assertEquals( 'A closing bracket was expected.', $parser->errors[0]->getMessage() ); } public function testParseErr2() { $parser = new Parser(); CreateDefinition::parse( $parser, $this->getTokensList(')') ); $this->assertEquals( 'An opening bracket was expected.', $parser->errors[0]->getMessage() ); } public function testBuild() { $parser = new Parser( 'CREATE TABLE `payment` (' . '-- snippet' . "\n" . '`customer_id` smallint(5) unsigned NOT NULL,' . 'CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE' . ') ENGINE=InnoDB"' ); $this->assertEquals( 'CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE', CreateDefinition::build($parser->statements[0]->fields[1]) ); } public function testBuild2() { $parser = new Parser( 'CREATE TABLE `payment` (' . '-- snippet' . "\n" . '`customer_id` smallint(5) unsigned NOT NULL,' . '`customer_data` longtext CHARACTER SET utf8mb4 CHARSET utf8mb4_bin NOT NULL CHECK (json_valid(customer_data)),' . 'CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE' . ') ENGINE=InnoDB"' ); $this->assertEquals( 'CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE', CreateDefinition::build($parser->statements[0]->fields[2]) ); } } sql-parser-4.6.1/tests/Components/ExpressionArrayTest.php000066400000000000000000000015671363525634600236370ustar00rootroot00000000000000getTokensList('(expr)'), array( 'breakOnParentheses' => true ) ); $this->assertEquals(array(), $component); } public function testParse2() { $component = ExpressionArray::parse( new Parser(), $this->getTokensList('(expr) +'), array( 'parenthesesDelimited' => true ) ); $this->assertCount(1, $component); $this->assertEquals('(expr)', $component[0]->expr); } } sql-parser-4.6.1/tests/Components/ExpressionTest.php000066400000000000000000000037071363525634600226360ustar00rootroot00000000000000getTokensList('IF(film_id > 0, film_id, film_id)')); $this->assertEquals($component->expr, 'IF(film_id > 0, film_id, film_id)'); } public function testParse2() { $component = Expression::parse(new Parser(), $this->getTokensList('col`test`')); $this->assertEquals($component->expr, 'col'); } /** * @dataProvider parseErrProvider * * @param mixed $expr * @param mixed $error */ public function testParseErr($expr, $error) { $parser = new Parser(); Expression::parse($parser, $this->getTokensList($expr)); $errors = $this->getErrorsAsArray($parser); $this->assertEquals($errors[0][0], $error); } public function parseErrProvider() { return array( /* array( '(1))', 'Unexpected closing bracket.', ), */ array( 'tbl..col', 'Unexpected dot.', ), array( 'id AS AS id2', 'An alias was expected.', ), array( 'id`id2`\'id3\'', 'An alias was previously found.', ), array( '(id) id2 id3', 'An alias was previously found.', ) ); } public function testBuild() { $component = array( new Expression('1 + 2', 'three'), new Expression('1 + 3', 'four') ); $this->assertEquals( Expression::build($component), '1 + 2 AS `three`, 1 + 3 AS `four`' ); } } sql-parser-4.6.1/tests/Components/FunctionCallTest.php000066400000000000000000000011731363525634600230530ustar00rootroot00000000000000assertEquals('func(a, b)', FunctionCall::build($component)); } public function testBuildArrayObj() { $component = new FunctionCall('func', new ArrayObj(array('a', 'b'))); $this->assertEquals('func(a, b)', FunctionCall::build($component)); } } sql-parser-4.6.1/tests/Components/GroupKeywordTest.php000066400000000000000000000011451363525634600231320ustar00rootroot00000000000000assertEquals( GroupKeyword::build( array( new GroupKeyword(new Expression('a')), new GroupKeyword(new Expression('b')), new GroupKeyword(new Expression('c')), ) ), 'a, b, c' ); } } sql-parser-4.6.1/tests/Components/IntoKeywordTest.php000066400000000000000000000025661363525634600227570ustar00rootroot00000000000000getTokensList('OUTFILE "/tmp/outfile.txt"')); $this->assertEquals($component->type, 'OUTFILE'); $this->assertEquals($component->dest, '/tmp/outfile.txt'); } public function testBuild() { $component = IntoKeyword::parse(new Parser(), $this->getTokensList('tbl(`col1`, `col2`)')); $this->assertEquals('tbl(`col1`, `col2`)', IntoKeyword::build($component)); } public function testBuildValues() { $component = IntoKeyword::parse(new Parser(), $this->getTokensList('@a1, @a2, @a3')); $this->assertEquals('@a1, @a2, @a3', IntoKeyword::build($component)); } public function testBuildOutfile() { $component = IntoKeyword::parse(new Parser(), $this->getTokensList('OUTFILE "/tmp/outfile.txt"')); $this->assertEquals('OUTFILE "/tmp/outfile.txt"', IntoKeyword::build($component)); } public function testParseErr1() { $component = IntoKeyword::parse(new Parser(), $this->getTokensList('OUTFILE;')); $this->assertEquals($component->type, 'OUTFILE'); } } sql-parser-4.6.1/tests/Components/JoinKeywordTest.php000066400000000000000000000026531363525634600227420ustar00rootroot00000000000000getTokensList('JOIN a')); $this->assertCount(1, $component); $this->assertEquals('a', $component[0]->expr->expr); $this->assertNull($component[0]->on); $this->assertNull($component[0]->using); } public function testParseIncompleteUsing() { $component = JoinKeyword::parse(new Parser(), $this->getTokensList('JOIN table2 USING (id)')); $this->assertCount(1, $component); $this->assertEquals('table2', $component[0]->expr->expr); $this->assertNull($component[0]->on); $this->assertEquals(array('id'), $component[0]->using->values); } public function testBuild() { $component = JoinKeyword::parse( new Parser(), $this->getTokensList( 'LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4) ' . 'ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)' ) ); $this->assertEquals( 'LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4) ' . 'ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)', JoinKeyword::build($component) ); } } sql-parser-4.6.1/tests/Components/KeyTest.php000066400000000000000000000006241363525634600212220ustar00rootroot00000000000000getTokensList('') ); $this->assertNull($component->name); } } sql-parser-4.6.1/tests/Components/LimitTest.php000066400000000000000000000014761363525634600215560ustar00rootroot00000000000000assertEquals(Limit::build($component), '0, 1'); } public function testBuildWithOffset() { $component = new Limit(1, 2); $this->assertEquals(Limit::build($component), '2, 1'); } /** * @dataProvider parseProvider * * @param mixed $test */ public function testParse($test) { $this->runParserTest($test); } public function parseProvider() { return array( array('parser/parseLimitErr1'), array('parser/parseLimitErr2') ); } } sql-parser-4.6.1/tests/Components/LockExpressionTest.php000066400000000000000000000042301363525634600234370ustar00rootroot00000000000000getTokensList('table1 AS t1 READ LOCAL')); $this->assertNotNull($component->table); $this->assertEquals($component->table->table, 'table1'); $this->assertEquals($component->table->alias, 't1'); $this->assertEquals($component->type, 'READ LOCAL'); } public function testParse2() { $component = LockExpression::parse(new Parser(), $this->getTokensList('table1 LOW_PRIORITY WRITE')); $this->assertNotNull($component->table); $this->assertEquals($component->table->table, 'table1'); $this->assertEquals($component->type, 'LOW_PRIORITY WRITE'); } /** * @dataProvider parseErrProvider * * @param mixed $expr * @param mixed $error */ public function testParseErr($expr, $error) { $parser = new Parser(); LockExpression::parse($parser, $this->getTokensList($expr)); $errors = $this->getErrorsAsArray($parser); $this->assertEquals($errors[0][0], $error); } public function parseErrProvider() { return array( array( 'table1 AS t1', 'Unexpected end of LOCK expression.', ), array( 'table1 AS t1 READ WRITE', 'Unexpected keyword.', ), array( 'table1 AS t1 READ 2', 'Unexpected token.', ) ); } public function testBuild() { $component = array( LockExpression::parse(new Parser(), $this->getTokensList('table1 AS t1 READ LOCAL')), LockExpression::parse(new Parser(), $this->getTokensList('table2 LOW_PRIORITY WRITE')) ); $this->assertEquals( LockExpression::build($component), 'table1 AS `t1` READ LOCAL, table2 LOW_PRIORITY WRITE' ); } } sql-parser-4.6.1/tests/Components/OptionsArrayTest.php000066400000000000000000000071421363525634600231260ustar00rootroot00000000000000getTokensList('A B = /*comment*/ (test) C'), array( 'A' => 1, 'B' => array( 2, 'var', ), 'C' => 3 ) ); $this->assertEquals( array( 1 => 'A', 2 => array( 'name' => 'B', 'expr' => '(test)', 'value' => 'test', 'equals' => true, ), 3 => 'C', ), $component->options ); } public function testParseExpr() { $component = OptionsArray::parse( new Parser(), $this->getTokensList('SUM = (3 + 5) RESULT = 8'), array( 'SUM' => array( 1, 'expr', array('parenthesesDelimited' => true), ), 'RESULT' => array( 2, 'var', ) ) ); $this->assertEquals('(3 + 5)', (string) $component->has('SUM', true)); $this->assertEquals('8', $component->has('RESULT')); } public function testHas() { $component = OptionsArray::parse( new Parser(), $this->getTokensList('A B = /*comment*/ (test) C'), array( 'A' => 1, 'B' => array( 2, 'var', ), 'C' => 3 ) ); $this->assertTrue($component->has('A')); $this->assertEquals('test', $component->has('B')); $this->assertTrue($component->has('C')); $this->assertFalse($component->has('D')); } public function testRemove() { /* Assertion 1 */ $component = new OptionsArray(array('a', 'b', 'c')); $this->assertTrue($component->remove('b')); $this->assertFalse($component->remove('d')); $this->assertEquals($component->options, array(0 => 'a', 2 => 'c')); /* Assertion 2 */ $component = OptionsArray::parse( new Parser(), $this->getTokensList('A B = /*comment*/ (test) C'), array( 'A' => 1, 'B' => array( 2, 'var', ), 'C' => 3 ) ); $this->assertEquals('test', $component->has('B')); $component->remove('B'); $this->assertFalse($component->has('B')); } public function testMerge() { $component = new OptionsArray(array('a')); $component->merge(array('b', 'c')); $this->assertEquals($component->options, array('a', 'b', 'c')); } public function testBuild() { $component = new OptionsArray( array( 'ALL', 'SQL_CALC_FOUND_ROWS', array( 'name' => 'MAX_STATEMENT_TIME', 'value' => '42', 'equals' => true, ), ) ); $this->assertEquals( OptionsArray::build($component), 'ALL SQL_CALC_FOUND_ROWS MAX_STATEMENT_TIME=42' ); } } sql-parser-4.6.1/tests/Components/OrderKeywordTest.php000066400000000000000000000010761363525634600231140ustar00rootroot00000000000000assertEquals( OrderKeyword::build( array( new OrderKeyword(new Expression('a'), 'ASC'), new OrderKeyword(new Expression('b'), 'DESC') ) ), 'a ASC, b DESC' ); } } sql-parser-4.6.1/tests/Components/ParameterDefinitionTest.php000066400000000000000000000010221363525634600244140ustar00rootroot00000000000000getTokensList('(a INT, b INT') ); $this->assertEquals('a', $component[0]->name); $this->assertEquals('b', $component[1]->name); } } sql-parser-4.6.1/tests/Components/PartitionDefinitionTest.php000066400000000000000000000022501363525634600244510ustar00rootroot00000000000000getTokensList('PARTITION p0 VALUES LESS THAN(1990)') ); $this->assertFalse($component->isSubpartition); $this->assertEquals('p0', $component->name); $this->assertEquals('LESS THAN', $component->type); $this->assertEquals('(1990)', $component->expr->expr); } public function testParseNameWithUnderscore() { $component = PartitionDefinition::parse( new Parser(), $this->getTokensList('PARTITION 2017_12 VALUES LESS THAN (\'2018-01-01 00:00:00\') ENGINE = MyISAM') ); $this->assertFalse($component->isSubpartition); $this->assertEquals('2017_12', $component->name); $this->assertEquals('LESS THAN', $component->type); $this->assertEquals('(\'2018-01-01 00:00:00\')', $component->expr->expr); } } sql-parser-4.6.1/tests/Components/ReferenceTest.php000066400000000000000000000013161363525634600223670ustar00rootroot00000000000000getTokensList('tbl (id)')); $this->assertEquals('tbl', $component->table->table); $this->assertEquals(array('id'), $component->columns); } public function testBuild() { $component = new Reference(new Expression('`tbl`'), array('id')); $this->assertEquals('`tbl` (`id`)', Reference::build($component)); } } sql-parser-4.6.1/tests/Components/RenameOperationTest.php000066400000000000000000000007121363525634600235600ustar00rootroot00000000000000getTokensList('a TO b, c TO d')); $this->assertEquals(RenameOperation::build($component), 'a TO b, c TO d'); } } sql-parser-4.6.1/tests/Lexer/000077500000000000000000000000001363525634600160515ustar00rootroot00000000000000sql-parser-4.6.1/tests/Lexer/ContextTest.php000066400000000000000000000102241363525634600210450ustar00rootroot00000000000000assertEquals('\\PhpMyAdmin\\SqlParser\\Contexts\\ContextMySql50700', Context::$loadedContext); $this->assertArrayHasKey('STORED', Context::$KEYWORDS); $this->assertArrayNotHasKey('AUTHORS', Context::$KEYWORDS); // Restoring context. Context::load(''); $this->assertEquals('\\PhpMyAdmin\\SqlParser\\Contexts\\ContextMySql50700', Context::$defaultContext); $this->assertArrayHasKey('STORED', Context::$KEYWORDS); $this->assertArrayNotHasKey('AUTHORS', Context::$KEYWORDS); } /** * Test for loading closest SQL context * * @dataProvider contextLoading */ public function testLoadClosest($context, $expected) { $this->assertEquals($expected, Context::loadClosest($context)); if (! is_null($expected)) { $this->assertEquals('\\PhpMyAdmin\\SqlParser\\Contexts\\Context' . $expected, Context::$loadedContext); $this->assertTrue(class_exists(Context::$loadedContext)); } // Restoring context. Context::load(''); } public function contextLoading() { return array( 'MySQL match' => array( 'MySql50500', 'MySql50500', ), 'MySQL strip' => array( 'MySql50712', 'MySql50700', ), 'MySQL fallback' => array( 'MySql99999', 'MySql50700', ), 'MariaDB match' => array( 'MariaDb100000', 'MariaDb100000', ), 'MariaDB stripg' => array( 'MariaDb109900', 'MariaDb100000', ), 'MariaDB fallback' => array( 'MariaDb990000', 'MariaDb100300', ), 'Invalid' => array( 'Sql', null, ) ); } /** * @dataProvider contextNames * * @param mixed $context */ public function testLoadAll($context) { Context::load($context); $this->assertEquals('\\PhpMyAdmin\\SqlParser\\Contexts\\Context' . $context, Context::$loadedContext); // Restoring context. Context::load(''); } public function contextNames() { return array( array('MySql50000'), array('MySql50100'), array('MySql50500'), array('MySql50600'), array('MySql50700'), array('MySql80000'), array('MariaDb100000'), array('MariaDb100100'), array('MariaDb100200'), array('MariaDb100300') ); } /** * @expectedException \Exception * @expectedExceptionMessage Specified context ("\PhpMyAdmin\SqlParser\Contexts\ContextFoo") does not exist. */ public function testLoadError() { Context::load('Foo'); } public function testMode() { Context::setMode('REAL_AS_FLOAT,ANSI_QUOTES,IGNORE_SPACE'); $this->assertEquals( Context::SQL_MODE_REAL_AS_FLOAT | Context::SQL_MODE_ANSI_QUOTES | Context::SQL_MODE_IGNORE_SPACE, Context::$MODE ); Context::setMode('TRADITIONAL'); $this->assertEquals( Context::SQL_MODE_TRADITIONAL, Context::$MODE ); Context::setMode(); $this->assertEquals(0, Context::$MODE); } public function testEscape() { Context::setMode('NO_ENCLOSING_QUOTES'); $this->assertEquals('test', Context::escape('test')); Context::setMode('ANSI_QUOTES'); $this->assertEquals('"test"', Context::escape('test')); Context::setMode(); $this->assertEquals('`test`', Context::escape('test')); $this->assertEquals( array( '`a`', '`b`', ), Context::escape(array('a', 'b')) ); } } sql-parser-4.6.1/tests/Lexer/IsMethodsTest.php000066400000000000000000000130001363525634600213130ustar00rootroot00000000000000assertEquals(1 | Token::FLAG_KEYWORD_RESERVED, Context::isKeyword('SELECT')); $this->assertEquals(1 | Token::FLAG_KEYWORD_RESERVED, Context::isKeyword('ALL')); $this->assertEquals(1 | Token::FLAG_KEYWORD_RESERVED, Context::isKeyword('DISTINCT')); $this->assertEquals( 1 | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, Context::isKeyword('PRIMARY KEY') ); $this->assertEquals( 1 | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED, Context::isKeyword('CHARACTER SET') ); $this->assertEquals(1 | Token::FLAG_KEYWORD_RESERVED, Context::isKeyword('FROM', true)); $this->assertNull(Context::isKeyword('MODIFY', true)); $this->assertNull(Context::isKeyword('foo')); $this->assertNull(Context::isKeyword('bar baz')); } public function testIsOperator() { $this->assertEquals(Token::FLAG_OPERATOR_ARITHMETIC, Context::isOperator('%')); $this->assertEquals(Token::FLAG_OPERATOR_LOGICAL, Context::isOperator('!')); $this->assertEquals(Token::FLAG_OPERATOR_LOGICAL, Context::isOperator('&&')); $this->assertEquals(Token::FLAG_OPERATOR_LOGICAL, Context::isOperator('<=>')); $this->assertEquals(Token::FLAG_OPERATOR_BITWISE, Context::isOperator('&')); $this->assertEquals(Token::FLAG_OPERATOR_ASSIGNMENT, Context::isOperator(':=')); $this->assertEquals(Token::FLAG_OPERATOR_SQL, Context::isOperator(',')); $this->assertNull(Context::isOperator('a')); } public function testIsWhitespace() { $this->assertTrue(Context::isWhitespace(' ')); $this->assertTrue(Context::isWhitespace("\r")); $this->assertTrue(Context::isWhitespace("\n")); $this->assertTrue(Context::isWhitespace("\t")); $this->assertFalse(Context::isWhitespace('a')); $this->assertFalse(Context::isWhitespace("\b")); $this->assertFalse(Context::isWhitespace("\u1000")); } public function testIsComment() { $this->assertEquals(Token::FLAG_COMMENT_BASH, Context::isComment('#')); $this->assertEquals(Token::FLAG_COMMENT_C, Context::isComment('/*')); $this->assertEquals(Token::FLAG_COMMENT_C, Context::isComment('*/')); $this->assertEquals(Token::FLAG_COMMENT_SQL, Context::isComment('-- ')); $this->assertEquals(Token::FLAG_COMMENT_SQL, Context::isComment("--\t")); $this->assertEquals(Token::FLAG_COMMENT_SQL, Context::isComment("--\n")); $this->assertEquals(Token::FLAG_COMMENT_BASH, Context::isComment('# a comment')); $this->assertEquals(Token::FLAG_COMMENT_C, Context::isComment('/*comment */')); $this->assertEquals(Token::FLAG_COMMENT_SQL, Context::isComment('-- my comment')); $this->assertNull(Context::isComment('')); $this->assertNull(Context::isComment('--not a comment')); } public function testIsBool() { $this->assertTrue(Context::isBool('true')); $this->assertTrue(Context::isBool('false')); $this->assertFalse(Context::isBool('tru')); $this->assertFalse(Context::isBool('falsee')); } public function testIsNumber() { $this->assertTrue(Context::isNumber('+')); $this->assertTrue(Context::isNumber('-')); $this->assertTrue(Context::isNumber('.')); $this->assertTrue(Context::isNumber('0')); $this->assertTrue(Context::isNumber('1')); $this->assertTrue(Context::isNumber('2')); $this->assertTrue(Context::isNumber('3')); $this->assertTrue(Context::isNumber('4')); $this->assertTrue(Context::isNumber('5')); $this->assertTrue(Context::isNumber('6')); $this->assertTrue(Context::isNumber('7')); $this->assertTrue(Context::isNumber('8')); $this->assertTrue(Context::isNumber('9')); $this->assertTrue(Context::isNumber('e')); $this->assertTrue(Context::isNumber('E')); } public function testIsString() { $this->assertEquals(Token::FLAG_STRING_SINGLE_QUOTES, Context::isString("'")); $this->assertEquals(Token::FLAG_STRING_DOUBLE_QUOTES, Context::isString('"')); $this->assertEquals(Token::FLAG_STRING_SINGLE_QUOTES, Context::isString("'foo bar'")); $this->assertEquals(Token::FLAG_STRING_DOUBLE_QUOTES, Context::isString('"foo bar"')); $this->assertNull(Context::isString('')); $this->assertNull(Context::isString('foo bar')); } public function testIsSymbol() { $this->assertEquals(Token::FLAG_SYMBOL_VARIABLE, Context::isSymbol('@')); $this->assertEquals(Token::FLAG_SYMBOL_BACKTICK, Context::isSymbol('`')); $this->assertEquals(Token::FLAG_SYMBOL_VARIABLE, Context::isSymbol('@id')); $this->assertEquals(Token::FLAG_SYMBOL_BACKTICK, Context::isSymbol('`id`')); $this->assertNull(Context::isSymbol('')); $this->assertNull(Context::isSymbol('id')); } public function testisSeparator() { $this->assertTrue(Context::isSeparator('+')); $this->assertTrue(Context::isSeparator('.')); $this->assertFalse(Context::isSeparator('1')); $this->assertFalse(Context::isSeparator('E')); $this->assertFalse(Context::isSeparator('_')); } } sql-parser-4.6.1/tests/Lexer/LexerTest.php000066400000000000000000000050041363525634600205000ustar00rootroot00000000000000error('error #1', 'foo', 1, 2); $lexer->error( sprintf('%2$s #%1$d', 2, 'error'), 'bar', 3, 4 ); $this->assertEquals( $lexer->errors, array( new LexerException('error #1', 'foo', 1, 2), new LexerException('error #2', 'bar', 3, 4), ) ); } /** * @expectedException \PhpMyAdmin\SqlParser\Exceptions\LexerException * @expectedExceptionMessage strict error * @expectedExceptionCode 4 */ public function testErrorStrict() { $lexer = new Lexer(''); $lexer->strict = true; $lexer->error('strict error', 'foo', 1, 4); } /** * @dataProvider lexProvider * * @param mixed $test */ public function testLex($test) { $this->runParserTest($test); } public function lexProvider() { return array( array('lexer/lex'), array('lexer/lexUtf8'), array('lexer/lexBool'), array('lexer/lexComment'), array('lexer/lexCommentEnd'), array('lexer/lexDelimiter'), array('lexer/lexDelimiter2'), array('lexer/lexDelimiterErr1'), array('lexer/lexDelimiterErr2'), array('lexer/lexDelimiterErr3'), array('lexer/lexDelimiterLen'), array('lexer/lexKeyword'), array('lexer/lexKeyword2'), array('lexer/lexNumber'), array('lexer/lexOperator'), array('lexer/lexOperatorStarIsArithmetic'), array('lexer/lexOperatorStarIsWildcard'), array('lexer/lexString'), array('lexer/lexStringErr1'), array('lexer/lexSymbol'), array('lexer/lexSymbolErr1'), array('lexer/lexSymbolErr2'), array('lexer/lexSymbolErr3'), array('lexer/lexSymbolUser'), array('lexer/lexWhitespace'), array('lexer/lexLabel1'), array('lexer/lexLabel2'), array('lexer/lexNoLabel'), array('lexer/lexWildcardThenComment') ); } } sql-parser-4.6.1/tests/Lexer/TokenTest.php000066400000000000000000000057471363525634600205170ustar00rootroot00000000000000assertEquals($tok->value, 'SELECT'); $tok = new Token('aS', Token::TYPE_KEYWORD, Token::FLAG_KEYWORD_RESERVED); $this->assertEquals($tok->value, 'AS'); } public function testExtractWhitespace() { $tok = new Token(" \t \r \n ", Token::TYPE_WHITESPACE); $this->assertEquals($tok->value, ' '); } public function testExtractBool() { $tok = new Token('false', Token::TYPE_BOOL); $this->assertFalse($tok->value); $tok = new Token('True', Token::TYPE_BOOL); $this->assertTrue($tok->value); } public function testExtractNumber() { $tok = new Token('--42', Token::TYPE_NUMBER, Token::FLAG_NUMBER_NEGATIVE); $this->assertEquals($tok->value, 42); $tok = new Token('---42', Token::TYPE_NUMBER, Token::FLAG_NUMBER_NEGATIVE); $this->assertEquals($tok->value, -42); $tok = new Token('0xFE', Token::TYPE_NUMBER, Token::FLAG_NUMBER_HEX); $this->assertEquals($tok->value, 0xFE); $tok = new Token('-0xEF', Token::TYPE_NUMBER, Token::FLAG_NUMBER_NEGATIVE | Token::FLAG_NUMBER_HEX); $this->assertEquals($tok->value, -0xEF); $tok = new Token('3.14', Token::TYPE_NUMBER, Token::FLAG_NUMBER_FLOAT); $this->assertEquals($tok->value, 3.14); } public function testExtractString() { $tok = new Token('"foo bar "', Token::TYPE_STRING); $this->assertEquals($tok->value, 'foo bar '); $tok = new Token("' bar foo '", Token::TYPE_STRING); $this->assertEquals($tok->value, ' bar foo '); $tok = new Token("'\''", Token::TYPE_STRING); $this->assertEquals($tok->value, '\''); $tok = new Token('"\c\d\e\f\g\h\i\j\k\l\m\p\q\s\u\v\w\x\y\z"', Token::TYPE_STRING); $this->assertEquals($tok->value, 'cdefghijklmpqsuvwxyz'); } public function testExtractSymbol() { $tok = new Token('@foo', Token::TYPE_SYMBOL, Token::FLAG_SYMBOL_VARIABLE); $this->assertEquals($tok->value, 'foo'); $tok = new Token('`foo`', Token::TYPE_SYMBOL, Token::FLAG_SYMBOL_BACKTICK); $this->assertEquals($tok->value, 'foo'); $tok = new Token('@`foo`', Token::TYPE_SYMBOL, Token::FLAG_SYMBOL_VARIABLE); $this->assertEquals($tok->value, 'foo'); $tok = new Token(':foo', Token::TYPE_SYMBOL, Token::FLAG_SYMBOL_PARAMETER); $this->assertEquals($tok->value, 'foo'); $tok = new Token('?', Token::TYPE_SYMBOL, Token::FLAG_SYMBOL_PARAMETER); $this->assertEquals($tok->value, '?'); } public function testInlineToken() { $token = new Token(" \r \n \t "); $this->assertEquals($token->getInlineToken(), ' \r \n \t '); } } sql-parser-4.6.1/tests/Lexer/TokensListTest.php000066400000000000000000000057001363525634600215230ustar00rootroot00000000000000tokens = array( new Token('SELECT', Token::TYPE_KEYWORD), new Token(' ', Token::TYPE_WHITESPACE), new Token('*', Token::TYPE_OPERATOR), new Token(' ', Token::TYPE_WHITESPACE), new Token('FROM', Token::TYPE_KEYWORD), new Token(' ', Token::TYPE_WHITESPACE), new Token('`test`', Token::TYPE_SYMBOL), new Token(' ', Token::TYPE_WHITESPACE) ); } public function testBuild() { $list = new TokensList($this->tokens); $this->assertEquals('SELECT * FROM `test` ', TokensList::build($list)); } public function testAdd() { $list = new TokensList(); foreach ($this->tokens as $token) { $list->add($token); } $this->assertEquals(new TokensList($this->tokens), $list); } public function testGetNext() { $list = new TokensList($this->tokens); $this->assertEquals($this->tokens[0], $list->getNext()); $this->assertEquals($this->tokens[2], $list->getNext()); $this->assertEquals($this->tokens[4], $list->getNext()); $this->assertEquals($this->tokens[6], $list->getNext()); $this->assertNull($list->getNext()); } public function testGetNextOfType() { $list = new TokensList($this->tokens); $this->assertEquals($this->tokens[0], $list->getNextOfType(Token::TYPE_KEYWORD)); $this->assertEquals($this->tokens[4], $list->getNextOfType(Token::TYPE_KEYWORD)); $this->assertNull($list->getNextOfType(Token::TYPE_KEYWORD)); } public function testGetNextOfTypeAndValue() { $list = new TokensList($this->tokens); $this->assertEquals($this->tokens[0], $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'SELECT')); $this->assertNull($list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'SELECT')); } public function testArrayAccess() { $list = new TokensList(); // offsetSet(NULL, $value) foreach ($this->tokens as $token) { $list[] = $token; } // offsetSet($offset, $value) $list[2] = $this->tokens[2]; // offsetGet($offset) for ($i = 0, $count = count($this->tokens); $i < $count; ++$i) { $this->assertEquals($this->tokens[$i], $list[$i]); } // offsetExists($offset) $this->assertArrayHasKey(2, $list); $this->assertArrayNotHasKey(8, $list); // offsetUnset($offset) unset($list[2]); $this->assertEquals($this->tokens[3], $list[2]); } } sql-parser-4.6.1/tests/Misc/000077500000000000000000000000001363525634600156655ustar00rootroot00000000000000sql-parser-4.6.1/tests/Misc/BugsTest.php000066400000000000000000000012111363525634600201310ustar00rootroot00000000000000runParserTest($test); } public function bugProvider() { return array( array('bugs/gh9'), array('bugs/gh14'), array('bugs/gh16'), array('bugs/pma11800'), array('bugs/pma11836'), array('bugs/pma11843'), array('bugs/pma11867'), array('bugs/pma11879') ); } } sql-parser-4.6.1/tests/Misc/ParameterTest.php000066400000000000000000000006671363525634600211670ustar00rootroot00000000000000runParserTest($test); } public function parameterProvider() { return array( array('misc/parseParameter') ); } } sql-parser-4.6.1/tests/Misc/UtfStringTest.php000066400000000000000000000073701363525634600211720ustar00rootroot00000000000000assertArrayHasKey(static::TEST_PHRASE_LEN - 1, $str); $this->assertArrayNotHasKey(-1, $str); $this->assertArrayNotHasKey(static::TEST_PHRASE_LEN, $str); // offsetGet $this->assertEquals('.', $str[static::TEST_PHRASE_LEN - 1]); $this->assertNull($str[-1]); $this->assertNull($str[static::TEST_PHRASE_LEN]); } /** * @expectedException \Exception * @expectedExceptionMessage Not implemented. */ public function testSet() { $str = new UtfString(''); $str[0] = 'a'; } /** * @expectedException \Exception * @expectedExceptionMessage Not implemented. */ public function testUnset() { $str = new UtfString(''); unset($str[0]); } public function testGetCharLength() { $this->assertEquals(1, UtfString::getCharLength(chr(0x00))); // 00000000 $this->assertEquals(1, UtfString::getCharLength(chr(0x7F))); // 01111111 $this->assertEquals(2, UtfString::getCharLength(chr(0xC0))); // 11000000 $this->assertEquals(2, UtfString::getCharLength(chr(0xDF))); // 11011111 $this->assertEquals(3, UtfString::getCharLength(chr(0xE0))); // 11100000 $this->assertEquals(3, UtfString::getCharLength(chr(0xEF))); // 11101111 $this->assertEquals(4, UtfString::getCharLength(chr(0xF0))); // 11110000 $this->assertEquals(4, UtfString::getCharLength(chr(0xF7))); // 11110111 $this->assertEquals(5, UtfString::getCharLength(chr(0xF8))); // 11111000 $this->assertEquals(5, UtfString::getCharLength(chr(0xFB))); // 11111011 $this->assertEquals(6, UtfString::getCharLength(chr(0xFC))); // 11111100 $this->assertEquals(6, UtfString::getCharLength(chr(0xFD))); // 11111101 } public function testToString() { $str = new UtfString(static::TEST_PHRASE); $this->assertEquals(static::TEST_PHRASE, (string) $str); } /** * Test access to string. * * @dataProvider utf8Strings * * @param mixed $text * @param mixed $pos10 * @param mixed $pos20 */ public function testAccess($text, $pos10, $pos20) { $str = new UtfString($text); $this->assertEquals($pos10, $str->offsetGet(10)); $this->assertEquals($pos20, $str->offsetGet(20)); $this->assertEquals($pos10, $str->offsetGet(10)); } public function utf8Strings() { return array( 'ascii' => array( 'abcdefghijklmnopqrstuvwxyz', 'k', 'u', ), 'unicode' => array( 'áéíóúýěřťǔǐǒǎšďȟǰǩľžčǚň', 'ǐ', 'č', ), 'emoji' => array( '😂😄😃😀😊😉😍😘😚😗😂👿😮😨😱😠😡😤😖😆😋👯', '😂', '😋', ), 'iso' => array( "P\xf8\xed\xb9ern\xec \xbelu\xbbou\xe8k\xfd k\xf3d \xfap\xecl \xef\xe1belsk\xe9 k\xf3dy", null, null, ) ); } } sql-parser-4.6.1/tests/Parser/000077500000000000000000000000001363525634600162265ustar00rootroot00000000000000sql-parser-4.6.1/tests/Parser/AlterStatementTest.php000066400000000000000000000016451363525634600225410ustar00rootroot00000000000000runParserTest($test); } public function alterProvider() { return array( array('parser/parseAlter'), array('parser/parseAlter2'), array('parser/parseAlter3'), array('parser/parseAlter4'), array('parser/parseAlter5'), array('parser/parseAlter6'), array('parser/parseAlter7'), array('parser/parseAlter8'), array('parser/parseAlter9'), array('parser/parseAlter10'), array('parser/parseAlterErr'), array('parser/parseAlterErr2'), array('parser/parseAlterErr3') ); } } sql-parser-4.6.1/tests/Parser/CallStatementTest.php000066400000000000000000000007731363525634600223460ustar00rootroot00000000000000runParserTest($test); } public function callProvider() { return array( array('parser/parseCall'), array('parser/parseCall2'), array('parser/parseCall3') ); } } sql-parser-4.6.1/tests/Parser/CreateStatementTest.php000066400000000000000000000040101363525634600226620ustar00rootroot00000000000000runParserTest($test); } public function createProvider() { return array( array('parser/parseCreateDatabase'), array('parser/parseCreateDatabaseErr'), array('parser/parseCreateFunction'), array('parser/parseCreateFunctionErr1'), array('parser/parseCreateFunctionErr2'), array('parser/parseCreateFunctionErr3'), array('parser/parseCreateProcedure'), array('parser/parseCreateProcedure2'), array('parser/parseCreateSchema'), array('parser/parseCreateSchemaErr'), array('parser/parseCreateTable'), array('parser/parseCreateTable2'), array('parser/parseCreateTable3'), array('parser/parseCreateTable4'), array('parser/parseCreateTable5'), array('parser/parseCreateTable6'), array('parser/parseCreateTable7'), array('parser/parseCreateTableErr1'), array('parser/parseCreateTableErr2'), array('parser/parseCreateTableErr3'), array('parser/parseCreateTableErr4'), array('parser/parseCreateTableErr5'), array('parser/parseCreateTableSelect'), array('parser/parseCreateTableAsSelect'), array('parser/parseCreateTableLike'), array('parser/parseCreateTableSpatial'), array('parser/parseCreateTableTimestampWithPrecision'), array('parser/parseCreateTrigger'), array('parser/parseCreateUser'), array('parser/parseCreateView'), array('parser/parseCreateView2'), array('parser/parseCreateViewWithoutQuotes'), array('parser/parseCreateViewWithQuotes'), ); } } sql-parser-4.6.1/tests/Parser/DeleteStatementTest.php000066400000000000000000000027221363525634600226710ustar00rootroot00000000000000runParserTest($test); } public function deleteProvider() { return array( array('parser/parseDelete'), array('parser/parseDelete2'), array('parser/parseDelete3'), array('parser/parseDelete4'), array('parser/parseDelete5'), array('parser/parseDelete6'), array('parser/parseDelete7'), array('parser/parseDelete8'), array('parser/parseDelete9'), array('parser/parseDelete10'), array('parser/parseDelete11'), array('parser/parseDelete12'), array('parser/parseDeleteErr1'), array('parser/parseDeleteErr2'), array('parser/parseDeleteErr3'), array('parser/parseDeleteErr4'), array('parser/parseDeleteErr5'), array('parser/parseDeleteErr6'), array('parser/parseDeleteErr7'), array('parser/parseDeleteErr8'), array('parser/parseDeleteErr9'), array('parser/parseDeleteErr10'), array('parser/parseDeleteErr11'), array('parser/parseDeleteErr12'), array('parser/parseDeleteJoin') ); } } sql-parser-4.6.1/tests/Parser/DropStatementTest.php000066400000000000000000000007241363525634600223730ustar00rootroot00000000000000runParserTest($test); } public function dropProvider() { return array( array('parser/parseDrop'), array('parser/parseDrop2'), ); } } sql-parser-4.6.1/tests/Parser/ExplainStatementTest.php000066400000000000000000000006721363525634600230710ustar00rootroot00000000000000runParserTest($test); } public function explainProvider() { return array( array('parser/parseExplain') ); } } sql-parser-4.6.1/tests/Parser/InsertStatementTest.php000066400000000000000000000015251363525634600227330ustar00rootroot00000000000000runParserTest($test); } public function insertProvider() { return array( array('parser/parseInsert'), array('parser/parseInsertSelect'), array('parser/parseInsertOnDuplicateKey'), array('parser/parseInsertSetOnDuplicateKey'), array('parser/parseInsertSelectOnDuplicateKey'), array('parser/parseInsertOnDuplicateKeyErr'), array('parser/parseInsertErr'), array('parser/parseInsertErr2'), array('parser/parseInsertIntoErr') ); } } sql-parser-4.6.1/tests/Parser/LoadStatementTest.php000066400000000000000000000022311363525634600223410ustar00rootroot00000000000000getData('parser/parseLoad1'); $parser = new Parser($data['query']); $stmt = $parser->statements[0]; $this->assertEquals(10, $stmt->options->has('CONCURRENT')); } /** * @dataProvider loadProvider * * @param mixed $test */ public function testLoad($test) { $this->runParserTest($test); } public function loadProvider() { return array( array('parser/parseLoad1'), array('parser/parseLoad2'), array('parser/parseLoad3'), array('parser/parseLoad4'), array('parser/parseLoad5'), array('parser/parseLoad6'), array('parser/parseLoadErr1'), array('parser/parseLoadErr2'), array('parser/parseLoadErr3'), array('parser/parseLoadErr4'), array('parser/parseLoadErr5'), array('parser/parseLoadErr6') ); } } sql-parser-4.6.1/tests/Parser/LockStatementTest.php000066400000000000000000000021221363525634600223510ustar00rootroot00000000000000runParserTest($test); } public function lockProvider() { return array( array('parser/parseLock1'), array('parser/parseLock2'), array('parser/parseLock3'), array('parser/parseLock4'), array('parser/parseLock5'), array('parser/parseLockErr1'), array('parser/parseLockErr2'), array('parser/parseLockErr3'), array('parser/parseLockErr4'), array('parser/parseLockErr5'), array('parser/parseLockErr6'), array('parser/parseLockErr7'), array('parser/parseLockErr8'), array('parser/parseLockErr9'), array('parser/parseLockErr10'), array('parser/parseUnlock1'), array('parser/parseUnlockErr1') ); } } sql-parser-4.6.1/tests/Parser/ParserTest.php000066400000000000000000000040211363525634600210300ustar00rootroot00000000000000runParserTest($test); } public function parseProvider() { return array( array('parser/parse'), array('parser/parse2'), array('parser/parseDelimiter') ); } public function testUnrecognizedStatement() { $parser = new Parser('SELECT 1; FROM'); $this->assertEquals( 'Unrecognized statement type.', $parser->errors[0]->getMessage() ); } public function testUnrecognizedKeyword() { $parser = new Parser('SELECT 1 FROM foo PARTITION(bar, baz) AS'); $this->assertEquals( 'Unrecognized keyword.', $parser->errors[0]->getMessage() ); } /** * @runInSeparateProcess * @preserveGlobalState disabled */ public function testError() { $parser = new Parser(new TokensList()); $parser->error('error #1', new Token('foo'), 1); $parser->error(sprintf('%2$s #%1$d', 2, 'error'), new Token('bar'), 2); $this->assertEquals( $parser->errors, array( new ParserException('error #1', new Token('foo'), 1), new ParserException('error #2', new Token('bar'), 2), ) ); } /** * @expectedException \PhpMyAdmin\SqlParser\Exceptions\ParserException * @expectedExceptionMessage strict error * @expectedExceptionCode 3 */ public function testErrorStrict() { $parser = new Parser(new TokensList()); $parser->strict = true; $parser->error('strict error', new Token('foo'), 3); } } sql-parser-4.6.1/tests/Parser/PurgeStatementTest.php000066400000000000000000000012561363525634600225520ustar00rootroot00000000000000runParserTest($test); } public function purgeProvider() { return array( array('parser/parsePurge'), array('parser/parsePurge2'), array('parser/parsePurge3'), array('parser/parsePurge4'), array('parser/parsePurgeErr'), array('parser/parsePurgeErr2'), array('parser/parsePurgeErr3') ); } } sql-parser-4.6.1/tests/Parser/RenameStatementTest.php000066400000000000000000000013001363525634600226650ustar00rootroot00000000000000runParserTest($test); } public function renameProvider() { return array( array('parser/parseRename'), array('parser/parseRename2'), array('parser/parseRenameErr1'), array('parser/parseRenameErr2'), array('parser/parseRenameErr3'), array('parser/parseRenameErr4'), array('parser/parseRenameErr5') ); } } sql-parser-4.6.1/tests/Parser/ReplaceStatementTest.php000066400000000000000000000014541363525634600230430ustar00rootroot00000000000000runParserTest($test); } public function replaceProvider() { return array( array('parser/parseReplace'), array('parser/parseReplace2'), array('parser/parseReplaceValues'), array('parser/parseReplaceSet'), array('parser/parseReplaceSelect'), array('parser/parseReplaceErr'), array('parser/parseReplaceErr2'), array('parser/parseReplaceErr3'), array('parser/parseReplaceIntoErr') ); } } sql-parser-4.6.1/tests/Parser/RestoreStatementTest.php000066400000000000000000000006721363525634600231140ustar00rootroot00000000000000runParserTest($test); } public function restoreProvider() { return array( array('parser/parseRestore') ); } } sql-parser-4.6.1/tests/Parser/SelectStatementTest.php000066400000000000000000000070021363525634600227020ustar00rootroot00000000000000getData('parser/parseSelect'); $parser = new Parser($data['query']); $stmt = $parser->statements[0]; $this->assertEquals(10, $stmt->options->has('MAX_STATEMENT_TIME')); } /** * @dataProvider selectProvider * * @param mixed $test */ public function testSelect($test) { $this->runParserTest($test); } public function selectProvider() { return array( array('parser/parseSelect2'), array('parser/parseSelect3'), array('parser/parseSelect4'), array('parser/parseSelect5'), array('parser/parseSelect6'), array('parser/parseSelect7'), array('parser/parseSelect8'), array('parser/parseSelect9'), array('parser/parseSelect10'), array('parser/parseSelect11'), array('parser/parseSelectErr1'), array('parser/parseSelectErr2'), array('parser/parseSelectNested'), array('parser/parseSelectCase1'), array('parser/parseSelectCase2'), array('parser/parseSelectCase3'), array('parser/parseSelectCase4'), array('parser/parseSelectCase5'), array('parser/parseSelectCaseErr1'), array('parser/parseSelectCaseErr2'), array('parser/parseSelectCaseErr3'), array('parser/parseSelectCaseErr4'), array('parser/parseSelectCaseErr5'), array('parser/parseSelectCaseAlias1'), array('parser/parseSelectCaseAlias2'), array('parser/parseSelectCaseAlias3'), array('parser/parseSelectCaseAlias4'), array('parser/parseSelectCaseAlias5'), array('parser/parseSelectCaseAlias6'), array('parser/parseSelectCaseAliasErr1'), array('parser/parseSelectCaseAliasErr2'), array('parser/parseSelectCaseAliasErr3'), array('parser/parseSelectCaseAliasErr4'), array('parser/parseSelectIntoOptions1'), array('parser/parseSelectIntoOptions2'), array('parser/parseSelectIntoOptions3'), array('parser/parseSelectJoinCross'), array('parser/parseSelectJoinNatural'), array('parser/parseSelectJoinNaturalLeft'), array('parser/parseSelectJoinNaturalRight'), array('parser/parseSelectJoinNaturalLeftOuter'), array('parser/parseSelectJoinNaturalRightOuter'), array('parser/parseSelectJoinMultiple'), array('parser/parseSelectJoinMultiple2'), array('parser/parseSelectWrongOrder'), array('parser/parseSelectWrongOrder2'), array('parser/parseSelectEndOptions1'), array('parser/parseSelectEndOptions2'), array('parser/parseSelectEndOptionsErr'), array('parser/parseSelectUnion'), array('parser/parseSelectUnion2'), array('parser/parseSelectIndexHint1'), array('parser/parseSelectIndexHint2'), array('parser/parseSelectIndexHintErr1'), array('parser/parseSelectIndexHintErr2'), array('parser/parseSelectIndexHintErr3'), array('parser/parseSelectIndexHintErr4'), array('parser/parseSelectWithParenthesis') ); } } sql-parser-4.6.1/tests/Parser/SetStatementTest.php000066400000000000000000000015011363525634600222140ustar00rootroot00000000000000runParserTest($test); } public function setProvider() { return array( array('parser/parseSetCharset'), array('parser/parseSetCharsetError'), array('parser/parseSetCharacterSet'), array('parser/parseSetCharacterSetError'), array('parser/parseAlterTableSetAutoIncrementError'), array('parser/parseSetNames'), array('parser/parseSetNamesError'), array('parser/parseSetError1'), array('parser/parseInsertIntoSet') ); } } sql-parser-4.6.1/tests/Parser/TransactionStatementTest.php000066400000000000000000000011361363525634600237520ustar00rootroot00000000000000runParserTest($test); } public function transactionProvider() { return array( array('parser/parseTransaction'), array('parser/parseTransaction2'), array('parser/parseTransaction3'), array('parser/parseTransactionErr1') ); } } sql-parser-4.6.1/tests/Parser/UpdateStatementTest.php000066400000000000000000000010651363525634600227100ustar00rootroot00000000000000runParserTest($test); } public function updateProvider() { return array( array('parser/parseUpdate'), array('parser/parseUpdate2'), array('parser/parseUpdate3'), array('parser/parseUpdateErr') ); } } sql-parser-4.6.1/tests/TestCase.php000066400000000000000000000062561363525634600172270ustar00rootroot00000000000000list; } /** * Gets the errors as an array. * * @param Lexer|Parser $obj object containing the errors * * @return array */ public function getErrorsAsArray($obj) { $ret = array(); foreach ($obj->errors as $err) { $ret[] = $obj instanceof Lexer ? array( $err->getMessage(), $err->ch, $err->pos, $err->getCode(), ) : array( $err->getMessage(), $err->token, $err->getCode() ); } return $ret; } /** * Gets test's input and expected output. * * @param string $name the name of the test * * @return array */ public function getData($name) { /* * The unrestricted unserialize() is needed here as we do have * serialized objects in the tests. There should be no security risk as * the test data comes with the repository. */ $data = unserialize(file_get_contents('tests/data/' . $name . '.out')); $data['query'] = file_get_contents('tests/data/' . $name . '.in'); return $data; } /** * Runs a test. * * @param string $name the name of the test */ public function runParserTest($name) { /** * Test's data. * * @var array */ $data = $this->getData($name); if (strpos($name, '/ansi/') !== false) { // set mode if appropriate Context::setMode('ANSI_QUOTES'); } // Lexer. $lexer = new Lexer($data['query']); $lexerErrors = $this->getErrorsAsArray($lexer); $lexer->errors = array(); // Parser. $parser = empty($data['parser']) ? null : new Parser($lexer->list); $parserErrors = array(); if ($parser !== null) { $parserErrors = $this->getErrorsAsArray($parser); $parser->errors = array(); } // Testing objects. $this->assertEquals($data['lexer'], $lexer); $this->assertEquals($data['parser'], $parser); // Testing errors. $this->assertEquals($data['errors']['parser'], $parserErrors); $this->assertEquals($data['errors']['lexer'], $lexerErrors); // reset mode after test run Context::setMode(); } } sql-parser-4.6.1/tests/Utils/000077500000000000000000000000001363525634600160725ustar00rootroot00000000000000sql-parser-4.6.1/tests/Utils/BufferedQueryTest.php000066400000000000000000000316301363525634600222160ustar00rootroot00000000000000extract()) { $statements[] = $stmt; } else { $bq->query .= $chunks[$i++]; } } // Feeding ended, extracting remaining queries. while ($stmt = $bq->extract(true)) { $statements[] = $stmt; } $this->assertEquals($expected, $statements); } public function extractProvider() { $query = '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;' . "\n" . '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;' . "\n" . '/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;' . "\n" . '/*!40101 SET NAMES utf8mb4 */;' . "\n" . '' . "\n" . 'SET SQL_MODE = \'NO_AUTO_VALUE_ON_ZERO\';' . "\n" . 'SET time_zone = "+00:00";' . "\n" . '' . "\n" . '/* a comment */ DELIMITER $$' . "\n" . '' . "\n" . '# Bash-like comment sytanx.' . "\n" . 'CREATE DEFINER=`root`@`localhost` PROCEDURE `film_in_stock` (IN `p_film_id` INT, IN `p_store_id` INT, OUT `p_film_count` INT) READS SQL DATA' . "\n" . 'BEGIN' . "\n" . ' SELECT inventory_id' . "\n" . ' FROM inventory' . "\n" . ' WHERE film_id = p_film_id' . "\n" . ' AND store_id = p_store_id' . "\n" . ' AND inventory_in_stock(inventory_id);' . "\n" . '' . "\n" . ' SELECT FOUND_ROWS() INTO p_film_count;' . "\n" . 'END$$' . "\n" . '' . "\n" . 'DELIMITER ;' . "\n" . '' . "\n" . '-- --------------------------------------------------------' . "\n" . '' . "\n" . '--' . "\n" . '-- Table structure for `actor`' . "\n" . '--' . "\n" . '' . "\n" . '/* C-like comment syntax. */' . "\n" . 'CREATE TABLE IF NOT EXISTS `actor` (' . "\n" . '`actor_id` SMALLINT(5) UNSIGNED NOT NULL,' . "\n" . '`first_name` VARCHAR(45) NOT NULL,' . "\n" . '`last_name` VARCHAR(45) NOT NULL,' . "\n" . '`last_update` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP' . "\n" . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;' . "\n" . '' . "\n" . '/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;' . "\n" . '/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;' . "\n" . '/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */'; return array( array( "SELECT '\'';\nSELECT '\'';", 8, array( 'parse_delimiter' => true, 'add_delimiter' => true, ), array( "SELECT '\'';", "SELECT '\'';", ), ), array( "CREATE TABLE `test` (\n" . " `txt` varchar(10)\n" . ");\n" . "INSERT INTO `test` (`txt`) VALUES('abc');\n" . "INSERT INTO `test` (`txt`) VALUES('\\\\');\n" . "INSERT INTO `test` (`txt`) VALUES('xyz');\n", 8, array( 'parse_delimiter' => true, 'add_delimiter' => true, ), array( "CREATE TABLE `test` (\n" . " `txt` varchar(10)\n" . ');', "INSERT INTO `test` (`txt`) VALUES('abc');", "INSERT INTO `test` (`txt`) VALUES('\\\\');", "INSERT INTO `test` (`txt`) VALUES('xyz');", ), ), array( 'SELECT """""""";' . 'SELECT """\\\\"""', 8, array( 'parse_delimiter' => true, 'add_delimiter' => true, ), array( 'SELECT """""""";', 'SELECT """\\\\"""', ), ), array( 'DELIMITER A_VERY_LONG_DEL' . "\n" . 'SELECT 1 A_VERY_LONG_DEL' . "\n" . 'DELIMITER ;', 3, array( 'parse_delimiter' => true, 'add_delimiter' => true, ), array( 'DELIMITER A_VERY_LONG_DEL', 'SELECT 1 A_VERY_LONG_DEL', 'DELIMITER ;', ), ), array( $query, 32, array( 'parse_delimiter' => false, 'add_delimiter' => false, ), array( '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */', '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */', '/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */', '/*!40101 SET NAMES utf8mb4 */', 'SET SQL_MODE = \'NO_AUTO_VALUE_ON_ZERO\'', 'SET time_zone = "+00:00"', '# Bash-like comment sytanx.' . "\n" . 'CREATE DEFINER=`root`@`localhost` PROCEDURE `film_in_stock` (IN `p_film_id` INT, IN `p_store_id` INT, OUT `p_film_count` INT) READS SQL DATA' . "\n" . 'BEGIN' . "\n" . ' SELECT inventory_id' . "\n" . ' FROM inventory' . "\n" . ' WHERE film_id = p_film_id' . "\n" . ' AND store_id = p_store_id' . "\n" . ' AND inventory_in_stock(inventory_id);' . "\n" . '' . "\n" . ' SELECT FOUND_ROWS() INTO p_film_count;' . "\n" . 'END', '-- --------------------------------------------------------' . "\n" . '' . "\n" . '--' . "\n" . '-- Table structure for `actor`' . "\n" . '--' . "\n" . '' . "\n" . '/* C-like comment syntax. */' . "\n" . 'CREATE TABLE IF NOT EXISTS `actor` (' . "\n" . '`actor_id` SMALLINT(5) UNSIGNED NOT NULL,' . "\n" . '`first_name` VARCHAR(45) NOT NULL,' . "\n" . '`last_name` VARCHAR(45) NOT NULL,' . "\n" . '`last_update` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP' . "\n" . ') ENGINE=InnoDB DEFAULT CHARSET=utf8', '/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */', '/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */', '/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */', ), ), array( $query, 32, array( 'parse_delimiter' => true, 'add_delimiter' => false, ), array( '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */', '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */', '/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */', '/*!40101 SET NAMES utf8mb4 */', 'SET SQL_MODE = \'NO_AUTO_VALUE_ON_ZERO\'', 'SET time_zone = "+00:00"', '/* a comment */ DELIMITER $$', '# Bash-like comment sytanx.' . "\n" . 'CREATE DEFINER=`root`@`localhost` PROCEDURE `film_in_stock` (IN `p_film_id` INT, IN `p_store_id` INT, OUT `p_film_count` INT) READS SQL DATA' . "\n" . 'BEGIN' . "\n" . ' SELECT inventory_id' . "\n" . ' FROM inventory' . "\n" . ' WHERE film_id = p_film_id' . "\n" . ' AND store_id = p_store_id' . "\n" . ' AND inventory_in_stock(inventory_id);' . "\n" . '' . "\n" . ' SELECT FOUND_ROWS() INTO p_film_count;' . "\n" . 'END', 'DELIMITER ;', '-- --------------------------------------------------------' . "\n" . '' . "\n" . '--' . "\n" . '-- Table structure for `actor`' . "\n" . '--' . "\n" . '' . "\n" . '/* C-like comment syntax. */' . "\n" . 'CREATE TABLE IF NOT EXISTS `actor` (' . "\n" . '`actor_id` SMALLINT(5) UNSIGNED NOT NULL,' . "\n" . '`first_name` VARCHAR(45) NOT NULL,' . "\n" . '`last_name` VARCHAR(45) NOT NULL,' . "\n" . '`last_update` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP' . "\n" . ') ENGINE=InnoDB DEFAULT CHARSET=utf8', '/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */', '/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */', '/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */', ), ), array( $query, 64, array( 'parse_delimiter' => false, 'add_delimiter' => true, ), array( '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;', '/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;', '/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;', '/*!40101 SET NAMES utf8mb4 */;', 'SET SQL_MODE = \'NO_AUTO_VALUE_ON_ZERO\';', 'SET time_zone = "+00:00";', '# Bash-like comment sytanx.' . "\n" . 'CREATE DEFINER=`root`@`localhost` PROCEDURE `film_in_stock` (IN `p_film_id` INT, IN `p_store_id` INT, OUT `p_film_count` INT) READS SQL DATA' . "\n" . 'BEGIN' . "\n" . ' SELECT inventory_id' . "\n" . ' FROM inventory' . "\n" . ' WHERE film_id = p_film_id' . "\n" . ' AND store_id = p_store_id' . "\n" . ' AND inventory_in_stock(inventory_id);' . "\n" . '' . "\n" . ' SELECT FOUND_ROWS() INTO p_film_count;' . "\n" . 'END$$', '-- --------------------------------------------------------' . "\n" . '' . "\n" . '--' . "\n" . '-- Table structure for `actor`' . "\n" . '--' . "\n" . '' . "\n" . '/* C-like comment syntax. */' . "\n" . 'CREATE TABLE IF NOT EXISTS `actor` (' . "\n" . '`actor_id` SMALLINT(5) UNSIGNED NOT NULL,' . "\n" . '`first_name` VARCHAR(45) NOT NULL,' . "\n" . '`last_name` VARCHAR(45) NOT NULL,' . "\n" . '`last_update` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP' . "\n" . ') ENGINE=InnoDB DEFAULT CHARSET=utf8;', '/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;', '/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;', '/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */', ), ) ); } } sql-parser-4.6.1/tests/Utils/CLITest.php000066400000000000000000000324621363525634600200610ustar00rootroot00000000000000getMockBuilder('PhpMyAdmin\SqlParser\Utils\CLI')->setMethods(array('getopt'))->getMock(); $cli->method('getopt')->willReturn($getopt); return $cli; } private function getCLIStdIn($input, $getopt) { $cli = $this->getMockBuilder('PhpMyAdmin\SqlParser\Utils\CLI')->setMethods(array('getopt', 'readStdin'))->getMock(); $cli->method('getopt')->willReturn($getopt); $cli->method('readStdin')->willReturn($input); return $cli; } /** * Test that getopt call works. * * We do mock it for other tests to return values we want. */ public function testGetopt() { $cli = new \PhpMyAdmin\SqlParser\Utils\CLI(); $this->assertEquals( $cli->getopt('', array()), array() ); } /** * @dataProvider highlightParams * * @param mixed $getopt * @param mixed $output * @param mixed $result */ public function testRunHighlight($getopt, $output, $result) { $cli = $this->getCLI($getopt); $this->expectOutputString($output); $this->assertEquals($result, $cli->runHighlight()); } public function highlightParams() { return array( array( array('q' => 'SELECT 1'), "\x1b[35mSELECT\n \x1b[92m1\x1b[0m\n", 0 ), array( array('query' => 'SELECT 1'), "\x1b[35mSELECT\n \x1b[92m1\x1b[0m\n", 0 ), array( array( 'q' => 'SELECT /* comment */ 1 /* other */', 'f' => 'text', ), "SELECT\n /* comment */ 1 /* other */\n", 0 ), array( array( 'q' => 'SELECT 1', 'f' => 'foo', ), "ERROR: Invalid value for format!\n", 1 ), array( array( 'q' => 'SELECT 1', 'f' => 'html', ), 'SELECT' . '
' . '    1' . "\n", 0 ), array( array('h' => true), 'Usage: highlight-query --query SQL [--format html|cli|text] [--ansi]' . "\n" . ' cat file.sql | highlight-query' . "\n", 0 ), array( array(), 'ERROR: Missing parameters!' . "\n" . 'Usage: highlight-query --query SQL [--format html|cli|text] [--ansi]' . "\n" . ' cat file.sql | highlight-query' . "\n", 1, ), array( false, '', 1 ) ); } /** * @dataProvider highlightParamsStdIn * * @param mixed $input * @param mixed $getopt * @param mixed $output * @param mixed $result */ public function testRunHighlightStdIn($input, $getopt, $output, $result) { $cli = $this->getCLIStdIn($input, $getopt); $this->expectOutputString($output); $this->assertEquals($result, $cli->runHighlight()); } public function highlightParamsStdIn() { return array( array( 'SELECT 1', array(), "\x1b[35mSELECT\n \x1b[92m1\x1b[0m\n", 0 ), array( 'SELECT /* comment */ 1 /* other */', array( 'f' => 'text', ), "SELECT\n /* comment */ 1 /* other */\n", 0 ), array( 'SELECT 1', array( 'f' => 'foo', ), "ERROR: Invalid value for format!\n", 1 ), array( 'SELECT 1', array( 'f' => 'html', ), 'SELECT' . '
' . '    1' . "\n", 0 ), array( '', array('h' => true), 'Usage: highlight-query --query SQL [--format html|cli|text] [--ansi]' . "\n" . ' cat file.sql | highlight-query' . "\n", 0 ), array( '', array(), 'ERROR: Missing parameters!' . "\n" . 'Usage: highlight-query --query SQL [--format html|cli|text] [--ansi]' . "\n" . ' cat file.sql | highlight-query' . "\n", 1, ), array( '', false, '', 1 ) ); } /** * @dataProvider lintParamsStdIn * * @param mixed $input * @param mixed $getopt * @param mixed $output * @param mixed $result */ public function testRunLintFromStdIn($input, $getopt, $output, $result) { $cli = $this->getCLIStdIn($input, $getopt); $this->expectOutputString($output); $this->assertEquals($result, $cli->runLint()); } public function lintParamsStdIn() { return array( array( 'SELECT 1', array(), '', 0, ), array( 'SELECT SELECT', array(), '#1: An expression was expected. (near "SELECT" at position 7)' . "\n" . '#2: This type of clause was previously parsed. (near "SELECT" at position 7)' . "\n" . '#3: An expression was expected. (near "" at position 0)' . "\n", 10, ), array( 'SELECT SELECT', array('c' => 'MySql80000'), '#1: An expression was expected. (near "SELECT" at position 7)' . "\n" . '#2: This type of clause was previously parsed. (near "SELECT" at position 7)' . "\n" . '#3: An expression was expected. (near "" at position 0)' . "\n", 10, ), array( '', array(), 'ERROR: Missing parameters!' . "\n" . 'Usage: lint-query --query SQL [--ansi]' . "\n" . ' cat file.sql | lint-query' . "\n", 1, ), array( '', array('h' => true), 'Usage: lint-query --query SQL [--ansi]' . "\n" . ' cat file.sql | lint-query' . "\n", 0, ), array( '', false, '', 1, ) ); } /** * @dataProvider lintParams * * @param mixed $getopt * @param mixed $output * @param mixed $result */ public function testRunLint($getopt, $output, $result) { $cli = $this->getCLI($getopt); $this->expectOutputString($output); $this->assertEquals($result, $cli->runLint()); } public function lintParams() { return array( array( array('q' => 'SELECT 1'), '', 0, ), array( array('query' => 'SELECT 1'), '', 0, ), array( array('q' => 'SELECT SELECT'), '#1: An expression was expected. (near "SELECT" at position 7)' . "\n" . '#2: This type of clause was previously parsed. (near "SELECT" at position 7)' . "\n" . '#3: An expression was expected. (near "" at position 0)' . "\n", 10, ), array( array('q' => 'SELECT SELECT', 'c' => 'MySql80000'), '#1: An expression was expected. (near "SELECT" at position 7)' . "\n" . '#2: This type of clause was previously parsed. (near "SELECT" at position 7)' . "\n" . '#3: An expression was expected. (near "" at position 0)' . "\n", 10, ), array( array('h' => true), 'Usage: lint-query --query SQL [--ansi]' . "\n" . ' cat file.sql | lint-query' . "\n", 0, ), array( array(), 'ERROR: Missing parameters!' . "\n" . 'Usage: lint-query --query SQL [--ansi]' . "\n" . ' cat file.sql | lint-query' . "\n", 1, ), array( false, '', 1, ) ); } /** * @dataProvider tokenizeParams * * @param mixed $getopt * @param mixed $output * @param mixed $result */ public function testRunTokenize($getopt, $output, $result) { $cli = $this->getCLI($getopt); $this->expectOutputString($output); $this->assertEquals($result, $cli->runTokenize()); } public function tokenizeParams() { $result = ( "[TOKEN 0]\nType = 1\nFlags = 3\nValue = 'SELECT'\nToken = 'SELECT'\n\n" . "[TOKEN 1]\nType = 3\nFlags = 0\nValue = ' '\nToken = ' '\n\n" . "[TOKEN 2]\nType = 6\nFlags = 0\nValue = 1\nToken = '1'\n\n" . "[TOKEN 3]\nType = 9\nFlags = 0\nValue = NULL\nToken = NULL\n\n" ); return array( array( array('q' => 'SELECT 1'), $result, 0, ), array( array('query' => 'SELECT 1'), $result, 0, ), array( array('h' => true), 'Usage: tokenize-query --query SQL [--ansi]' . "\n" . ' cat file.sql | tokenize-query' . "\n", 0, ), array( array(), 'ERROR: Missing parameters!' . "\n" . 'Usage: tokenize-query --query SQL [--ansi]' . "\n" . ' cat file.sql | tokenize-query' . "\n", 1, ), array( false, '', 1, ) ); } /** * @dataProvider tokenizeParamsStdIn * * @param mixed $input * @param mixed $getopt * @param mixed $output * @param mixed $result */ public function testRunTokenizeStdIn($input, $getopt, $output, $result) { $cli = $this->getCLIStdIn($input, $getopt); $this->expectOutputString($output); $this->assertEquals($result, $cli->runTokenize()); } public function tokenizeParamsStdIn() { $result = ( "[TOKEN 0]\nType = 1\nFlags = 3\nValue = 'SELECT'\nToken = 'SELECT'\n\n" . "[TOKEN 1]\nType = 3\nFlags = 0\nValue = ' '\nToken = ' '\n\n" . "[TOKEN 2]\nType = 6\nFlags = 0\nValue = 1\nToken = '1'\n\n" . "[TOKEN 3]\nType = 9\nFlags = 0\nValue = NULL\nToken = NULL\n\n" ); return array( array( 'SELECT 1', array(), $result, 0, ), array( '', array('h' => true), 'Usage: tokenize-query --query SQL [--ansi]' . "\n" . ' cat file.sql | tokenize-query' . "\n", 0, ), array( '', array(), 'ERROR: Missing parameters!' . "\n" . 'Usage: tokenize-query --query SQL [--ansi]' . "\n" . ' cat file.sql | tokenize-query' . "\n", 1, ), array( '', false, '', 1, ) ); } /** * @dataProvider stdinParams * * @param string $cmd * @param int $result */ public function testStdinPipe($cmd, $result) { exec ($cmd, $out, $ret); $this->assertSame($result, $ret); } public function stdinParams() { if (defined('PHP_BINARY')) { $binPath = PHP_BINARY . ' ' . realpath(dirname(__DIR__) . '/../') . '/bin/'; } else { $binPath = 'php' . ' ' . realpath(dirname(__DIR__) . '/../') . '/bin/'; } return array( array('echo "SELECT 1" | '. $binPath .'highlight-query', 0), array('echo "invalid query" | '. $binPath .'highlight-query', 0), array('echo "SELECT 1" | '. $binPath .'lint-query', 0), array('echo "invalid query" | '. $binPath .'lint-query', 10), array('echo "SELECT 1" | '. $binPath .'tokenize-query', 0), array('echo "invalid query" | '. $binPath .'tokenize-query', 0) ); } } sql-parser-4.6.1/tests/Utils/ErrorTest.php000066400000000000000000000024201363525634600205320ustar00rootroot00000000000000list); $this->assertEquals( array( array( 'Unexpected character.', 0, '$', 22, ), array( 'Unexpected dot.', 0, '.', 17, ), ), Error::get(array($lexer, $parser)) ); } public function testFormat() { $this->assertEquals( array('#1: error msg (near "token" at position 100)'), Error::format(array(array('error msg', 42, 'token', 100))) ); $this->assertEquals( array('#1: error msg (near "token" at position 100)', '#2: error msg (near "token" at position 200)'), Error::format(array(array('error msg', 42, 'token', 100), array('error msg', 42, 'token', 200))) ); } } sql-parser-4.6.1/tests/Utils/FormatterTest.php000066400000000000000000000650721363525634600214200ustar00rootroot00000000000000getMockBuilder('PhpMyAdmin\SqlParser\Utils\Formatter') ->disableOriginalConstructor() ->setMethods(array('getDefaultOptions', 'getDefaultFormats')) ->getMock(); $formatter->expects($this->once()) ->method('getDefaultOptions') ->willReturn(array( 'type' => 'text', 'line_ending' => null, 'indentation' => null, 'clause_newline' => null, 'parts_newline' => null )); $formatter->expects($this->once()) ->method('getDefaultFormats') ->willReturn($default); $expectedOptions = array( 'type' => 'test-type', 'line_ending' => '
', 'indentation' => ' ', 'clause_newline' => null, 'parts_newline' => 0, 'formats' => $expected ); $overridingOptions = array( 'type' => 'test-type', 'line_ending' => '
', 'formats' => $overriding ); $reflectionMethod = new \ReflectionMethod($formatter, 'getMergedOptions'); $reflectionMethod->setAccessible(true); $this->assertEquals($expectedOptions, $reflectionMethod->invoke($formatter, $overridingOptions)); } public function mergeFormats() { // array($default[], $overriding[], $expected[]) return array( 'empty formats' => array( 'default' => array( array( 'type' => 0, 'flags' => 0, 'html' => '', 'cli' => '', 'function' => '', ), ), 'overriding' => array( array(), ), 'expected' => array( array( 'type' => 0, 'flags' => 0, 'html' => '', 'cli' => '', 'function' => '', ), ), ), 'no flags' => array( 'default' => array( array( 'type' => 0, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', ), array( 'type' => 0, 'flags' => 1, 'html' => 'html', 'cli' => 'cli', ), ), 'overriding' => array( array( 'type' => 0, 'html' => 'new html', 'cli' => 'new cli', ), ), 'expected' => array( array( 'type' => 0, 'flags' => 0, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', ), array( 'type' => 0, 'flags' => 1, 'html' => 'html', 'cli' => 'cli', ), ), ), 'with flags' => array( 'default' => array( array( 'type' => -1, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', ), array( 'type' => 0, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', ), array( 'type' => 0, 'flags' => 1, 'html' => 'html', 'cli' => 'cli', ), ), 'overriding' => array( array( 'type' => 0, 'flags' => 0, 'html' => 'new html', 'cli' => 'new cli', ), ), 'expected' => array( array( 'type' => -1, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', ), array( 'type' => 0, 'flags' => 0, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', ), array( 'type' => 0, 'flags' => 1, 'html' => 'html', 'cli' => 'cli', ), ), ), 'with extra formats' => array( 'default' => array( array( 'type' => 0, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', ), ), 'overriding' => array( array( 'type' => 0, 'flags' => 1, 'html' => 'new html', 'cli' => 'new cli', ), array( 'type' => 1, 'html' => 'new html', 'cli' => 'new cli', ), array( 'type' => 1, 'flags' => 1, 'html' => 'new html', 'cli' => 'new cli', ), ), 'expected' => array( array( 'type' => 0, 'flags' => 0, 'html' => 'html', 'cli' => 'cli', ), array( 'type' => 0, 'flags' => 1, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', ), array( 'type' => 1, 'flags' => 0, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', ), array( 'type' => 1, 'flags' => 1, 'html' => 'new html', 'cli' => 'new cli', 'function' => '', ), ), ) ); } /** * @dataProvider formatQueries * * @param mixed $query * @param mixed $text * @param mixed $cli * @param mixed $html */ public function testFormat($query, $text, $cli, $html, array $options = array()) { // Test TEXT format $this->assertEquals($text, Formatter::format($query, array('type' => 'text') + $options), 'Text formatting failed.'); // Test CLI format $this->assertEquals($cli, Formatter::format($query, array('type' => 'cli') + $options), 'CLI formatting failed.'); // Test HTML format $this->assertEquals($html, Formatter::format($query, array('type' => 'html') + $options), 'HTML formatting failed.'); } public function formatQueries() { return array( 'empty' => array( 'query' => '', 'text' => '', 'cli' => "\x1b[0m", 'html' => '', ), 'minimal' => array( 'query' => 'select 1', 'text' => 'SELECT' . "\n" . ' 1', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[92m1" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    1', ), 'simply' => array( 'query' => 'select * from tbl where 1', 'text' => 'SELECT' . "\n" . ' *' . "\n" . 'FROM' . "\n" . ' tbl' . "\n" . 'WHERE' . "\n" . ' 1', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[39m*" . "\n" . "\x1b[35mFROM" . "\n" . " \x1b[39mtbl" . "\n" . "\x1b[35mWHERE" . "\n" . " \x1b[92m1" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    *' . '
' . 'FROM' . '
' . '    tbl' . '
' . 'WHERE' . '
' . '    1', ), 'typical' => array( 'query' => 'SELECT id, if(id=1,"Si","No") from `tbl` where id = 0 or id = 1 group by id order by id desc limit 1 offset 0', 'text' => 'SELECT' . "\n" . ' id,' . "\n" . ' IF(id = 1, "Si", "No")' . "\n" . 'FROM' . "\n" . ' `tbl`' . "\n" . 'WHERE' . "\n" . ' id = 0 OR id = 1' . "\n" . 'GROUP BY' . "\n" . ' id' . "\n" . 'ORDER BY' . "\n" . ' id' . "\n" . 'DESC' . "\n" . 'LIMIT 1 OFFSET 0', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[39mid," . "\n" . " \x1b[35mIF\x1b[39m(id = \x1b[92m1\x1b[39m, \x1b[91m\"Si\"\x1b[39m, \x1b[91m\"No\"\x1b[39m)" . "\n" . "\x1b[35mFROM" . "\n" . " \x1b[36m`tbl`" . "\n" . "\x1b[35mWHERE" . "\n" . " \x1b[39mid = \x1b[92m0 \x1b[35mOR \x1b[39mid = \x1b[92m1" . "\n" . "\x1b[35mGROUP BY" . "\n" . " \x1b[39mid" . "\n" . "\x1b[35mORDER BY" . "\n" . " \x1b[39mid" . "\n" . "\x1b[35mDESC" . "\n" . "LIMIT \x1b[92m1 \x1b[95mOFFSET \x1b[92m0" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    id,' . '
' . '    IF(id = 1, "Si", "No")' . '
' . 'FROM' . '
' . '    `tbl`' . '
' . 'WHERE' . '
' . '    id = 0 OR id = 1' . '
' . 'GROUP BY' . '
' . '    id' . '
' . 'ORDER BY' . '
' . '    id' . '
' . 'DESC' . '
' . 'LIMIT 1 OFFSET 0', ), 'comments' => array( 'query' => 'select /* Comment */ *' . "\n" . 'from tbl # Comment' . "\n" . 'where 1 -- Comment', 'text' => 'SELECT' . "\n" . ' /* Comment */ *' . "\n" . 'FROM' . "\n" . ' tbl # Comment' . "\n" . 'WHERE' . "\n" . ' 1 -- Comment', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[37m/* Comment */ \x1b[39m*" . "\n" . "\x1b[35mFROM" . "\n" . " \x1b[39mtbl \x1b[37m# Comment" . "\n" . "\x1b[35mWHERE" . "\n" . " \x1b[92m1 \x1b[37m-- Comment" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    /* Comment */ *' . '
' . 'FROM' . '
' . '    tbl # Comment' . '
' . 'WHERE' . '
' . '    1 -- Comment', ), 'strip comments' => array( 'query' => 'select /* Comment */ *' . "\n" . 'from tbl # Comment' . "\n" . 'where 1 -- Comment', 'text' => 'SELECT' . "\n" . ' *' . "\n" . 'FROM' . "\n" . ' tbl' . "\n" . 'WHERE' . "\n" . ' 1', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[39m*" . "\n" . "\x1b[35mFROM" . "\n" . " \x1b[39mtbl" . "\n" . "\x1b[35mWHERE" . "\n" . " \x1b[92m1" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    *' . '
' . 'FROM' . '
' . '    tbl' . '
' . 'WHERE' . '
' . '    1', 'options' => array( 'remove_comments' => true, ), ), 'keywords' => array( 'query' => 'select hex("1")', 'text' => 'SELECT' . "\n" . ' HEX("1")', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[95mHEX\x1b[39m(\x1b[91m\"1\"\x1b[39m)" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    HEX("1")', ), 'distinct count' => array( 'query' => 'select distinct count(*)', 'text' => 'SELECT DISTINCT' . "\n" . ' COUNT(*)', 'cli' => "\x1b[35mSELECT DISTINCT" . "\n" . " \x1b[95mCOUNT\x1b[39m(*)" . "\x1b[0m", 'html' => 'SELECT DISTINCT' . '
' . '    COUNT(*)', ), 'create procedure' => array( 'query' => 'create procedure test_procedure() begin from tbl select *; end', 'text' => 'CREATE PROCEDURE test_procedure()' . "\n" . 'BEGIN' . "\n" . ' FROM' . "\n" . ' tbl' . "\n" . ' SELECT' . "\n" . ' *;' . "\n" . 'END', 'cli' => "\x1b[35mCREATE PROCEDURE \x1b[39mtest_procedure()\n" . "\x1b[95mBEGIN" . "\n" . " \x1b[35mFROM" . "\n" . " \x1b[39mtbl" . "\n" . " \x1b[35mSELECT" . "\n" . " \x1b[39m*;\n" . "\x1b[95mEND" . "\x1b[0m", 'html' => 'CREATE PROCEDURE test_procedure()' . '
' . 'BEGIN' . '
' . '    FROM' . '
' . '        tbl' . '
' . '    SELECT' . '
' . '        *;' . '
' . 'END', ), 'insert' => array( 'query' => 'insert into foo values (0, 0, 0), (1, 1, 1)', 'text' => 'INSERT INTO foo' . "\n" . 'VALUES(0, 0, 0),(1, 1, 1)', 'cli' => "\x1b[35mINSERT INTO \x1b[39mfoo" . "\n" . "\x1b[35mVALUES\x1b[39m(\x1b[92m0\x1b[39m, \x1b[92m0\x1b[39m, \x1b[92m0\x1b[39m),(\x1b[92m1\x1b[39m, \x1b[92m1\x1b[39m, \x1b[92m1\x1b[39m)" . "\x1b[0m", 'html' => 'INSERT INTO foo' . '
' . 'VALUES(0, 0, 0),(1, 1, 1)', ), 'string as alias' => array( 'query' => 'select "Text" as bar', 'text' => 'SELECT' . "\n" . ' "Text" AS bar', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[91m\"Text\" \x1b[35mAS \x1b[39mbar" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    "Text" AS bar', ), 'escape cli' => array( 'query' => "select 'text\x1b[33mcolor-inj'", 'text' => 'SELECT' . "\n" . " 'text\x1B[33mcolor-inj'", 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[91m'text\\x1B[33mcolor-inj'" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    \'text' . "\x1b[33m" . 'color-inj\'', ), 'escape html' => array( 'query' => "select 'xss' from `xss` , nxss /*sxss*/", 'text' => 'SELECT' . "\n" . ' \'xss\'' . "\n" . 'FROM' . "\n" . ' `xss`,' . "\n" . ' < s > nxss /*sxss*/', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[91m'xss'" . "\n" . "\x1b[35mFROM" . "\n" . " \x1b[36m`xss`\x1b[39m," . "\n" . " < s > nxss \x1b[37m/*sxss*/" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    \'<s>xss\'' . '
' . 'FROM' . '
' . '    `<s>xss`,
    < s > nxss /*s<s>xss*/', ), 'create table' => array( 'query' => 'create table if not exists `pma__bookmark` (' . "\n" . '`id` int(11) not null auto_increment,' . "\n" . '`dbase` varchar(255) not null default "",' . "\n" . '`user` varchar(255) not null default "",' . "\n" . '`label` varchar(255) collate utf8_general_ci not null default "",' . "\n" . '`query` text not null,' . "\n" . 'primary key (`id`)', 'text' => 'CREATE TABLE IF NOT EXISTS `pma__bookmark`(' . "\n" . ' `id` INT(11) NOT NULL AUTO_INCREMENT,' . "\n" . ' `dbase` VARCHAR(255) NOT NULL DEFAULT "",' . "\n" . ' `user` VARCHAR(255) NOT NULL DEFAULT "",' . "\n" . ' `label` VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT "",' . "\n" . ' `query` TEXT NOT NULL,' . "\n" . ' PRIMARY KEY(`id`)', 'cli' => "\x1b[35mCREATE TABLE IF NOT EXISTS \x1b[36m`pma__bookmark`\x1b[39m(" . "\n" . " \x1b[36m`id` \x1b[35mINT\x1b[39m(\x1b[92m11\x1b[39m) \x1b[35mNOT NULL \x1b[95mAUTO_INCREMENT\x1b[39m," . "\n" . " \x1b[36m`dbase` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) \x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m," . "\n" . " \x1b[36m`user` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) \x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m," . "\n" . " \x1b[36m`label` \x1b[35mVARCHAR\x1b[39m(\x1b[92m255\x1b[39m) \x1b[35mCOLLATE \x1b[39mutf8_general_ci \x1b[35mNOT NULL DEFAULT \x1b[91m\"\"\x1b[39m," . "\n" . " \x1b[36m`query` \x1b[95mTEXT \x1b[35mNOT NULL\x1b[39m," . "\n" . " \x1b[35mPRIMARY KEY\x1b[39m(\x1b[36m`id`\x1b[39m)" . "\x1b[0m", 'html' => 'CREATE TABLE IF NOT EXISTS `pma__bookmark`(' . '
' . '    `id` INT(11) NOT NULL AUTO_INCREMENT,' . '
' . '    `dbase` VARCHAR(255) NOT NULL DEFAULT "",' . '
' . '    `user` VARCHAR(255) NOT NULL DEFAULT "",' . '
' . '    `label` VARCHAR(255) COLLATE utf8_general_ci NOT NULL DEFAULT "",' . '
' . '    `query` TEXT NOT NULL,' . '
' . '    PRIMARY KEY(`id`)', ), 'join' => array( 'query' => 'join tbl2 on c1=c2', 'text' => 'JOIN tbl2 ON c1 = c2', 'cli' => "\x1b[35mJOIN \x1b[39mtbl2 \x1b[35mON \x1b[39mc1 = c2" . "\x1b[0m", 'html' => 'JOIN tbl2 ON c1 = c2', ), 'named param' => array( 'query' => 'select * from tbl where col = :param', 'text' => 'SELECT' . "\n" . ' *' . "\n" . 'FROM' . "\n" . ' tbl' . "\n" . 'WHERE' . "\n" . ' col = :param', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[39m*" . "\n" . "\x1b[35mFROM" . "\n" . " \x1b[39mtbl" . "\n" . "\x1b[35mWHERE" . "\n" . " \x1b[39mcol = \x1b[31m:param" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    *' . '
' . 'FROM' . '
' . '    tbl' . '
' . 'WHERE' . '
' . '    col = :param', ), 'anon param' => array( 'query' => 'select * from tbl where col = ?', 'text' => 'SELECT' . "\n" . ' *' . "\n" . 'FROM' . "\n" . ' tbl' . "\n" . 'WHERE' . "\n" . ' col = ?', 'cli' => "\x1b[35mSELECT" . "\n" . " \x1b[39m*" . "\n" . "\x1b[35mFROM" . "\n" . " \x1b[39mtbl" . "\n" . "\x1b[35mWHERE" . "\n" . " \x1b[39mcol = \x1b[31m?" . "\x1b[0m", 'html' => 'SELECT' . '
' . '    *' . '
' . 'FROM' . '
' . '    tbl' . '
' . 'WHERE' . '
' . '    col = ?', ) ); } } sql-parser-4.6.1/tests/Utils/MiscTest.php000066400000000000000000000077721363525634600203530ustar00rootroot00000000000000statements[0]) ? null : $parser->statements[0]; $this->assertEquals($expected, Misc::getAliases($statement, $db)); } public function getAliasesProvider() { return array( array( 'select * from (select 1) tbl', 'mydb', array(), ), array( 'select i.name as `n`,abcdef gh from qwerty i', 'mydb', array( 'mydb' => array( 'alias' => null, 'tables' => array( 'qwerty' => array( 'alias' => 'i', 'columns' => array( 'name' => 'n', 'abcdef' => 'gh', ), ), ), ), ), ), array( 'select film_id id,title from film', 'sakila', array( 'sakila' => array( 'alias' => null, 'tables' => array( 'film' => array( 'alias' => null, 'columns' => array( 'film_id' => 'id', ), ), ), ), ), ), array( 'select `sakila`.`A`.`actor_id` as aid,`F`.`film_id` `fid`,' . 'last_update updated from `sakila`.actor A join `film_actor` as ' . '`F` on F.actor_id = A.`actor_id`', 'sakila', array( 'sakila' => array( 'alias' => null, 'tables' => array( 'film_actor' => array( 'alias' => 'F', 'columns' => array( 'film_id' => 'fid', 'last_update' => 'updated', ), ), 'actor' => array( 'alias' => 'A', 'columns' => array( 'actor_id' => 'aid', 'last_update' => 'updated', ), ), ), ), ), ), array( 'SELECT film_id FROM (SELECT * FROM film) as f;', 'sakila', array(), ), array( '', null, array(), ), array( 'SELECT 1', null, array(), ), array( 'SELECT * FROM orders AS ord WHERE 1', 'db', array( 'db' => array( 'alias' => null, 'tables' => array( 'orders' => array( 'alias' => 'ord', 'columns' => array(), ), ), ), ), ) ); } } sql-parser-4.6.1/tests/Utils/QueryTest.php000066400000000000000000000522231363525634600205540ustar00rootroot00000000000000assertEquals( $expected, Query::getFlags($parser->statements[0]) ); } public function getFlagsProvider() { return array( array( 'ALTER TABLE DROP col', array( 'reload' => true, 'querytype' => 'ALTER', ), ), array( 'CALL test()', array( 'is_procedure' => true, 'querytype' => 'CALL', ), ), array( 'CREATE TABLE tbl (id INT)', array( 'reload' => true, 'querytype' => 'CREATE', ), ), array( 'CHECK TABLE tbl', array( 'is_maint' => true, 'querytype' => 'CHECK', ), ), array( 'DELETE FROM tbl', array( 'is_affected' => true, 'is_delete' => true, 'querytype' => 'DELETE', ), ), array( 'DROP VIEW v', array( 'reload' => true, 'querytype' => 'DROP', ), ), array( 'DROP DATABASE db', array( 'drop_database' => true, 'reload' => true, 'querytype' => 'DROP', ), ), array( 'EXPLAIN tbl', array( 'is_explain' => true, 'querytype' => 'EXPLAIN', ), ), array( 'LOAD DATA INFILE \'/tmp/test.txt\' INTO TABLE test', array( 'is_affected' => true, 'is_insert' => true, 'querytype' => 'LOAD', ), ), array( 'INSERT INTO tbl VALUES (1)', array( 'is_affected' => true, 'is_insert' => true, 'querytype' => 'INSERT', ), ), array( 'REPLACE INTO tbl VALUES (2)', array( 'is_affected' => true, 'is_replace' => true, 'is_insert' => true, 'querytype' => 'REPLACE', ), ), array( 'SELECT 1', array( 'is_select' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT * FROM tbl', array( 'is_select' => true, 'select_from' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT DISTINCT * FROM tbl LIMIT 0, 10 ORDER BY id', array( 'distinct' => true, 'is_select' => true, 'select_from' => true, 'limit' => true, 'order' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT * FROM actor GROUP BY actor_id', array( 'is_group' => true, 'is_select' => true, 'select_from' => true, 'group' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT col1, col2 FROM table1 PROCEDURE ANALYSE(10, 2000);', array( 'is_analyse' => true, 'is_select' => true, 'select_from' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT * FROM tbl INTO OUTFILE "/tmp/export.txt"', array( 'is_export' => true, 'is_select' => true, 'select_from' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT COUNT(id), SUM(id) FROM tbl', array( 'is_count' => true, 'is_func' => true, 'is_select' => true, 'select_from' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT (SELECT "foo")', array( 'is_select' => true, 'is_subquery' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT * FROM customer HAVING store_id = 2;', array( 'is_select' => true, 'select_from' => true, 'is_group' => true, 'having' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT * FROM table1 INNER JOIN table2 ON table1.id=table2.id;', array( 'is_select' => true, 'select_from' => true, 'join' => true, 'querytype' => 'SELECT', ), ), array( 'SHOW CREATE TABLE tbl', array( 'is_show' => true, 'querytype' => 'SHOW', ), ), array( 'UPDATE tbl SET id = 1', array( 'is_affected' => true, 'querytype' => 'UPDATE', ), ), array( 'ANALYZE TABLE tbl', array( 'is_maint' => true, 'querytype' => 'ANALYZE', ), ), array( 'CHECKSUM TABLE tbl', array( 'is_maint' => true, 'querytype' => 'CHECKSUM', ), ), array( 'OPTIMIZE TABLE tbl', array( 'is_maint' => true, 'querytype' => 'OPTIMIZE', ), ), array( 'REPAIR TABLE tbl', array( 'is_maint' => true, 'querytype' => 'REPAIR', ), ), array( '(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10) ' . 'UNION ' . '(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);', array( 'is_select' => true, 'select_from' => true, 'limit' => true, 'order' => true, 'union' => true, 'querytype' => 'SELECT', ), ), array( 'SELECT * FROM orders AS ord WHERE 1', array( 'querytype' => 'SELECT', 'is_select' => true, 'select_from' => true, ), ), array( 'SET NAMES \'latin\'', array( 'querytype' => 'SET', ), ) ); } public function testGetAll() { $this->assertEquals( array( 'distinct' => false, 'drop_database' => false, 'group' => false, 'having' => false, 'is_affected' => false, 'is_analyse' => false, 'is_count' => false, 'is_delete' => false, 'is_explain' => false, 'is_export' => false, 'is_func' => false, 'is_group' => false, 'is_insert' => false, 'is_maint' => false, 'is_procedure' => false, 'is_replace' => false, 'is_select' => false, 'is_show' => false, 'is_subquery' => false, 'join' => false, 'limit' => false, 'offset' => false, 'order' => false, 'querytype' => false, 'reload' => false, 'select_from' => false, 'union' => false, ), Query::getAll('') ); $query = 'SELECT *, actor.actor_id, sakila2.film.* FROM sakila2.city, sakila2.film, actor'; $parser = new Parser($query); $this->assertEquals( array_merge( Query::getFlags($parser->statements[0], true), array( 'parser' => $parser, 'statement' => $parser->statements[0], 'select_expr' => array('*'), 'select_tables' => array( array( 'actor', null, ), array( 'film', 'sakila2', ), ) ) ), Query::getAll($query) ); $query = 'SELECT * FROM sakila.actor, film'; $parser = new Parser($query); $this->assertEquals( array_merge( Query::getFlags($parser->statements[0], true), array( 'parser' => $parser, 'statement' => $parser->statements[0], 'select_expr' => array('*'), 'select_tables' => array( array( 'actor', 'sakila', ), array( 'film', null, ), ) ) ), Query::getAll($query) ); $query = 'SELECT a.actor_id FROM sakila.actor AS a, film'; $parser = new Parser($query); $this->assertEquals( array_merge( Query::getFlags($parser->statements[0], true), array( 'parser' => $parser, 'statement' => $parser->statements[0], 'select_expr' => array(), 'select_tables' => array( array( 'actor', 'sakila', ), ), ) ), Query::getAll($query) ); $query = 'SELECT CASE WHEN 2 IS NULL THEN "this is true" ELSE "this is false" END'; $parser = new Parser($query); $this->assertEquals( array_merge( Query::getFlags($parser->statements[0], true), array( 'parser' => $parser, 'statement' => $parser->statements[0], 'select_expr' => array( 'CASE WHEN 2 IS NULL THEN "this is true" ELSE "this is false" END', ), 'select_tables' => array(), ) ), Query::getAll($query) ); } /** * @dataProvider getTablesProvider * * @param mixed $query * @param mixed $expected */ public function testGetTables($query, $expected) { $parser = new Parser($query); $this->assertEquals( $expected, Query::getTables($parser->statements[0]) ); } public function getTablesProvider() { return array( array( 'INSERT INTO tbl(`id`, `name`) VALUES (1, "Name")', array('`tbl`') ), array( 'UPDATE tbl SET id = 0', array('`tbl`') ), array( 'DELETE FROM tbl WHERE id < 10', array('`tbl`') ), array( 'TRUNCATE tbl', array('`tbl`') ), array( 'DROP VIEW v', array() ), array( 'DROP TABLE tbl1, tbl2', array( '`tbl1`', '`tbl2`', ), ), array( 'RENAME TABLE a TO b, c TO d', array( '`a`', '`c`' ) ) ); } public function testGetClause() { /* Assertion 1 */ $parser = new Parser( 'SELECT c.city_id, c.country_id ' . 'FROM `city` ' . 'WHERE city_id < 1 /* test */' . 'ORDER BY city_id ASC ' . 'LIMIT 0, 1 ' . 'INTO OUTFILE "/dev/null"' ); $this->assertEquals( '0, 1 INTO OUTFILE "/dev/null"', Query::getClause( $parser->statements[0], $parser->list, 'LIMIT', 0 ) ); // Assert it returns all clauses between FROM and LIMIT $this->assertEquals( 'WHERE city_id < 1 ORDER BY city_id ASC', Query::getClause( $parser->statements[0], $parser->list, 'FROM', 'LIMIT' ) ); // Assert it returns all clauses between SELECT and LIMIT $this->assertEquals( 'FROM `city` WHERE city_id < 1 ORDER BY city_id ASC', Query::getClause( $parser->statements[0], $parser->list, 'LIMIT', 'SELECT' ) ); /* Assertion 2 */ $parser = new Parser( 'DELETE FROM `renewal` ' . 'WHERE number = "1DB" AND actionDate <= CURRENT_DATE() ' . 'ORDER BY id ASC ' . 'LIMIT 1' ); $this->assertEquals( 'number = "1DB" AND actionDate <= CURRENT_DATE()', Query::getClause( $parser->statements[0], $parser->list, 'WHERE' ) ); $this->assertEquals( '1', Query::getClause( $parser->statements[0], $parser->list, 'LIMIT' ) ); $this->assertEquals( 'id ASC', Query::getClause( $parser->statements[0], $parser->list, 'ORDER BY' ) ); /* Assertion 3 */ $parser = new Parser( 'UPDATE `renewal` SET `some_column` = 1 ' . 'WHERE number = "1DB" AND actionDate <= CURRENT_DATE() ' . 'ORDER BY id ASC ' . 'LIMIT 1' ); $this->assertEquals( 'number = "1DB" AND actionDate <= CURRENT_DATE()', Query::getClause( $parser->statements[0], $parser->list, 'WHERE' ) ); $this->assertEquals( '1', Query::getClause( $parser->statements[0], $parser->list, 'LIMIT' ) ); $this->assertEquals( 'id ASC', Query::getClause( $parser->statements[0], $parser->list, 'ORDER BY' ) ); } public function testReplaceClause() { $parser = new Parser('SELECT *, (SELECT 1) FROM film LIMIT 0, 10;'); $this->assertEquals( 'SELECT *, (SELECT 1) FROM film WHERE film_id > 0 LIMIT 0, 10', Query::replaceClause( $parser->statements[0], $parser->list, 'WHERE film_id > 0' ) ); $parser = new Parser( 'select supplier.city, supplier.id from supplier ' . 'union select customer.city, customer.id from customer' ); $this->assertEquals( 'select supplier.city, supplier.id from supplier ' . 'union select customer.city, customer.id from customer' . ' ORDER BY city ', Query::replaceClause( $parser->statements[0], $parser->list, 'ORDER BY city' ) ); } public function testReplaceClauseOnlyKeyword() { $parser = new Parser('SELECT *, (SELECT 1) FROM film LIMIT 0, 10'); $this->assertEquals( ' SELECT SQL_CALC_FOUND_ROWS *, (SELECT 1) FROM film LIMIT 0, 10', Query::replaceClause( $parser->statements[0], $parser->list, 'SELECT SQL_CALC_FOUND_ROWS', null, true ) ); } public function testReplaceNonExistingPart() { $parser = new Parser('ALTER TABLE `sale_mast` OPTIMIZE PARTITION p3'); $this->assertEquals( ' ALTER TABLE `sale_mast` OPTIMIZE PARTITION p3', Query::replaceClause( $parser->statements[0], $parser->list, 'ORDER BY', '' ) ); } public function testReplaceClauses() { $this->assertEquals('', Query::replaceClauses(null, null, array())); $parser = new Parser('SELECT *, (SELECT 1) FROM film LIMIT 0, 10;'); $this->assertEquals( 'SELECT *, (SELECT 1) FROM film WHERE film_id > 0 LIMIT 0, 10', Query::replaceClauses( $parser->statements[0], $parser->list, array( array( 'WHERE', 'WHERE film_id > 0', ) ) ) ); $parser = new Parser( 'SELECT c.city_id, c.country_id ' . 'INTO OUTFILE "/dev/null" ' . 'FROM `city` ' . 'WHERE city_id < 1 ' . 'ORDER BY city_id ASC ' . 'LIMIT 0, 1 ' ); $this->assertEquals( 'SELECT c.city_id, c.country_id ' . 'INTO OUTFILE "/dev/null" ' . 'FROM city AS c ' . 'ORDER BY city_id ASC ' . 'LIMIT 0, 10 ', Query::replaceClauses( $parser->statements[0], $parser->list, array( array( 'FROM', 'FROM city AS c', ), array( 'WHERE', '', ), array( 'LIMIT', 'LIMIT 0, 10', ) ) ) ); } public function testGetFirstStatement() { $query = 'USE saki'; $delimiter = null; list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter); $this->assertNull($statement); $this->assertEquals('USE saki', $query); $query = 'USE sakila; ' . '/*test comment*/' . 'SELECT * FROM actor; ' . 'DELIMITER $$ ' . 'UPDATE actor SET last_name = "abc"$$' . '/*!SELECT * FROM actor WHERE last_name = "abc"*/$$'; $delimiter = null; list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter); $this->assertEquals('USE sakila;', $statement); list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter); $this->assertEquals('SELECT * FROM actor;', $statement); list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter); $this->assertEquals('DELIMITER $$', $statement); $this->assertEquals('$$', $delimiter); list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter); $this->assertEquals('UPDATE actor SET last_name = "abc"$$', $statement); list($statement, $query, $delimiter) = Query::getFirstStatement($query, $delimiter); $this->assertEquals('SELECT * FROM actor WHERE last_name = "abc"$$', $statement); } } sql-parser-4.6.1/tests/Utils/RoutineTest.php000066400000000000000000000203431363525634600210720ustar00rootroot00000000000000assertEquals($expected, Routine::getReturnType($def)); } public function getReturnTypeProvider() { return array( array( '', array( '', '', '', '', '', ), ), array( 'TEXT', array( '', '', 'TEXT', '', '', ), ), array( 'INT(20)', array( '', '', 'INT', '20', '', ), ), array( 'INT UNSIGNED', array( '', '', 'INT', '', 'UNSIGNED', ), ), array( 'VARCHAR(1) CHARSET utf8', array( '', '', 'VARCHAR', '1', 'utf8', ), ), array( 'ENUM(\'a\', \'b\') CHARSET latin1', array( '', '', 'ENUM', '\'a\',\'b\'', 'latin1', ), ), array( 'DECIMAL(5,2) UNSIGNED ZEROFILL', array( '', '', 'DECIMAL', '5,2', 'UNSIGNED ZEROFILL', ), ), array( 'SET(\'test\'\'esc"\', \'more\\\'esc\')', array( '', '', 'SET', '\'test\'\'esc"\',\'more\\\'esc\'', '', ), ) ); } /** * @dataProvider getParameterProvider * * @param mixed $def */ public function testGetParameter($def, array $expected) { $this->assertEquals($expected, Routine::getParameter($def)); } public function getParameterProvider() { return array( array( '', array( '', '', '', '', '', ), ), array( '`foo` TEXT', array( '', 'foo', 'TEXT', '', '', ), ), array( '`foo` INT(20)', array( '', 'foo', 'INT', '20', '', ), ), array( 'IN `fo``fo` INT UNSIGNED', array( 'IN', 'fo`fo', 'INT', '', 'UNSIGNED', ), ), array( 'OUT bar VARCHAR(1) CHARSET utf8', array( 'OUT', 'bar', 'VARCHAR', '1', 'utf8', ), ), array( '`"baz\'\'` ENUM(\'a\', \'b\') CHARSET latin1', array( '', '"baz\'\'', 'ENUM', '\'a\',\'b\'', 'latin1', ), ), array( 'INOUT `foo` DECIMAL(5,2) UNSIGNED ZEROFILL', array( 'INOUT', 'foo', 'DECIMAL', '5,2', 'UNSIGNED ZEROFILL', ), ), array( '`foo``s func` SET(\'test\'\'esc"\', \'more\\\'esc\')', array( '', 'foo`s func', 'SET', '\'test\'\'esc"\',\'more\\\'esc\'', '', ), ) ); } /** * @dataProvider getParametersProvider * * @param mixed $query */ public function testGetParameters($query, array $expected) { $parser = new Parser($query); $this->assertEquals($expected, Routine::getParameters($parser->statements[0])); } public function getParametersProvider() { return array( array( 'CREATE PROCEDURE `foo`() SET @A=0', array( 'num' => 0, 'dir' => array(), 'name' => array(), 'type' => array(), 'length' => array(), 'length_arr' => array(), 'opts' => array(), ), ), array( 'CREATE DEFINER=`user\\`@`somehost``(` FUNCTION `foo```(`baz` INT) BEGIN SELECT NULL; END', array( 'num' => 1, 'dir' => array( 0 => '', ), 'name' => array( 0 => 'baz', ), 'type' => array( 0 => 'INT', ), 'length' => array( 0 => '', ), 'length_arr' => array( 0 => array(), ), 'opts' => array( 0 => '', ), ), ), array( 'CREATE PROCEDURE `foo`(IN `baz\\)` INT(25) zerofill unsigned) BEGIN SELECT NULL; END', array( 'num' => 1, 'dir' => array( 0 => 'IN', ), 'name' => array( 0 => 'baz\\)', ), 'type' => array( 0 => 'INT', ), 'length' => array( 0 => '25', ), 'length_arr' => array( 0 => array('25'), ), 'opts' => array( 0 => 'UNSIGNED ZEROFILL', ), ), ), array( 'CREATE PROCEDURE `foo`(IN `baz\\` INT(001) zerofill, out bazz varchar(15) charset utf8) ' . 'BEGIN SELECT NULL; END', array( 'num' => 2, 'dir' => array( 0 => 'IN', 1 => 'OUT', ), 'name' => array( 0 => 'baz\\', 1 => 'bazz', ), 'type' => array( 0 => 'INT', 1 => 'VARCHAR', ), 'length' => array( 0 => '1', 1 => '15', ), 'length_arr' => array( 0 => array('1'), 1 => array('15'), ), 'opts' => array( 0 => 'ZEROFILL', 1 => 'utf8', ), ), ) ); } } sql-parser-4.6.1/tests/Utils/TableTest.php000066400000000000000000000216461363525634600205030ustar00rootroot00000000000000assertEquals($expected, Table::getForeignKeys($parser->statements[0])); } public function getForeignKeysProvider() { return array( array( 'CREATE USER test', array(), ), array( 'CREATE TABLE `payment` ( `payment_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `customer_id` smallint(5) unsigned NOT NULL, `staff_id` tinyint(3) unsigned NOT NULL, `rental_id` int(11) DEFAULT NULL, `amount` decimal(5,2) NOT NULL, `payment_date` datetime NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`payment_id`), KEY `idx_fk_staff_id` (`staff_id`), KEY `idx_fk_customer_id` (`customer_id`), KEY `fk_payment_rental` (`rental_id`), CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE, CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8', array( array( 'constraint' => 'fk_payment_customer', 'index_list' => array('customer_id'), 'ref_db_name' => null, 'ref_table_name' => 'customer', 'ref_index_list' => array('customer_id'), 'on_update' => 'CASCADE', ), array( 'constraint' => 'fk_payment_rental', 'index_list' => array('rental_id'), 'ref_db_name' => null, 'ref_table_name' => 'rental', 'ref_index_list' => array('rental_id'), 'on_delete' => 'SET_NULL', 'on_update' => 'CASCADE', ), array( 'constraint' => 'fk_payment_staff', 'index_list' => array('staff_id'), 'ref_db_name' => null, 'ref_table_name' => 'staff', 'ref_index_list' => array('staff_id'), 'on_update' => 'CASCADE', ), ), ), array( 'CREATE TABLE `actor` ( `actor_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `first_name` varchar(45) NOT NULL, `last_name` varchar(45) NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`actor_id`), KEY `idx_actor_last_name` (`last_name`) ) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8', array(), ), array( 'CREATE TABLE `address` ( `address_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `address` varchar(50) NOT NULL, `address2` varchar(50) DEFAULT NULL, `district` varchar(20) NOT NULL, `city_id` smallint(5) unsigned NOT NULL, `postal_code` varchar(10) DEFAULT NULL, `phone` varchar(20) NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`address_id`), KEY `idx_fk_city_id` (`city_id`), CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=606 DEFAULT CHARSET=utf8', array( array( 'constraint' => 'fk_address_city', 'index_list' => array('city_id'), 'ref_db_name' => null, 'ref_table_name' => 'city', 'ref_index_list' => array('city_id'), 'on_update' => 'CASCADE', ), ), ) ); } /** * @dataProvider getFieldsProvider * * @param mixed $query */ public function testGetFields($query, array $expected) { $parser = new Parser($query); $this->assertEquals($expected, Table::getFields($parser->statements[0])); } public function getFieldsProvider() { return array( array( 'CREATE USER test', array(), ), array( 'CREATE TABLE `address` ( `address_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `address` varchar(50) NOT NULL, `address2` varchar(50) DEFAULT NULL, `district` varchar(20) NOT NULL, `city_id` smallint(5) unsigned NOT NULL, `postal_code` varchar(10) DEFAULT NULL, `phone` varchar(20) NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`address_id`), KEY `idx_fk_city_id` (`city_id`), CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=606 DEFAULT CHARSET=utf8', array( 'address_id' => array( 'type' => 'SMALLINT', 'timestamp_not_null' => false, ), 'address' => array( 'type' => 'VARCHAR', 'timestamp_not_null' => false, ), 'address2' => array( 'type' => 'VARCHAR', 'timestamp_not_null' => false, 'default_value' => 'NULL', ), 'district' => array( 'type' => 'VARCHAR', 'timestamp_not_null' => false, ), 'city_id' => array( 'type' => 'SMALLINT', 'timestamp_not_null' => false, ), 'postal_code' => array( 'type' => 'VARCHAR', 'timestamp_not_null' => false, 'default_value' => 'NULL', ), 'phone' => array( 'type' => 'VARCHAR', 'timestamp_not_null' => false, ), 'last_update' => array( 'type' => 'TIMESTAMP', 'timestamp_not_null' => true, 'default_value' => 'CURRENT_TIMESTAMP', 'default_current_timestamp' => true, 'on_update_current_timestamp' => true, ), ), ), array( 'CREATE TABLE table1 ( a INT NOT NULL, b VARCHAR(32), c INT AS (a mod 10) VIRTUAL, d VARCHAR(5) AS (left(b,5)) PERSISTENT )', array( 'a' => array( 'type' => 'INT', 'timestamp_not_null' => false, ), 'b' => array( 'type' => 'VARCHAR', 'timestamp_not_null' => false, ), 'c' => array( 'type' => 'INT', 'timestamp_not_null' => false, 'generated' => true, 'expr' => '(a mod 10)', ), 'd' => array( 'type' => 'VARCHAR', 'timestamp_not_null' => false, 'generated' => true, 'expr' => '(left(b,5))', ), ), ) ); } } sql-parser-4.6.1/tests/Utils/TokensTest.php000066400000000000000000000066061363525634600207160ustar00rootroot00000000000000assertEquals($expected, Tokens::replaceTokens($list, $find, $replace)); } public function replaceTokensProvider() { return array( array( 'SELECT * FROM /*x*/a/*c*/.b', array( array('value_str' => 'a'), array('token' => '.'), ), array( new Token('c'), new Token('.'), ), 'SELECT * FROM /*x*/c.b', ) ); } /** * @dataProvider matchProvider * * @param mixed $token * @param mixed $pattern * @param mixed $expected */ public function testMatch($token, $pattern, $expected) { $this->assertEquals($expected, Tokens::match($token, $pattern)); } public function matchProvider() { return array( array( new Token(''), array(), true, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('token' => '"abc"'), true, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('value' => 'abc'), true, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('value_str' => 'ABC'), true, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('type' => Token::TYPE_STRING), true, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('flags' => Token::FLAG_STRING_DOUBLE_QUOTES), true, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('token' => '"abcd"'), false, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('value' => 'abcd'), false, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('value_str' => 'ABCd'), false, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('type' => Token::TYPE_NUMBER), false, ), array( new Token('"abc"', Token::TYPE_STRING, Token::FLAG_STRING_DOUBLE_QUOTES), array('flags' => Token::FLAG_STRING_SINGLE_QUOTES), false, ) ); } } sql-parser-4.6.1/tests/data/000077500000000000000000000000001363525634600157035ustar00rootroot00000000000000sql-parser-4.6.1/tests/data/bugs/000077500000000000000000000000001363525634600166435ustar00rootroot00000000000000sql-parser-4.6.1/tests/data/bugs/gh14.in000066400000000000000000000001611363525634600177340ustar00rootroot00000000000000ALTER TABLE `actor` MODIFY `actor_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT = 201;sql-parser-4.6.1/tests/data/bugs/gh14.out000066400000000000000000000146101363525634600201410ustar00rootroot00000000000000a:4:{s:5:"query";s:113:"ALTER TABLE `actor` MODIFY `actor_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT = 201;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:113:"ALTER TABLE `actor` MODIFY `actor_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT = 201;";s:3:"len";i:113;s:4:"last";i:113;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:29:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`actor`";s:5:"value";s:5:"actor";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"MODIFY";s:5:"value";s:6:"MODIFY";s:7:"keyword";s:6:"MODIFY";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:24;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:31;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"SMALLINT";s:5:"value";s:8:"SMALLINT";s:7:"keyword";s:8:"SMALLINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:42;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:50;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"5";s:5:"value";i:5;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:51;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"UNSIGNED";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:54;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:63;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:72;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:86;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:92;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:107;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:108;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"201";s:5:"value";i:201;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:109;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:112;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:29;s:3:"idx";i:29;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"actor";s:6:"column";N;s:4:"expr";s:7:"`actor`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:2:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"MODIFY";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:8:"actor_id";s:4:"expr";s:10:"`actor_id`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:10:{i:0;r:79;i:1;r:86;i:2;r:93;i:3;r:100;i:4;r:107;i:5;r:114;i:6;r:121;i:7;r:128;i:8;r:135;i:9;r:142;}}i:1;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:14:"AUTO_INCREMENT";s:6:"equals";b:1;s:4:"expr";s:3:"201";s:5:"value";s:3:"201";}}}s:5:"field";N;s:7:"unknown";a:0:{}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:27;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/bugs/gh16.in000066400000000000000000000007341363525634600177440ustar00rootroot00000000000000CREATE TABLE `jos_core_acl_aro` ( `id` int(11) NOT NULL, `section_value` varchar(240) NOT NULL DEFAULT '0', `value` varchar(240) NOT NULL DEFAULT '', `order_value` int(11) NOT NULL DEFAULT '0', `name` varchar(255) NOT NULL DEFAULT '', `hidden` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `jos_section_value_value_aro` (`section_value`(100),`value`(15)) USING BTREE, KEY `jos_gacl_hidden_aro` (`hidden`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1sql-parser-4.6.1/tests/data/bugs/gh16.out000066400000000000000000000706561363525634600201570ustar00rootroot00000000000000a:4:{s:5:"query";s:476:"CREATE TABLE `jos_core_acl_aro` ( `id` int(11) NOT NULL, `section_value` varchar(240) NOT NULL DEFAULT '0', `value` varchar(240) NOT NULL DEFAULT '', `order_value` int(11) NOT NULL DEFAULT '0', `name` varchar(255) NOT NULL DEFAULT '', `hidden` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `jos_section_value_value_aro` (`section_value`(100),`value`(15)) USING BTREE, KEY `jos_gacl_hidden_aro` (`hidden`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:476:"CREATE TABLE `jos_core_acl_aro` ( `id` int(11) NOT NULL, `section_value` varchar(240) NOT NULL DEFAULT '0', `value` varchar(240) NOT NULL DEFAULT '', `order_value` int(11) NOT NULL DEFAULT '0', `name` varchar(255) NOT NULL DEFAULT '', `hidden` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `jos_section_value_value_aro` (`section_value`(100),`value`(15)) USING BTREE, KEY `jos_gacl_hidden_aro` (`hidden`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1";s:3:"len";i:476;s:4:"last";i:476;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:134:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"`jos_core_acl_aro`";s:5:"value";s:16:"jos_core_acl_aro";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:36;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"int";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:41;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:44;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:45;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:47;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:49;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:57;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`section_value`";s:5:"value";s:13:"section_value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:61;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"varchar";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:77;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:84;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"240";s:5:"value";i:240;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:85;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:90;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:99;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"'0'";s:5:"value";s:1:"0";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:107;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:110;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:114;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:121;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"varchar";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:122;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:129;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"240";s:5:"value";i:240;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:130;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:133;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:134;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:135;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:143;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:144;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:151;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"''";s:5:"value";s:0:"";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:152;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:154;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:155;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`order_value`";s:5:"value";s:11:"order_value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:158;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:171;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"int";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:172;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:175;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:176;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:178;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:179;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:180;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:188;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:189;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:196;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"'0'";s:5:"value";s:1:"0";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:197;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:200;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:201;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`name`";s:5:"value";s:4:"name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:204;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:210;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"varchar";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:211;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:218;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"255";s:5:"value";i:255;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:219;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:222;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:223;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:224;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:232;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:233;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:240;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"''";s:5:"value";s:0:"";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:241;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:243;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:244;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`hidden`";s:5:"value";s:6:"hidden";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:247;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:255;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"int";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:256;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:259;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:260;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:262;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:263;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:264;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:272;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:273;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:280;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"'0'";s:5:"value";s:1:"0";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:281;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:284;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:285;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:7:"keyword";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:288;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:299;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:300;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:301;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:305;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:306;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:307;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"UNIQUE KEY";s:5:"value";s:10:"UNIQUE KEY";s:7:"keyword";s:10:"UNIQUE KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:310;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:320;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:29:"`jos_section_value_value_aro`";s:5:"value";s:27:"jos_section_value_value_aro";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:321;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:350;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:351;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`section_value`";s:5:"value";s:13:"section_value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:352;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:367;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"100";s:5:"value";i:100;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:368;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:371;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:372;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:373;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:380;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"15";s:5:"value";i:15;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:381;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:383;}i:109;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:384;}i:110;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:385;}i:111;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:386;}i:112;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:391;}i:113;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"BTREE";s:5:"value";s:5:"BTREE";s:7:"keyword";s:5:"BTREE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:392;}i:114;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:397;}i:115;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:398;}i:116;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:401;}i:117;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:404;}i:118;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:21:"`jos_gacl_hidden_aro`";s:5:"value";s:19:"jos_gacl_hidden_aro";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:405;}i:119;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:426;}i:120;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:427;}i:121;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`hidden`";s:5:"value";s:6:"hidden";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:428;}i:122;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:436;}i:123;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:437;}i:124;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:438;}i:125;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:439;}i:126;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:440;}i:127;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:446;}i:128;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:447;}i:129;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:453;}i:130;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"DEFAULT CHARSET";s:5:"value";s:15:"DEFAULT CHARSET";s:7:"keyword";s:15:"DEFAULT CHARSET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:454;}i:131;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:469;}i:132;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"latin1";s:5:"value";s:6:"latin1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:470;}i:133;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:134;s:3:"idx";i:134;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:16:"jos_core_acl_aro";s:6:"column";N;s:4:"expr";s:18:"`jos_core_acl_aro`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}i:4;a:4:{s:4:"name";s:15:"DEFAULT CHARSET";s:6:"equals";b:1;s:4:"expr";s:6:"latin1";s:5:"value";s:6:"latin1";}}}s:6:"fields";a:9:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;s:2:"11";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:1;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:13:"section_value";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:3:"240";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"0";s:4:"expr";s:3:"'0'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"'0'";}}}}i:2;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:5:"value";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:3:"240";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:0:"";s:4:"expr";s:2:"''";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:2:"''";}}}}i:3;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:11:"order_value";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;s:2:"11";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"0";s:4:"expr";s:3:"'0'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"'0'";}}}}i:4;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:4:"name";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:3:"255";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:0:"";s:4:"expr";s:2:"''";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:2:"''";}}}}i:5;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:6:"hidden";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;s:2:"11";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"0";s:4:"expr";s:3:"'0'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"'0'";}}}}i:6;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:2:"id";}}s:4:"type";s:11:"PRIMARY KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:7;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";s:27:"jos_section_value_value_aro";s:7:"columns";a:2:{i:0;a:2:{s:4:"name";s:13:"section_value";s:6:"length";i:100;}i:1;a:2:{s:4:"name";s:5:"value";s:6:"length";i:15;}}s:4:"type";s:10:"UNIQUE KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:5:"USING";s:6:"equals";b:0;s:4:"expr";s:5:"BTREE";s:5:"value";s:5:"BTREE";}}}}s:10:"references";N;s:7:"options";N;}i:8;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";s:19:"jos_gacl_hidden_aro";s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:6:"hidden";}}s:4:"type";s:3:"KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:133;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/bugs/gh9.in000066400000000000000000000003251363525634600176620ustar00rootroot00000000000000SELECT * FROM foo WHERE SELECT * FROM foo WHERE START TRANSACTION; CREATE TABLE `tb` (`uid` INT UNSIGNED NOT NULL `position` INT NOT NULL, PRIMARY KEY ( `uid` ) , INDEX ( `position` ) ) ENGINE = InnoDB; COMMIT;sql-parser-4.6.1/tests/data/bugs/gh9.out000066400000000000000000000377461363525634600201040ustar00rootroot00000000000000a:4:{s:5:"query";s:213:"SELECT * FROM foo WHERE SELECT * FROM foo WHERE START TRANSACTION; CREATE TABLE `tb` (`uid` INT UNSIGNED NOT NULL `position` INT NOT NULL, PRIMARY KEY ( `uid` ) , INDEX ( `position` ) ) ENGINE = InnoDB; COMMIT;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:213:"SELECT * FROM foo WHERE SELECT * FROM foo WHERE START TRANSACTION; CREATE TABLE `tb` (`uid` INT UNSIGNED NOT NULL `position` INT NOT NULL, PRIMARY KEY ( `uid` ) , INDEX ( `position` ) ) ENGINE = InnoDB; COMMIT;";s:3:"len";i:213;s:4:"last";i:213;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:75:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:24;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:38;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"START TRANSACTION";s:5:"value";s:17:"START TRANSACTION";s:7:"keyword";s:17:"START TRANSACTION";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:66;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:69;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:76;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`tb`";s:5:"value";s:2:"tb";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`uid`";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:94;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"UNSIGNED";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:98;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:107;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:115;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`position`";s:5:"value";s:8:"position";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:116;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:126;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:127;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:131;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:139;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:140;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:7:"keyword";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:141;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:152;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:153;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:154;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`uid`";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:155;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:161;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:162;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:163;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:164;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"INDEX";s:5:"value";s:5:"INDEX";s:7:"keyword";s:5:"INDEX";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:165;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:170;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:171;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:172;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`position`";s:5:"value";s:8:"position";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:173;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:183;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:184;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:185;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:186;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:187;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:188;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:194;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:195;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:196;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:197;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:203;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:204;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"COMMIT";s:5:"value";s:6:"COMMIT";s:7:"keyword";s:6:"COMMIT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:206;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:212;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:75;s:3:"idx";i:75;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:3:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:0:{}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:9;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:0:{}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:10;s:4:"last";i:19;}i:2;O:52:"PhpMyAdmin\SqlParser\Statements\TransactionStatement":6:{s:4:"type";i:1;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"tb";s:6:"column";N;s:4:"expr";s:4:"`tb`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:3:"uid";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:21;s:4:"last";i:47;}}s:3:"end";O:52:"PhpMyAdmin\SqlParser\Statements\TransactionStatement":6:{s:4:"type";i:2;s:10:"statements";N;s:3:"end";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"COMMIT";}}s:5:"first";i:72;s:4:"last";i:72;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:17:"START TRANSACTION";}}s:5:"first";i:20;s:4:"last";i:20;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:5:{i:0;a:3:{i:0;s:42:"This type of clause was previously parsed.";i:1;r:79;i:2;i:0;}i:1;a:3:{i:0;s:76:"A new statement was found, but no delimiter between it and the previous one.";i:1;r:149;i:2;i:0;}i:2;a:3:{i:0;s:42:"A comma or a closing bracket was expected.";i:1;r:275;i:2;i:0;}i:3;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:352;i:2;i:0;}i:4;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:394;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/bugs/pma11800.in000066400000000000000000000000331363525634600203360ustar00rootroot00000000000000SELECT 'a' REGEXP '^[a-d]';sql-parser-4.6.1/tests/data/bugs/pma11800.out000066400000000000000000000047721363525634600205550ustar00rootroot00000000000000a:4:{s:5:"query";s:27:"SELECT 'a' REGEXP '^[a-d]';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:27:"SELECT 'a' REGEXP '^[a-d]';";s:3:"len";i:27;s:4:"last";i:27;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"'a'";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"REGEXP";s:5:"value";s:6:"REGEXP";s:7:"keyword";s:6:"REGEXP";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'^[a-d]'";s:5:"value";s:6:"^[a-d]";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:26;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:18:"'a'REGEXP '^[a-d]'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:6;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/bugs/pma11836.in000066400000000000000000000001361363525634600203530ustar00rootroot00000000000000SELECT * FROM alumnos WHERE id = IF(id = 1, id, nombre) AND id not in (SELECT id FROM alumnos)sql-parser-4.6.1/tests/data/bugs/pma11836.out000066400000000000000000000212541363525634600205600ustar00rootroot00000000000000a:4:{s:5:"query";s:94:"SELECT * FROM alumnos WHERE id = IF(id = 1, id, nombre) AND id not in (SELECT id FROM alumnos)";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:94:"SELECT * FROM alumnos WHERE id = IF(id = 1, id, nombre) AND id not in (SELECT id FROM alumnos)";s:3:"len";i:94;s:4:"last";i:94;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:45:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"alumnos";s:5:"value";s:7:"alumnos";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IF";s:5:"value";s:2:"IF";s:7:"keyword";s:2:"IF";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:33;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:35;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:36;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:39;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:41;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:42;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:44;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:46;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"nombre";s:5:"value";s:6:"nombre";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:48;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:54;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:60;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"not in";s:5:"value";s:6:"NOT IN";s:7:"keyword";s:6:"NOT IN";s:4:"type";i:1;s:5:"flags";i:39;s:8:"position";i:63;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:70;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:71;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:78;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:81;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"alumnos";s:5:"value";s:7:"alumnos";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:86;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:93;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:45;s:3:"idx";i:45;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"alumnos";s:6:"column";N;s:4:"expr";s:7:"alumnos";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:3:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:2:"id";i:1;s:6:"nombre";}s:10:"isOperator";b:0;s:4:"expr";s:27:"id = IF(id = 1, id, nombre)";}i:1;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:2;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:2:"id";i:1;s:7:"alumnos";}s:10:"isOperator";b:0;s:4:"expr";s:34:"id not in (SELECT id FROM alumnos)";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:43;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/bugs/pma11843.in000066400000000000000000000001671363525634600203550ustar00rootroot00000000000000CREATE TABLE `mytable` ( `id` int(11) NOT NULL, `created_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP );sql-parser-4.6.1/tests/data/bugs/pma11843.out000066400000000000000000000175511363525634600205630ustar00rootroot00000000000000a:4:{s:5:"query";s:119:"CREATE TABLE `mytable` ( `id` int(11) NOT NULL, `created_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP );";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:119:"CREATE TABLE `mytable` ( `id` int(11) NOT NULL, `created_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP );";s:3:"len";i:119;s:4:"last";i:119;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:34:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`mytable`";s:5:"value";s:7:"mytable";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:29;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"int";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:34;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:37;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:50;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`created_at`";s:5:"value";s:10:"created_at";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:56;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"timestamp";s:5:"value";s:9:"timestamp";s:7:"keyword";s:9:"TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:69;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:78;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"6";s:5:"value";i:6;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:79;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:82;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:91;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"CURRENT_TIMESTAMP";s:5:"value";s:17:"CURRENT_TIMESTAMP";s:7:"keyword";s:17:"CURRENT_TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:99;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:116;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:117;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:118;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:34;s:3:"idx";i:34;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"mytable";s:6:"column";N;s:4:"expr";s:9:"`mytable`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:2:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;s:2:"11";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:1;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:10:"created_at";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:9:"TIMESTAMP";s:10:"parameters";a:1:{i:0;s:1:"6";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:17:"CURRENT_TIMESTAMP";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:17:"CURRENT_TIMESTAMP";}}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:32;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/bugs/pma11867.in000066400000000000000000000000171363525634600203550ustar00rootroot00000000000000DESC tablename;sql-parser-4.6.1/tests/data/bugs/pma11867.out000066400000000000000000000026631363525634600205670ustar00rootroot00000000000000a:4:{s:5:"query";s:15:"DESC tablename;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:15:"DESC tablename;";s:3:"len";i:15;s:4:"last";i:15;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DESC";s:5:"value";s:4:"DESC";s:7:"keyword";s:4:"DESC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"tablename";s:5:"value";s:9:"tablename";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:14;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ExplainStatement":4:{s:7:"unknown";a:3:{i:0;r:9;i:1;r:16;i:2;r:23;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/bugs/pma11879.in000066400000000000000000000002571363525634600203660ustar00rootroot00000000000000INSERT INTO tbproject(`id`, `name`, `description`, `create_dt`, `dbtype`, `useclause`, `sync_comments`) VALUES (NULL, 'testdb', 'Descrizione test', NOW(), 'mySQL', '', 1);sql-parser-4.6.1/tests/data/bugs/pma11879.out000066400000000000000000000241741363525634600205730ustar00rootroot00000000000000a:4:{s:5:"query";s:175:"INSERT INTO tbproject(`id`, `name`, `description`, `create_dt`, `dbtype`, `useclause`, `sync_comments`) VALUES (NULL, 'testdb', 'Descrizione test', NOW(), 'mySQL', '', 1);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:175:"INSERT INTO tbproject(`id`, `name`, `description`, `create_dt`, `dbtype`, `useclause`, `sync_comments`) VALUES (NULL, 'testdb', 'Descrizione test', NOW(), 'mySQL', '', 1);";s:3:"len";i:175;s:4:"last";i:175;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:54:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"tbproject";s:5:"value";s:9:"tbproject";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:24;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:28;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`name`";s:5:"value";s:4:"name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:36;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`description`";s:5:"value";s:11:"description";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:51;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`create_dt`";s:5:"value";s:9:"create_dt";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:53;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:64;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`dbtype`";s:5:"value";s:6:"dbtype";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:66;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:74;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`useclause`";s:5:"value";s:9:"useclause";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:76;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:87;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`sync_comments`";s:5:"value";s:13:"sync_comments";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:89;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:104;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:105;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:106;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:115;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:116;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:120;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:121;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'testdb'";s:5:"value";s:6:"testdb";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:122;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:130;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"'Descrizione test'";s:5:"value";s:16:"Descrizione test";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:132;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:150;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:151;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"NOW";s:5:"value";s:3:"NOW";s:7:"keyword";s:3:"NOW";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:152;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:155;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:156;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:157;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:158;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"'mySQL'";s:5:"value";s:5:"mySQL";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:159;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:166;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:167;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"''";s:5:"value";s:0:"";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:168;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:170;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:171;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:172;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:173;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:174;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:54;s:3:"idx";i:54;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"tbproject";s:6:"column";N;s:4:"expr";s:9:"tbproject";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:7:{i:0;s:2:"id";i:1;s:4:"name";i:2;s:11:"description";i:3;s:9:"create_dt";i:4;s:6:"dbtype";i:5;s:9:"useclause";i:6;s:13:"sync_comments";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";a:1:{i:0;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:7:{i:0;s:4:"NULL";i:1;s:8:"'testdb'";i:2;s:18:"'Descrizione test'";i:3;s:5:"NOW()";i:4;s:7:"'mySQL'";i:5;s:2:"''";i:6;s:1:"1";}s:6:"values";a:7:{i:0;s:4:"NULL";i:1;s:6:"testdb";i:2;s:16:"Descrizione test";i:3;s:5:"NOW()";i:4;s:5:"mySQL";i:5;s:0:"";i:6;s:1:"1";}}}s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:51;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/000077500000000000000000000000001363525634600170225ustar00rootroot00000000000000sql-parser-4.6.1/tests/data/lexer/lex.in000066400000000000000000000000111363525634600201320ustar00rootroot00000000000000SELECT \\sql-parser-4.6.1/tests/data/lexer/lex.out000066400000000000000000000024061363525634600203450ustar00rootroot00000000000000a:4:{s:5:"query";s:9:"SELECT \\";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:9:"SELECT \\";s:3:"len";i:9;s:4:"last";i:9;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"\";s:5:"value";s:1:"\";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"\";s:5:"value";s:1:"\";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:2:{i:0;a:4:{i:0;s:21:"Unexpected character.";i:1;s:1:"\";i:2;i:7;i:3;i:0;}i:1;a:4:{i:0;s:21:"Unexpected character.";i:1;s:1:"\";i:2;i:8;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexBool.in000066400000000000000000000000221363525634600207500ustar00rootroot00000000000000SELECT true, FalSesql-parser-4.6.1/tests/data/lexer/lexBool.out000066400000000000000000000026711363525634600211650ustar00rootroot00000000000000a:4:{s:5:"query";s:18:"SELECT true, FalSe";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:18:"SELECT true, FalSe";s:3:"len";i:18;s:4:"last";i:18;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:7:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"true";s:5:"value";b:1;s:7:"keyword";N;s:4:"type";i:5;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"FalSe";s:5:"value";b:0;s:7:"keyword";N;s:4:"type";i:5;s:5:"flags";i:1;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:7;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexComment.in000066400000000000000000000001561363525634600214670ustar00rootroot00000000000000# comment SELECT /*!50000 STRAIGHT_JOIN */ col1 FROM table1, table2 /* select query */ -- comment -- comment 2sql-parser-4.6.1/tests/data/lexer/lexComment.out000066400000000000000000000107111363525634600216660ustar00rootroot00000000000000a:4:{s:5:"query";s:110:"# comment SELECT /*!50000 STRAIGHT_JOIN */ col1 FROM table1, table2 /* select query */ -- comment -- comment 2";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:110:"# comment SELECT /*!50000 STRAIGHT_JOIN */ col1 FROM table1, table2 /* select query */ -- comment -- comment 2";s:3:"len";i:110;s:4:"last";i:111;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:25:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"# comment";s:5:"value";s:9:"# comment";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:1;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"/*!50000";s:5:"value";s:8:"/*!50000";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:10;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"STRAIGHT_JOIN";s:5:"value";s:13:"STRAIGHT_JOIN";s:7:"keyword";s:13:"STRAIGHT_JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:26;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"*/";s:5:"value";s:2:"*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:40;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"col1";s:5:"value";s:4:"col1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:43;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:48;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:53;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:59;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:61;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"/* select query */";s:5:"value";s:18:"/* select query */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:68;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"-- comment";s:5:"value";s:10:"-- comment";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:87;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"-- comment 2";s:5:"value";s:12:"-- comment 2";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:98;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:25;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexCommentEnd.in000066400000000000000000000000261363525634600221120ustar00rootroot00000000000000SELECT 1 -- comment --sql-parser-4.6.1/tests/data/lexer/lexCommentEnd.out000066400000000000000000000031461363525634600223210ustar00rootroot00000000000000a:4:{s:5:"query";s:22:"SELECT 1 -- comment --";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:22:"SELECT 1 -- comment --";s:3:"len";i:22;s:4:"last";i:23;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:8:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"-- comment";s:5:"value";s:10:"-- comment";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"--";s:5:"value";s:2:"--";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:8;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexDelimiter.in000066400000000000000000000000651363525634600220020ustar00rootroot00000000000000DELIMITER GO SELECT a,b FROM foo GO SELECT * FROM barsql-parser-4.6.1/tests/data/lexer/lexDelimiter.out000066400000000000000000000101071363525634600222010ustar00rootroot00000000000000a:4:{s:5:"query";s:53:"DELIMITER GO SELECT a,b FROM foo GO SELECT * FROM bar";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:53:"DELIMITER GO SELECT a,b FROM foo GO SELECT * FROM bar";s:3:"len";i:53;s:4:"last";i:53;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:24:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DELIMITER";s:5:"value";s:9:"DELIMITER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"GO";s:5:"value";s:2:"GO";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:24;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:29;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"GO";s:5:"value";s:2:"GO";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:33;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:36;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:43;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:24;s:3:"idx";i:0;}s:9:"delimiter";s:2:"GO";s:12:"delimiterLen";i:2;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexDelimiter2.in000066400000000000000000000000701363525634600220600ustar00rootroot00000000000000DELIMTER // SELECT a,b FROM test // SELECT * FROM bar //sql-parser-4.6.1/tests/data/lexer/lexDelimiter2.out000066400000000000000000000114651363525634600222730ustar00rootroot00000000000000a:4:{s:5:"query";s:56:"DELIMTER // SELECT a,b FROM test // SELECT * FROM bar //";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:56:"DELIMTER // SELECT a,b FROM test // SELECT * FROM bar //";s:3:"len";i:56;s:4:"last";i:56;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:29:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DELIMTER";s:5:"value";s:8:"DELIMTER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"/";s:5:"value";s:1:"/";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:9;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"/";s:5:"value";s:1:"/";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:12;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:21;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:23;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"/";s:5:"value";s:1:"/";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:33;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"/";s:5:"value";s:1:"/";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:34;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:36;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:43;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"/";s:5:"value";s:1:"/";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:54;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"/";s:5:"value";s:1:"/";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:55;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:29;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexDelimiterErr1.in000066400000000000000000000000111363525634600225230ustar00rootroot00000000000000DELIMITERsql-parser-4.6.1/tests/data/lexer/lexDelimiterErr1.out000066400000000000000000000014201363525634600227310ustar00rootroot00000000000000a:4:{s:5:"query";s:9:"DELIMITER";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:9:"DELIMITER";s:3:"len";i:9;s:4:"last";i:9;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:2:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DELIMITER";s:5:"value";s:9:"DELIMITER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:2;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:1:{i:0;a:4:{i:0;s:40:"Expected whitespace(s) before delimiter.";i:1;s:0:"";i:2;i:9;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexDelimiterErr2.in000066400000000000000000000000131363525634600225260ustar00rootroot00000000000000DELIMITER sql-parser-4.6.1/tests/data/lexer/lexDelimiterErr2.out000066400000000000000000000016311363525634600227360ustar00rootroot00000000000000a:4:{s:5:"query";s:11:"DELIMITER ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:11:"DELIMITER ";s:3:"len";i:11;s:4:"last";i:11;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:3:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DELIMITER";s:5:"value";s:9:"DELIMITER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:3;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:1:{i:0;a:4:{i:0;s:19:"Expected delimiter.";i:1;s:0:"";i:2;i:11;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexDelimiterErr3.in000066400000000000000000000000131363525634600225270ustar00rootroot00000000000000DELIMITER; sql-parser-4.6.1/tests/data/lexer/lexDelimiterErr3.out000066400000000000000000000020561363525634600227410ustar00rootroot00000000000000a:4:{s:5:"query";s:11:"DELIMITER; ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:11:"DELIMITER; ";s:3:"len";i:11;s:4:"last";i:11;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:4:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DELIMITER";s:5:"value";s:9:"DELIMITER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:10;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:4;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:1:{i:0;a:4:{i:0;s:19:"Expected delimiter.";i:1;s:0:"";i:2;i:10;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexDelimiterLen.in000066400000000000000000000001111363525634600224310ustar00rootroot00000000000000DELIMITER abcdefghijklmnopqrstuvwxyz SELECT 1 abcdefghijklmnopqrstuvwxyz sql-parser-4.6.1/tests/data/lexer/lexDelimiterLen.out000066400000000000000000000050571363525634600226500ustar00rootroot00000000000000a:4:{s:5:"query";s:73:"DELIMITER abcdefghijklmnopqrstuvwxyz SELECT 1 abcdefghijklmnopqrstuvwxyz ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:73:"DELIMITER abcdefghijklmnopqrstuvwxyz SELECT 1 abcdefghijklmnopqrstuvwxyz ";s:3:"len";i:73;s:4:"last";i:73;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DELIMITER";s:5:"value";s:9:"DELIMITER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"abcdefghijklmno";s:5:"value";s:15:"abcdefghijklmno";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"pqrstuvwxyz";s:5:"value";s:11:"pqrstuvwxyz";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:37;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:44;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"abcdefghijklmno";s:5:"value";s:15:"abcdefghijklmno";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:46;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"pqrstuvwxyz";s:5:"value";s:11:"pqrstuvwxyz";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:61;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:0;}s:9:"delimiter";s:15:"abcdefghijklmno";s:12:"delimiterLen";i:15;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexKeyword.in000066400000000000000000000000101363525634600214760ustar00rootroot00000000000000SELECT 1sql-parser-4.6.1/tests/data/lexer/lexKeyword.out000066400000000000000000000017361363525634600217170ustar00rootroot00000000000000a:4:{s:5:"query";s:8:"SELECT 1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:8:"SELECT 1";s:3:"len";i:8;s:4:"last";i:8;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:4:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:4;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexKeyword2.in000066400000000000000000000000311363525634600215630ustar00rootroot00000000000000SELECT tbl.TABLE FROM tblsql-parser-4.6.1/tests/data/lexer/lexKeyword2.out000066400000000000000000000036621363525634600220010ustar00rootroot00000000000000a:4:{s:5:"query";s:25:"SELECT tbl.TABLE FROM tbl";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:25:"SELECT tbl.TABLE FROM tbl";s:3:"len";i:25;s:4:"last";i:25;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"tbl";s:5:"value";s:3:"tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"tbl";s:5:"value";s:3:"tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexLabel1.in000066400000000000000000000002731363525634600211650ustar00rootroot00000000000000CREATE PROCEDURE doiterate(p1 INT) BEGIN label1 : LOOP SET p1 = p1 + 1; IF p1 < 10 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; SET @x = p1; ENDsql-parser-4.6.1/tests/data/lexer/lexLabel1.out000066400000000000000000000274401363525634600213730ustar00rootroot00000000000000a:4:{s:5:"query";s:187:"CREATE PROCEDURE doiterate(p1 INT) BEGIN label1 : LOOP SET p1 = p1 + 1; IF p1 < 10 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; SET @x = p1; END";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:187:"CREATE PROCEDURE doiterate(p1 INT) BEGIN label1 : LOOP SET p1 = p1 + 1; IF p1 < 10 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; SET @x = p1; END";s:3:"len";i:187;s:4:"last";i:187;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:73:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PROCEDURE";s:5:"value";s:9:"PROCEDURE";s:7:"keyword";s:9:"PROCEDURE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"doiterate";s:5:"value";s:9:"doiterate";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:30;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:7:"keyword";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:35;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"label1 :";s:5:"value";s:8:"label1 :";s:7:"keyword";N;s:4:"type";i:10;s:5:"flags";i:0;s:8:"position";i:43;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOOP";s:5:"value";s:4:"LOOP";s:7:"keyword";s:4:"LOOP";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:61;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:65;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:70;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:73;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:75;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:76;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IF";s:5:"value";s:2:"IF";s:7:"keyword";s:2:"IF";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:82;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:85;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"<";s:5:"value";s:1:"<";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:88;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:90;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"THEN";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:93;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"ITERATE";s:5:"value";s:7:"ITERATE";s:7:"keyword";s:7:"ITERATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:104;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"label1";s:5:"value";s:6:"label1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:112;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:118;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:119;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:124;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IF";s:5:"value";s:2:"IF";s:7:"keyword";s:2:"IF";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:128;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:130;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LEAVE";s:5:"value";s:5:"LEAVE";s:7:"keyword";s:5:"LEAVE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:136;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:141;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"label1";s:5:"value";s:6:"label1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:142;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:148;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:149;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:152;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:155;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOOP";s:5:"value";s:4:"LOOP";s:7:"keyword";s:4:"LOOP";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:156;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"label1";s:5:"value";s:6:"label1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:161;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:167;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:168;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:171;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:174;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@x";s:5:"value";s:1:"x";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:175;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:177;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:178;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:179;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:180;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:182;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:183;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:184;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:73;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexLabel2.in000066400000000000000000000002721363525634600211650ustar00rootroot00000000000000CREATE PROCEDURE doiterate(p1 INT) BEGIN label1: LOOP SET p1 = p1 + 1; IF p1 < 10 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; SET @x = p1; ENDsql-parser-4.6.1/tests/data/lexer/lexLabel2.out000066400000000000000000000274341363525634600213770ustar00rootroot00000000000000a:4:{s:5:"query";s:186:"CREATE PROCEDURE doiterate(p1 INT) BEGIN label1: LOOP SET p1 = p1 + 1; IF p1 < 10 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; SET @x = p1; END";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:186:"CREATE PROCEDURE doiterate(p1 INT) BEGIN label1: LOOP SET p1 = p1 + 1; IF p1 < 10 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; SET @x = p1; END";s:3:"len";i:186;s:4:"last";i:186;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:73:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PROCEDURE";s:5:"value";s:9:"PROCEDURE";s:7:"keyword";s:9:"PROCEDURE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"doiterate";s:5:"value";s:9:"doiterate";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:30;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:7:"keyword";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:35;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"label1:";s:5:"value";s:7:"label1:";s:7:"keyword";N;s:4:"type";i:10;s:5:"flags";i:0;s:8:"position";i:43;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOOP";s:5:"value";s:4:"LOOP";s:7:"keyword";s:4:"LOOP";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:60;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:64;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:67;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:69;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:72;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:73;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:74;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:75;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IF";s:5:"value";s:2:"IF";s:7:"keyword";s:2:"IF";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:81;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:83;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:84;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"<";s:5:"value";s:1:"<";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:87;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:89;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"THEN";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:92;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:96;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"ITERATE";s:5:"value";s:7:"ITERATE";s:7:"keyword";s:7:"ITERATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:103;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:110;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"label1";s:5:"value";s:6:"label1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:111;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:117;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:123;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:126;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IF";s:5:"value";s:2:"IF";s:7:"keyword";s:2:"IF";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:127;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:129;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LEAVE";s:5:"value";s:5:"LEAVE";s:7:"keyword";s:5:"LEAVE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:135;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:140;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"label1";s:5:"value";s:6:"label1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:141;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:147;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:151;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:154;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOOP";s:5:"value";s:4:"LOOP";s:7:"keyword";s:4:"LOOP";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:155;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:159;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"label1";s:5:"value";s:6:"label1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:160;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:166;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:167;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:170;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:173;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@x";s:5:"value";s:1:"x";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:174;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:176;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:177;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:178;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:179;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:181;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:182;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:183;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:73;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexNoLabel.in000066400000000000000000000000771363525634600214030ustar00rootroot00000000000000SELECT wins FROM players WHERE auth = '[U1:123456789]' LIMIT 1 sql-parser-4.6.1/tests/data/lexer/lexNoLabel.out000066400000000000000000000072531363525634600216070ustar00rootroot00000000000000a:4:{s:5:"query";s:63:"SELECT wins FROM players WHERE auth = '[U1:123456789]' LIMIT 1 ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:63:"SELECT wins FROM players WHERE auth = '[U1:123456789]' LIMIT 1 ";s:3:"len";i:63;s:4:"last";i:63;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"wins";s:5:"value";s:4:"wins";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"players";s:5:"value";s:7:"players";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"auth";s:5:"value";s:4:"auth";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:36;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"'[U1:123456789]'";s:5:"value";s:14:"[U1:123456789]";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:55;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:61;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexNumber.in000066400000000000000000000002371363525634600213150ustar00rootroot00000000000000SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, 0XFfA, -0xFFa, -0xfFA, -0XFfA, 1e-10, 1e10, .5e10, b'10'; -- invalid number SELECT 12ex10, b'15';sql-parser-4.6.1/tests/data/lexer/lexNumber.out000066400000000000000000000252371363525634600215250ustar00rootroot00000000000000a:4:{s:5:"query";s:159:"SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, 0XFfA, -0xFFa, -0xfFA, -0XFfA, 1e-10, 1e10, .5e10, b'10'; -- invalid number SELECT 12ex10, b'15';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:159:"SELECT 12, 34, 5.67, 0x89, -10, --11, +12, .15, 0xFFa, 0xfFA, 0XFfA, -0xFFa, -0xfFA, -0XFfA, 1e-10, 1e10, .5e10, b'10'; -- invalid number SELECT 12ex10, b'15';";s:3:"len";i:159;s:4:"last";i:159;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:67:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"12";s:5:"value";i:12;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"34";s:5:"value";i:34;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:11;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:13;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"5.67";s:5:"value";d:5.67;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:15;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"0x89";s:5:"value";i:137;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:21;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:25;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"-10";s:5:"value";i:-10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:8;s:8:"position";i:27;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"--11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:8;s:8:"position";i:32;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:36;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"+12";s:5:"value";i:12;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:38;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:".15";s:5:"value";d:0.15;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:43;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:46;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xFFa";s:5:"value";i:4090;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:48;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:53;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xfFA";s:5:"value";i:4090;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:55;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:60;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0XFfA";s:5:"value";i:4090;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:62;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:67;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xFFa";s:5:"value";i:-4090;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:69;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:75;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xfFA";s:5:"value";i:-4090;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:77;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:83;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0XFfA";s:5:"value";i:-4090;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:85;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:91;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"1e-10";s:5:"value";d:1.0E-10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:4;s:8:"position";i:93;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:98;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"1e10";s:5:"value";d:10000000000;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:4;s:8:"position";i:100;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:104;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:105;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:".5e10";s:5:"value";d:5000000000;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:6;s:8:"position";i:106;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:111;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"b'10'";s:5:"value";s:5:"b'10'";s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:16;s:8:"position";i:113;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:118;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:119;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"-- invalid number";s:5:"value";s:17:"-- invalid number";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:120;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:137;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:138;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:144;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"12ex10";s:5:"value";s:6:"12ex10";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:145;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:151;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:152;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:153;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'15'";s:5:"value";s:2:"15";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:154;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:158;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:67;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexOperator.in000066400000000000000000000000141363525634600216510ustar00rootroot00000000000000SELECT 1 + 2sql-parser-4.6.1/tests/data/lexer/lexOperator.out000066400000000000000000000030701363525634600220570ustar00rootroot00000000000000a:4:{s:5:"query";s:12:"SELECT 1 + 2";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:12:"SELECT 1 + 2";s:3:"len";i:12;s:4:"last";i:12;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:8:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:11;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:8;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexOperatorStarIsArithmetic.in000066400000000000000000000045751363525634600250310ustar00rootroot00000000000000SELECT 2*3 SELECT 2 * 3 SELECT field * 8 SELECT 8 * field SELECT foo * bar SELECT `escaped_field` * 16 SELECT 16 * `escaped_field` SELECT `foo` * `bar` SELECT `foo`*`bar` SELECT 1 * (SELECT COUNT(1) FROM nb_rows) SELECT (SELECT COUNT(1) FROM nb_rows) * 1 SELECT (SELECT COUNT(1) FROM nb_rows) * (SELECT COUNT(1) FROM nb_rows) SELECT (1 * 1) * (2 * 2) SELECT 1 * (2 * (3 * (4 * 5))) SELECT 2.71 * 3.14 SELECT 2.71 * -3.14 SELECT -2.71 * 3.14 SELECT -2.71 * -3.14 SELECT 0xABC * 0xCBA SELECT 0xABC * -0xCBA SELECT -0xABC * 0xCBA SELECT -0xABC * -0xCBA -- Now same but with comments inside (C style comments could conflicts with operator if lexer is failing) SELECT 2 * /* comment */3 SELECT 2/* comment */ * 3 SELECT 2/* comment with * inside */ * 3 SELECT /* comment */ field /* comment */ * /* comment */ 8 /* comment */ SELECT /* comment */ 8 /* comment */ * /* comment */ field /* comment */ SELECT /* comment */ foo /* comment */ * /* comment */ bar /* comment */ SELECT /* comment */ `escaped_field` /* comment */ * /* comment */ 16 /* comment */ SELECT /* comment */ 16 /* comment */ * /* comment */ `escaped_field` /* comment */ SELECT /* comment */ `foo` /* comment */ * /* comment */ `bar` /* comment */ SELECT /* `comment` */ `foo` /* `comment` */ * /* `comment` */ `bar` /* `comment` */ SELECT /* comment */ 1 /* comment */ * /* comment */ (SELECT COUNT(/* comment */1/* comment */) /* comment */ FROM nb_rows) SELECT /* comment */ (SELECT COUNT(1) /* comment */FROM/* comment */ nb_rows) /* comment */ * /* comment */ 1 SELECT (SELECT /* comment */ COUNT(1) /* comment */ FROM /* comment */ nb_rows) /* comment */ * /* comment */ (SELECT COUNT(1) FROM nb_rows) SELECT (1 * 1) /* comment */ * /* comment */ (2 * 2) SELECT /* comment */ 1 /* comment */ * /* comment */ (2 /* comment */ * /* comment */ (3 /* comment */ * /* comment */ (4 /* comment */ * /* comment */ 5))) /* comment */ SELECT 2.71 /* comment */ * /* comment */ 3.14 SELECT 2.71 /* comment */ * /* comment */ -3.14 SELECT -2.71 /* comment */ * /* comment */ 3.14 SELECT -2.71 /* comment */ * /* comment */ -3.14 SELECT 0xABC /* comment */ * /* comment */ 0xCBA SELECT 0xABC /* comment */ * /* comment */ -0xCBA SELECT -0xABC /* comment */ * /* comment */ 0xCBA SELECT -0xABC /* comment */ * /* comment */ -0xCBA SELECT 1 /* comment with FROM keyword */ * /* comment with USING keyword */1 SELECT 1 /* comment with ) */ * /* comment with , keyword */1 sql-parser-4.6.1/tests/data/lexer/lexOperatorStarIsArithmetic.out000066400000000000000000003321761363525634600252330ustar00rootroot00000000000000a:4:{s:5:"query";s:2429:"SELECT 2*3 SELECT 2 * 3 SELECT field * 8 SELECT 8 * field SELECT foo * bar SELECT `escaped_field` * 16 SELECT 16 * `escaped_field` SELECT `foo` * `bar` SELECT `foo`*`bar` SELECT 1 * (SELECT COUNT(1) FROM nb_rows) SELECT (SELECT COUNT(1) FROM nb_rows) * 1 SELECT (SELECT COUNT(1) FROM nb_rows) * (SELECT COUNT(1) FROM nb_rows) SELECT (1 * 1) * (2 * 2) SELECT 1 * (2 * (3 * (4 * 5))) SELECT 2.71 * 3.14 SELECT 2.71 * -3.14 SELECT -2.71 * 3.14 SELECT -2.71 * -3.14 SELECT 0xABC * 0xCBA SELECT 0xABC * -0xCBA SELECT -0xABC * 0xCBA SELECT -0xABC * -0xCBA -- Now same but with comments inside (C style comments could conflicts with operator if lexer is failing) SELECT 2 * /* comment */3 SELECT 2/* comment */ * 3 SELECT 2/* comment with * inside */ * 3 SELECT /* comment */ field /* comment */ * /* comment */ 8 /* comment */ SELECT /* comment */ 8 /* comment */ * /* comment */ field /* comment */ SELECT /* comment */ foo /* comment */ * /* comment */ bar /* comment */ SELECT /* comment */ `escaped_field` /* comment */ * /* comment */ 16 /* comment */ SELECT /* comment */ 16 /* comment */ * /* comment */ `escaped_field` /* comment */ SELECT /* comment */ `foo` /* comment */ * /* comment */ `bar` /* comment */ SELECT /* `comment` */ `foo` /* `comment` */ * /* `comment` */ `bar` /* `comment` */ SELECT /* comment */ 1 /* comment */ * /* comment */ (SELECT COUNT(/* comment */1/* comment */) /* comment */ FROM nb_rows) SELECT /* comment */ (SELECT COUNT(1) /* comment */FROM/* comment */ nb_rows) /* comment */ * /* comment */ 1 SELECT (SELECT /* comment */ COUNT(1) /* comment */ FROM /* comment */ nb_rows) /* comment */ * /* comment */ (SELECT COUNT(1) FROM nb_rows) SELECT (1 * 1) /* comment */ * /* comment */ (2 * 2) SELECT /* comment */ 1 /* comment */ * /* comment */ (2 /* comment */ * /* comment */ (3 /* comment */ * /* comment */ (4 /* comment */ * /* comment */ 5))) /* comment */ SELECT 2.71 /* comment */ * /* comment */ 3.14 SELECT 2.71 /* comment */ * /* comment */ -3.14 SELECT -2.71 /* comment */ * /* comment */ 3.14 SELECT -2.71 /* comment */ * /* comment */ -3.14 SELECT 0xABC /* comment */ * /* comment */ 0xCBA SELECT 0xABC /* comment */ * /* comment */ -0xCBA SELECT -0xABC /* comment */ * /* comment */ 0xCBA SELECT -0xABC /* comment */ * /* comment */ -0xCBA SELECT 1 /* comment with FROM keyword */ * /* comment with USING keyword */1 SELECT 1 /* comment with ) */ * /* comment with , keyword */1 ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:2429:"SELECT 2*3 SELECT 2 * 3 SELECT field * 8 SELECT 8 * field SELECT foo * bar SELECT `escaped_field` * 16 SELECT 16 * `escaped_field` SELECT `foo` * `bar` SELECT `foo`*`bar` SELECT 1 * (SELECT COUNT(1) FROM nb_rows) SELECT (SELECT COUNT(1) FROM nb_rows) * 1 SELECT (SELECT COUNT(1) FROM nb_rows) * (SELECT COUNT(1) FROM nb_rows) SELECT (1 * 1) * (2 * 2) SELECT 1 * (2 * (3 * (4 * 5))) SELECT 2.71 * 3.14 SELECT 2.71 * -3.14 SELECT -2.71 * 3.14 SELECT -2.71 * -3.14 SELECT 0xABC * 0xCBA SELECT 0xABC * -0xCBA SELECT -0xABC * 0xCBA SELECT -0xABC * -0xCBA -- Now same but with comments inside (C style comments could conflicts with operator if lexer is failing) SELECT 2 * /* comment */3 SELECT 2/* comment */ * 3 SELECT 2/* comment with * inside */ * 3 SELECT /* comment */ field /* comment */ * /* comment */ 8 /* comment */ SELECT /* comment */ 8 /* comment */ * /* comment */ field /* comment */ SELECT /* comment */ foo /* comment */ * /* comment */ bar /* comment */ SELECT /* comment */ `escaped_field` /* comment */ * /* comment */ 16 /* comment */ SELECT /* comment */ 16 /* comment */ * /* comment */ `escaped_field` /* comment */ SELECT /* comment */ `foo` /* comment */ * /* comment */ `bar` /* comment */ SELECT /* `comment` */ `foo` /* `comment` */ * /* `comment` */ `bar` /* `comment` */ SELECT /* comment */ 1 /* comment */ * /* comment */ (SELECT COUNT(/* comment */1/* comment */) /* comment */ FROM nb_rows) SELECT /* comment */ (SELECT COUNT(1) /* comment */FROM/* comment */ nb_rows) /* comment */ * /* comment */ 1 SELECT (SELECT /* comment */ COUNT(1) /* comment */ FROM /* comment */ nb_rows) /* comment */ * /* comment */ (SELECT COUNT(1) FROM nb_rows) SELECT (1 * 1) /* comment */ * /* comment */ (2 * 2) SELECT /* comment */ 1 /* comment */ * /* comment */ (2 /* comment */ * /* comment */ (3 /* comment */ * /* comment */ (4 /* comment */ * /* comment */ 5))) /* comment */ SELECT 2.71 /* comment */ * /* comment */ 3.14 SELECT 2.71 /* comment */ * /* comment */ -3.14 SELECT -2.71 /* comment */ * /* comment */ 3.14 SELECT -2.71 /* comment */ * /* comment */ -3.14 SELECT 0xABC /* comment */ * /* comment */ 0xCBA SELECT 0xABC /* comment */ * /* comment */ -0xCBA SELECT -0xABC /* comment */ * /* comment */ 0xCBA SELECT -0xABC /* comment */ * /* comment */ -0xCBA SELECT 1 /* comment with FROM keyword */ * /* comment with USING keyword */1 SELECT 1 /* comment with ) */ * /* comment with , keyword */1 ";s:3:"len";i:2429;s:4:"last";i:2429;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:672:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:11;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:18;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:20;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:22;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:24;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"field";s:5:"value";s:5:"field";s:7:"keyword";s:5:"FIELD";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:31;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:37;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"8";s:5:"value";i:8;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:39;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:41;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"8";s:5:"value";i:8;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:48;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:50;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"field";s:5:"value";s:5:"field";s:7:"keyword";s:5:"FIELD";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:52;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:58;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:65;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:69;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:71;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:75;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`escaped_field`";s:5:"value";s:13:"escaped_field";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:82;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:98;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"16";s:5:"value";i:16;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:100;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:103;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:109;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"16";s:5:"value";i:16;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:110;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:113;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:114;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`escaped_field`";s:5:"value";s:13:"escaped_field";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:115;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:131;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:137;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`foo`";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:138;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:143;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:144;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`bar`";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:146;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:151;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:152;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:158;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`foo`";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:159;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:164;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`bar`";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:165;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:170;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:171;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:177;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:178;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:179;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:180;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:181;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:182;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:183;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:189;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:190;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:195;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:196;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:197;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:198;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:199;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:203;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"nb_rows";s:5:"value";s:7:"nb_rows";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:204;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:211;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:212;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:213;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:219;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:220;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:221;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:227;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:228;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:233;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:234;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:235;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:236;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:237;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:241;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"nb_rows";s:5:"value";s:7:"nb_rows";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:242;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:249;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:250;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:251;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:252;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:253;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:254;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:255;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:261;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:262;}i:109;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:263;}i:110;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:269;}i:111;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:270;}i:112;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:275;}i:113;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:276;}i:114;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:277;}i:115;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:278;}i:116;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:279;}i:117;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:283;}i:118;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"nb_rows";s:5:"value";s:7:"nb_rows";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:284;}i:119;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:291;}i:120;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:292;}i:121;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:293;}i:122;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:294;}i:123;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:295;}i:124;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:296;}i:125;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:302;}i:126;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:303;}i:127;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:308;}i:128;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:309;}i:129;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:310;}i:130;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:311;}i:131;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:312;}i:132;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:316;}i:133;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"nb_rows";s:5:"value";s:7:"nb_rows";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:317;}i:134;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:324;}i:135;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:325;}i:136;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:326;}i:137;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:332;}i:138;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:333;}i:139;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:334;}i:140;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:335;}i:141;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:336;}i:142;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:337;}i:143;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:338;}i:144;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:339;}i:145;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:340;}i:146;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:341;}i:147;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:342;}i:148;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:343;}i:149;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:344;}i:150;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:345;}i:151;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:346;}i:152;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:347;}i:153;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:348;}i:154;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:349;}i:155;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:350;}i:156;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:351;}i:157;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:357;}i:158;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:358;}i:159;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:359;}i:160;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:360;}i:161;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:361;}i:162;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:362;}i:163;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:363;}i:164;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:364;}i:165;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:365;}i:166;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:366;}i:167;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:367;}i:168;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:368;}i:169;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:369;}i:170;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:370;}i:171;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:371;}i:172;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:372;}i:173;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"4";s:5:"value";i:4;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:373;}i:174;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:374;}i:175;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:375;}i:176;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:376;}i:177;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"5";s:5:"value";i:5;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:377;}i:178;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:378;}i:179;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:379;}i:180;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:380;}i:181;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:381;}i:182;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:382;}i:183;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:388;}i:184;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"2.71";s:5:"value";d:2.71;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:389;}i:185;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:393;}i:186;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:394;}i:187;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:395;}i:188;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"3.14";s:5:"value";d:3.14;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:396;}i:189;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:400;}i:190;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:401;}i:191;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:407;}i:192;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"2.71";s:5:"value";d:2.71;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:408;}i:193;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:412;}i:194;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:413;}i:195;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:414;}i:196;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"-3.14";s:5:"value";d:-3.14;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:10;s:8:"position";i:415;}i:197;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:420;}i:198;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:421;}i:199;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:427;}i:200;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"-2.71";s:5:"value";d:-2.71;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:10;s:8:"position";i:428;}i:201;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:433;}i:202;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:434;}i:203;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:435;}i:204;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"3.14";s:5:"value";d:3.14;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:436;}i:205;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:440;}i:206;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:441;}i:207;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:447;}i:208;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"-2.71";s:5:"value";d:-2.71;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:10;s:8:"position";i:448;}i:209;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:453;}i:210;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:454;}i:211;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:455;}i:212;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"-3.14";s:5:"value";d:-3.14;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:10;s:8:"position";i:456;}i:213;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:461;}i:214;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:462;}i:215;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:468;}i:216;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xABC";s:5:"value";i:2748;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:469;}i:217;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:474;}i:218;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:475;}i:219;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:476;}i:220;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xCBA";s:5:"value";i:3258;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:477;}i:221;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:482;}i:222;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:483;}i:223;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:489;}i:224;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xABC";s:5:"value";i:2748;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:490;}i:225;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:495;}i:226;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:496;}i:227;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:497;}i:228;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xCBA";s:5:"value";i:-3258;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:498;}i:229;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:504;}i:230;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:505;}i:231;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:511;}i:232;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xABC";s:5:"value";i:-2748;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:512;}i:233;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:518;}i:234;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:519;}i:235;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:520;}i:236;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xCBA";s:5:"value";i:3258;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:521;}i:237;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:526;}i:238;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:527;}i:239;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:533;}i:240;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xABC";s:5:"value";i:-2748;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:534;}i:241;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:540;}i:242;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:541;}i:243;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:542;}i:244;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xCBA";s:5:"value";i:-3258;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:543;}i:245;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:549;}i:246;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:105:"-- Now same but with comments inside (C style comments could conflicts with operator if lexer is failing)";s:5:"value";s:105:"-- Now same but with comments inside (C style comments could conflicts with operator if lexer is failing)";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:551;}i:247;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:656;}i:248;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:657;}i:249;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:663;}i:250;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:664;}i:251;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:665;}i:252;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:666;}i:253;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:667;}i:254;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:668;}i:255;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:681;}i:256;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:682;}i:257;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:683;}i:258;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:689;}i:259;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:690;}i:260;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:691;}i:261;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:704;}i:262;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:705;}i:263;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:706;}i:264;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:707;}i:265;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:708;}i:266;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:709;}i:267;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:715;}i:268;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:716;}i:269;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:27:"/* comment with * inside */";s:5:"value";s:27:"/* comment with * inside */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:717;}i:270;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:744;}i:271;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:745;}i:272;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:746;}i:273;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:747;}i:274;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:748;}i:275;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:749;}i:276;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:755;}i:277;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:756;}i:278;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:769;}i:279;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"field";s:5:"value";s:5:"field";s:7:"keyword";s:5:"FIELD";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:770;}i:280;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:775;}i:281;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:776;}i:282;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:789;}i:283;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:790;}i:284;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:791;}i:285;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:792;}i:286;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:805;}i:287;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"8";s:5:"value";i:8;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:806;}i:288;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:807;}i:289;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:808;}i:290;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:821;}i:291;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:822;}i:292;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:828;}i:293;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:829;}i:294;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:842;}i:295;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"8";s:5:"value";i:8;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:843;}i:296;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:844;}i:297;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:845;}i:298;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:858;}i:299;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:859;}i:300;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:860;}i:301;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:861;}i:302;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:874;}i:303;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"field";s:5:"value";s:5:"field";s:7:"keyword";s:5:"FIELD";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:875;}i:304;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:880;}i:305;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:881;}i:306;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:894;}i:307;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:895;}i:308;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:901;}i:309;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:902;}i:310;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:915;}i:311;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:916;}i:312;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:919;}i:313;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:920;}i:314;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:933;}i:315;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:934;}i:316;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:935;}i:317;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:936;}i:318;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:949;}i:319;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:950;}i:320;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:953;}i:321;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:954;}i:322;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:967;}i:323;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:968;}i:324;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:974;}i:325;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:975;}i:326;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:988;}i:327;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`escaped_field`";s:5:"value";s:13:"escaped_field";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:989;}i:328;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1004;}i:329;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1005;}i:330;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1018;}i:331;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1019;}i:332;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1020;}i:333;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1021;}i:334;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1034;}i:335;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"16";s:5:"value";i:16;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1035;}i:336;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1037;}i:337;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1038;}i:338;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1051;}i:339;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1052;}i:340;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1058;}i:341;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1059;}i:342;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1072;}i:343;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"16";s:5:"value";i:16;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1073;}i:344;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1075;}i:345;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1076;}i:346;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1089;}i:347;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1090;}i:348;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1091;}i:349;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1092;}i:350;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1105;}i:351;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`escaped_field`";s:5:"value";s:13:"escaped_field";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:1106;}i:352;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1121;}i:353;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1122;}i:354;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1135;}i:355;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1136;}i:356;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1142;}i:357;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1143;}i:358;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1156;}i:359;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`foo`";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:1157;}i:360;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1162;}i:361;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1163;}i:362;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1176;}i:363;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1177;}i:364;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1178;}i:365;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1179;}i:366;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1192;}i:367;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`bar`";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:1193;}i:368;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1198;}i:369;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1199;}i:370;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1212;}i:371;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1213;}i:372;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1219;}i:373;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"/* `comment` */";s:5:"value";s:15:"/* `comment` */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1220;}i:374;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1235;}i:375;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`foo`";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:1236;}i:376;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1241;}i:377;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"/* `comment` */";s:5:"value";s:15:"/* `comment` */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1242;}i:378;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1257;}i:379;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1258;}i:380;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1259;}i:381;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"/* `comment` */";s:5:"value";s:15:"/* `comment` */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1260;}i:382;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1275;}i:383;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`bar`";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:1276;}i:384;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1281;}i:385;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"/* `comment` */";s:5:"value";s:15:"/* `comment` */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1282;}i:386;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1297;}i:387;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1298;}i:388;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1304;}i:389;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1305;}i:390;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1318;}i:391;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1319;}i:392;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1320;}i:393;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1321;}i:394;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1334;}i:395;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1335;}i:396;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1336;}i:397;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1337;}i:398;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1350;}i:399;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1351;}i:400;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1352;}i:401;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1358;}i:402;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:1359;}i:403;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1364;}i:404;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1365;}i:405;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1378;}i:406;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1379;}i:407;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1392;}i:408;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1393;}i:409;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1394;}i:410;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1407;}i:411;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1408;}i:412;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1412;}i:413;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"nb_rows";s:5:"value";s:7:"nb_rows";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1413;}i:414;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1420;}i:415;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1421;}i:416;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1422;}i:417;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1428;}i:418;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1429;}i:419;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1442;}i:420;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1443;}i:421;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1444;}i:422;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1450;}i:423;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:1451;}i:424;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1456;}i:425;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1457;}i:426;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1458;}i:427;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1459;}i:428;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1460;}i:429;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1473;}i:430;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1477;}i:431;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1490;}i:432;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"nb_rows";s:5:"value";s:7:"nb_rows";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1491;}i:433;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1498;}i:434;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1499;}i:435;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1500;}i:436;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1513;}i:437;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1514;}i:438;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1515;}i:439;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1516;}i:440;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1529;}i:441;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1530;}i:442;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1531;}i:443;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1532;}i:444;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1538;}i:445;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1539;}i:446;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1540;}i:447;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1546;}i:448;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1547;}i:449;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1560;}i:450;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:1561;}i:451;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1566;}i:452;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1567;}i:453;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1568;}i:454;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1569;}i:455;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1570;}i:456;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1583;}i:457;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1584;}i:458;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1588;}i:459;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1589;}i:460;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1602;}i:461;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"nb_rows";s:5:"value";s:7:"nb_rows";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1603;}i:462;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1610;}i:463;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1611;}i:464;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1612;}i:465;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1625;}i:466;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1626;}i:467;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1627;}i:468;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1628;}i:469;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1641;}i:470;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1642;}i:471;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1643;}i:472;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1649;}i:473;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:1650;}i:474;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1655;}i:475;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1656;}i:476;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1657;}i:477;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1658;}i:478;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1659;}i:479;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1663;}i:480;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"nb_rows";s:5:"value";s:7:"nb_rows";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1664;}i:481;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1671;}i:482;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1672;}i:483;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1673;}i:484;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1679;}i:485;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1680;}i:486;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1681;}i:487;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1682;}i:488;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1683;}i:489;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1684;}i:490;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1685;}i:491;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1686;}i:492;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1687;}i:493;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1688;}i:494;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1701;}i:495;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1702;}i:496;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1703;}i:497;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1704;}i:498;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1717;}i:499;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1718;}i:500;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1719;}i:501;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1720;}i:502;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1721;}i:503;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1722;}i:504;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1723;}i:505;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1724;}i:506;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1725;}i:507;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1726;}i:508;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1732;}i:509;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1733;}i:510;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1746;}i:511;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1747;}i:512;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1748;}i:513;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1749;}i:514;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1762;}i:515;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1763;}i:516;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1764;}i:517;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1765;}i:518;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1778;}i:519;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1779;}i:520;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1780;}i:521;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1781;}i:522;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1782;}i:523;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1795;}i:524;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1796;}i:525;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1797;}i:526;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1798;}i:527;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1811;}i:528;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1812;}i:529;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1813;}i:530;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1814;}i:531;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1815;}i:532;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1828;}i:533;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1829;}i:534;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1830;}i:535;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1831;}i:536;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1844;}i:537;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1845;}i:538;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"4";s:5:"value";i:4;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1846;}i:539;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1847;}i:540;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1848;}i:541;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1861;}i:542;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1862;}i:543;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1863;}i:544;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1864;}i:545;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1877;}i:546;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"5";s:5:"value";i:5;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1878;}i:547;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1879;}i:548;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1880;}i:549;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1881;}i:550;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1882;}i:551;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1883;}i:552;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1896;}i:553;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1897;}i:554;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1903;}i:555;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"2.71";s:5:"value";d:2.71;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:1904;}i:556;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1908;}i:557;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1909;}i:558;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1922;}i:559;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1923;}i:560;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1924;}i:561;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1925;}i:562;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1938;}i:563;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"3.14";s:5:"value";d:3.14;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:1939;}i:564;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1943;}i:565;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1944;}i:566;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1950;}i:567;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"2.71";s:5:"value";d:2.71;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:1951;}i:568;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1955;}i:569;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1956;}i:570;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1969;}i:571;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:1970;}i:572;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1971;}i:573;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1972;}i:574;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1985;}i:575;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"-3.14";s:5:"value";d:-3.14;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:10;s:8:"position";i:1986;}i:576;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1991;}i:577;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1992;}i:578;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1998;}i:579;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"-2.71";s:5:"value";d:-2.71;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:10;s:8:"position";i:1999;}i:580;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2004;}i:581;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2005;}i:582;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2018;}i:583;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:2019;}i:584;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2020;}i:585;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2021;}i:586;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2034;}i:587;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"3.14";s:5:"value";d:3.14;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:2;s:8:"position";i:2035;}i:588;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2039;}i:589;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:2040;}i:590;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2046;}i:591;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"-2.71";s:5:"value";d:-2.71;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:10;s:8:"position";i:2047;}i:592;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2052;}i:593;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2053;}i:594;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2066;}i:595;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:2067;}i:596;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2068;}i:597;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2069;}i:598;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2082;}i:599;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"-3.14";s:5:"value";d:-3.14;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:10;s:8:"position";i:2083;}i:600;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2088;}i:601;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:2089;}i:602;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2095;}i:603;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xABC";s:5:"value";i:2748;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:2096;}i:604;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2101;}i:605;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2102;}i:606;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2115;}i:607;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:2116;}i:608;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2117;}i:609;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2118;}i:610;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2131;}i:611;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xCBA";s:5:"value";i:3258;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:2132;}i:612;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2137;}i:613;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:2138;}i:614;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2144;}i:615;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xABC";s:5:"value";i:2748;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:2145;}i:616;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2150;}i:617;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2151;}i:618;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2164;}i:619;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:2165;}i:620;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2166;}i:621;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2167;}i:622;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2180;}i:623;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xCBA";s:5:"value";i:-3258;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:2181;}i:624;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2187;}i:625;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:2188;}i:626;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2194;}i:627;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xABC";s:5:"value";i:-2748;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:2195;}i:628;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2201;}i:629;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2202;}i:630;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2215;}i:631;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:2216;}i:632;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2217;}i:633;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2218;}i:634;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2231;}i:635;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"0xCBA";s:5:"value";i:3258;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:1;s:8:"position";i:2232;}i:636;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2237;}i:637;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:2238;}i:638;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2244;}i:639;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xABC";s:5:"value";i:-2748;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:2245;}i:640;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2251;}i:641;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2252;}i:642;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2265;}i:643;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:2266;}i:644;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2267;}i:645;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2268;}i:646;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2281;}i:647;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"-0xCBA";s:5:"value";i:-3258;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:9;s:8:"position";i:2282;}i:648;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2288;}i:649;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:2289;}i:650;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2295;}i:651;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:2296;}i:652;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2297;}i:653;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:31:"/* comment with FROM keyword */";s:5:"value";s:31:"/* comment with FROM keyword */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2298;}i:654;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2329;}i:655;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:2330;}i:656;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2331;}i:657;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:32:"/* comment with USING keyword */";s:5:"value";s:32:"/* comment with USING keyword */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2332;}i:658;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:2364;}i:659;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2365;}i:660;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:2366;}i:661;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2372;}i:662;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:2373;}i:663;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2374;}i:664;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"/* comment with ) */";s:5:"value";s:20:"/* comment with ) */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2375;}i:665;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2395;}i:666;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:2396;}i:667;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2397;}i:668;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:28:"/* comment with , keyword */";s:5:"value";s:28:"/* comment with , keyword */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:2398;}i:669;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:2426;}i:670;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:2427;}i:671;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:672;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexOperatorStarIsWildcard.in000066400000000000000000000025041363525634600244570ustar00rootroot00000000000000SELECT * FROM SELECT *FROM SELECT a.* FROM SELECT a.*,b.* FROM SELECT a.*, b.* FROM SELECT a.*, /* with a comment */ b.* FROM SELECT a.*,/* with a comment */b.* FROM SELECT a.* /* comment */ FROM -- SELECT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.) SELECT DISTINCT * FROM SELECT DISTINCT *FROM SELECT DISTINCT a.* FROM SELECT DISTINCT a.*,b.* FROM SELECT DISTINCT a.*, b.* FROM SELECT DISTINCT a.*, /* with a comment */ b.* FROM SELECT DISTINCT a.*,/* with a comment */b.* FROM SELECT DISTINCT a.* /* comment */ FROM -- SELECT DISTINCT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.) SELECT `*` FROM table_name SELECT `*`.* FROM table_name AS `*` SELECT COUNT(*) FROM table_name SELECT COUNT( * ) FROM table_name SELECT COUNT( * /* comment with *,USING,FROM */) FROM table_name SELECT COUNT(`*`) FROM table_name SELECT 1 FROM table_name WHERE LABEL LIKE '%*%' DELETE a.* USING DELETE a.*, b.* USING DELETE a.* ,b.* USING DELETE a.* , b.* USING DELETE a.* /* comment */ USING DELETE a.* /* comment */, b.* /*comment*/ USING DELETE a.* /* comment */ ,b.* /*comment*/ USING DELETE a.* /* comment */ , b.* /*comment*/ USING sql-parser-4.6.1/tests/data/lexer/lexOperatorStarIsWildcard.out000066400000000000000000001751341363525634600246720ustar00rootroot00000000000000a:4:{s:5:"query";s:1348:"SELECT * FROM SELECT *FROM SELECT a.* FROM SELECT a.*,b.* FROM SELECT a.*, b.* FROM SELECT a.*, /* with a comment */ b.* FROM SELECT a.*,/* with a comment */b.* FROM SELECT a.* /* comment */ FROM -- SELECT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.) SELECT DISTINCT * FROM SELECT DISTINCT *FROM SELECT DISTINCT a.* FROM SELECT DISTINCT a.*,b.* FROM SELECT DISTINCT a.*, b.* FROM SELECT DISTINCT a.*, /* with a comment */ b.* FROM SELECT DISTINCT a.*,/* with a comment */b.* FROM SELECT DISTINCT a.* /* comment */ FROM -- SELECT DISTINCT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.) SELECT `*` FROM table_name SELECT `*`.* FROM table_name AS `*` SELECT COUNT(*) FROM table_name SELECT COUNT( * ) FROM table_name SELECT COUNT( * /* comment with *,USING,FROM */) FROM table_name SELECT COUNT(`*`) FROM table_name SELECT 1 FROM table_name WHERE LABEL LIKE '%*%' DELETE a.* USING DELETE a.*, b.* USING DELETE a.* ,b.* USING DELETE a.* , b.* USING DELETE a.* /* comment */ USING DELETE a.* /* comment */, b.* /*comment*/ USING DELETE a.* /* comment */ ,b.* /*comment*/ USING DELETE a.* /* comment */ , b.* /*comment*/ USING ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:1348:"SELECT * FROM SELECT *FROM SELECT a.* FROM SELECT a.*,b.* FROM SELECT a.*, b.* FROM SELECT a.*, /* with a comment */ b.* FROM SELECT a.*,/* with a comment */b.* FROM SELECT a.* /* comment */ FROM -- SELECT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.) SELECT DISTINCT * FROM SELECT DISTINCT *FROM SELECT DISTINCT a.* FROM SELECT DISTINCT a.*,b.* FROM SELECT DISTINCT a.*, b.* FROM SELECT DISTINCT a.*, /* with a comment */ b.* FROM SELECT DISTINCT a.*,/* with a comment */b.* FROM SELECT DISTINCT a.* /* comment */ FROM -- SELECT DISTINCT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.) SELECT `*` FROM table_name SELECT `*`.* FROM table_name AS `*` SELECT COUNT(*) FROM table_name SELECT COUNT( * ) FROM table_name SELECT COUNT( * /* comment with *,USING,FROM */) FROM table_name SELECT COUNT(`*`) FROM table_name SELECT 1 FROM table_name WHERE LABEL LIKE '%*%' DELETE a.* USING DELETE a.*, b.* USING DELETE a.* ,b.* USING DELETE a.* , b.* USING DELETE a.* /* comment */ USING DELETE a.* /* comment */, b.* /*comment*/ USING DELETE a.* /* comment */ ,b.* /*comment*/ USING DELETE a.* /* comment */ , b.* /*comment*/ USING ";s:3:"len";i:1348;s:4:"last";i:1348;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:382:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:27;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:35;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:36;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:38;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:43;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:51;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:53;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:54;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:55;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:56;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:58;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:63;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:70;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:72;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:73;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:75;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:76;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:77;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:79;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:83;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:84;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:91;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:92;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:93;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:94;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"/* with a comment */";s:5:"value";s:20:"/* with a comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:96;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:116;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:117;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:118;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:119;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:121;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:126;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:133;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:134;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:135;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:136;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"/* with a comment */";s:5:"value";s:20:"/* with a comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:137;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:157;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:158;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:159;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:161;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:165;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:166;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:172;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:173;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:174;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:175;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:176;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:177;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:190;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:191;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:195;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:168:"-- SELECT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.)";s:5:"value";s:168:"-- SELECT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.)";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:196;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:364;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:365;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:371;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:372;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:380;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:381;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:382;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:383;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:387;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:388;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:394;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:395;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:403;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:404;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:405;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:409;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:410;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:416;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:417;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:425;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:426;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:427;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:428;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:429;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:430;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:434;}i:109;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:435;}i:110;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:441;}i:111;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:442;}i:112;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:450;}i:113;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:451;}i:114;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:452;}i:115;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:453;}i:116;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:454;}i:117;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:455;}i:118;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:456;}i:119;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:457;}i:120;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:458;}i:121;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:459;}i:122;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:463;}i:123;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:464;}i:124;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:470;}i:125;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:471;}i:126;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:479;}i:127;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:480;}i:128;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:481;}i:129;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:482;}i:130;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:483;}i:131;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:484;}i:132;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:485;}i:133;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:486;}i:134;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:487;}i:135;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:488;}i:136;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:489;}i:137;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:493;}i:138;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:494;}i:139;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:500;}i:140;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:501;}i:141;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:509;}i:142;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:510;}i:143;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:511;}i:144;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:512;}i:145;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:513;}i:146;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:514;}i:147;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"/* with a comment */";s:5:"value";s:20:"/* with a comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:515;}i:148;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:535;}i:149;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:536;}i:150;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:537;}i:151;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:538;}i:152;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:539;}i:153;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:540;}i:154;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:544;}i:155;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:545;}i:156;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:551;}i:157;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:552;}i:158;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:560;}i:159;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:561;}i:160;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:562;}i:161;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:563;}i:162;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:564;}i:163;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"/* with a comment */";s:5:"value";s:20:"/* with a comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:565;}i:164;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:585;}i:165;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:586;}i:166;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:587;}i:167;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:588;}i:168;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:589;}i:169;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:593;}i:170;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:594;}i:171;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:600;}i:172;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:601;}i:173;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:609;}i:174;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:610;}i:175;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:611;}i:176;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:612;}i:177;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:613;}i:178;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:614;}i:179;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:627;}i:180;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:628;}i:181;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:632;}i:182;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:177:"-- SELECT DISTINCT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.)";s:5:"value";s:177:"-- SELECT DISTINCT a.*/* comment */ FROM (This one is not working yet because of https://github.com/phpmyadmin/sql-parser/issues/285. Please uncomment when this issue is fixed.)";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:633;}i:183;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:810;}i:184;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:811;}i:185;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:817;}i:186;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`*`";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:818;}i:187;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:821;}i:188;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:822;}i:189;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:826;}i:190;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"table_name";s:5:"value";s:10:"table_name";s:7:"keyword";s:10:"TABLE_NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:827;}i:191;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:837;}i:192;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:838;}i:193;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:844;}i:194;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`*`";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:845;}i:195;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:848;}i:196;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:849;}i:197;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:850;}i:198;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:851;}i:199;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:855;}i:200;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"table_name";s:5:"value";s:10:"table_name";s:7:"keyword";s:10:"TABLE_NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:856;}i:201;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:866;}i:202;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:867;}i:203;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:869;}i:204;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`*`";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:870;}i:205;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:873;}i:206;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:874;}i:207;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:880;}i:208;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:881;}i:209;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:886;}i:210;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:887;}i:211;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:888;}i:212;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:889;}i:213;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:890;}i:214;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:894;}i:215;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"table_name";s:5:"value";s:10:"table_name";s:7:"keyword";s:10:"TABLE_NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:895;}i:216;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:905;}i:217;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:906;}i:218;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:912;}i:219;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:913;}i:220;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:918;}i:221;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:919;}i:222;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:920;}i:223;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:921;}i:224;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:922;}i:225;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:923;}i:226;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:924;}i:227;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:928;}i:228;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"table_name";s:5:"value";s:10:"table_name";s:7:"keyword";s:10:"TABLE_NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:929;}i:229;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:939;}i:230;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:940;}i:231;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:946;}i:232;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:947;}i:233;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:952;}i:234;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:953;}i:235;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:954;}i:236;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:955;}i:237;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:31:"/* comment with *,USING,FROM */";s:5:"value";s:31:"/* comment with *,USING,FROM */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:956;}i:238;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:987;}i:239;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:988;}i:240;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:989;}i:241;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:993;}i:242;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"table_name";s:5:"value";s:10:"table_name";s:7:"keyword";s:10:"TABLE_NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:994;}i:243;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1004;}i:244;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1005;}i:245;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1011;}i:246;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"COUNT";s:5:"value";s:5:"COUNT";s:7:"keyword";s:5:"COUNT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:1012;}i:247;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1017;}i:248;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`*`";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:1018;}i:249;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1021;}i:250;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1022;}i:251;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1023;}i:252;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1027;}i:253;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"table_name";s:5:"value";s:10:"table_name";s:7:"keyword";s:10:"TABLE_NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:1028;}i:254;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1038;}i:255;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1039;}i:256;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1045;}i:257;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:1046;}i:258;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1047;}i:259;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1048;}i:260;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1052;}i:261;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"table_name";s:5:"value";s:10:"table_name";s:7:"keyword";s:10:"TABLE_NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:1053;}i:262;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1063;}i:263;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1064;}i:264;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1069;}i:265;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LABEL";s:5:"value";s:5:"LABEL";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1070;}i:266;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1075;}i:267;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LIKE";s:5:"value";s:4:"LIKE";s:7:"keyword";s:4:"LIKE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1076;}i:268;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1080;}i:269;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'%*%'";s:5:"value";s:3:"%*%";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:1081;}i:270;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1086;}i:271;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1087;}i:272;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1093;}i:273;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1094;}i:274;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1095;}i:275;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1096;}i:276;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1097;}i:277;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1098;}i:278;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1103;}i:279;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1104;}i:280;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1110;}i:281;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1111;}i:282;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1112;}i:283;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1113;}i:284;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1114;}i:285;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1115;}i:286;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1116;}i:287;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1117;}i:288;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1118;}i:289;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1119;}i:290;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1120;}i:291;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1125;}i:292;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1126;}i:293;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1132;}i:294;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1133;}i:295;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1134;}i:296;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1135;}i:297;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1136;}i:298;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1137;}i:299;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1138;}i:300;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1139;}i:301;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1140;}i:302;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1141;}i:303;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1142;}i:304;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1147;}i:305;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1148;}i:306;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1154;}i:307;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1155;}i:308;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1156;}i:309;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1157;}i:310;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1158;}i:311;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1159;}i:312;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1160;}i:313;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1161;}i:314;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1162;}i:315;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1163;}i:316;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1164;}i:317;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1165;}i:318;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1170;}i:319;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1171;}i:320;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1177;}i:321;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1178;}i:322;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1179;}i:323;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1180;}i:324;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1181;}i:325;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1182;}i:326;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1195;}i:327;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1196;}i:328;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1201;}i:329;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1202;}i:330;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1208;}i:331;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1209;}i:332;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1210;}i:333;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1211;}i:334;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1212;}i:335;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1213;}i:336;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1226;}i:337;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1227;}i:338;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1228;}i:339;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1229;}i:340;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1230;}i:341;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1231;}i:342;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"/*comment*/";s:5:"value";s:11:"/*comment*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1232;}i:343;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1243;}i:344;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1244;}i:345;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1249;}i:346;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1250;}i:347;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1256;}i:348;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1257;}i:349;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1258;}i:350;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1259;}i:351;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1260;}i:352;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1261;}i:353;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1274;}i:354;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1275;}i:355;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1276;}i:356;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1277;}i:357;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1278;}i:358;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1279;}i:359;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"/*comment*/";s:5:"value";s:11:"/*comment*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1280;}i:360;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1291;}i:361;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1292;}i:362;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1297;}i:363;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1298;}i:364;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1304;}i:365;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1305;}i:366;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1306;}i:367;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1307;}i:368;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1308;}i:369;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1309;}i:370;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1322;}i:371;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1323;}i:372;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1324;}i:373;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:1325;}i:374;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1326;}i:375;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:1327;}i:376;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1328;}i:377;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"/*comment*/";s:5:"value";s:11:"/*comment*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:1329;}i:378;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1340;}i:379;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1341;}i:380;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:1346;}i:381;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:382;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexString.in000066400000000000000000000000401363525634600213230ustar00rootroot00000000000000SELECT 'foo', "bar", "foo\\ bar"sql-parser-4.6.1/tests/data/lexer/lexString.out000066400000000000000000000036661363525634600215450ustar00rootroot00000000000000a:4:{s:5:"query";s:32:"SELECT 'foo', "bar", "foo\\ bar"";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:32:"SELECT 'foo', "bar", "foo\\ bar"";s:3:"len";i:32;s:4:"last";i:32;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'foo'";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:""bar"";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:""foo\\ bar"";s:5:"value";s:8:"foo\ bar";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexStringErr1.in000066400000000000000000000000371363525634600220630ustar00rootroot00000000000000SELECT 'foo', "bar", "foo\\ barsql-parser-4.6.1/tests/data/lexer/lexStringErr1.out000066400000000000000000000040001363525634600222560ustar00rootroot00000000000000a:4:{s:5:"query";s:31:"SELECT 'foo', "bar", "foo\\ bar";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:31:"SELECT 'foo', "bar", "foo\\ bar";s:3:"len";i:31;s:4:"last";i:32;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'foo'";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:""bar"";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:""foo\\ bar";s:5:"value";s:7:"foo\ ba";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:1:{i:0;a:4:{i:0;s:28:"Ending quote " was expected.";i:1;s:0:"";i:2;i:31;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexSymbol.in000066400000000000000000000000661363525634600213320ustar00rootroot00000000000000SET @idx := 1; SELECT @idx, @`idx`, @'idx', @@hostnamesql-parser-4.6.1/tests/data/lexer/lexSymbol.out000066400000000000000000000073771363525634600215470ustar00rootroot00000000000000a:4:{s:5:"query";s:54:"SET @idx := 1; SELECT @idx, @`idx`, @'idx', @@hostname";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:54:"SET @idx := 1; SELECT @idx, @`idx`, @'idx', @@hostname";s:3:"len";i:54;s:4:"last";i:54;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:22:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@idx";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:":=";s:5:"value";s:2:":=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:8;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:12;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:13;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@idx";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:22;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:26;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"@`idx`";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:28;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"@'idx'";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:36;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:42;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"@@hostname";s:5:"value";s:8:"hostname";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:9;s:8:"position";i:44;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:22;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexSymbolErr1.in000066400000000000000000000000511363525634600220560ustar00rootroot00000000000000SET @idx := 1; SELECT @idx, @`idx`, @'idxsql-parser-4.6.1/tests/data/lexer/lexSymbolErr1.out000066400000000000000000000065351363525634600222740ustar00rootroot00000000000000a:4:{s:5:"query";s:41:"SET @idx := 1; SELECT @idx, @`idx`, @'idx";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:41:"SET @idx := 1; SELECT @idx, @`idx`, @'idx";s:3:"len";i:41;s:4:"last";i:42;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:19:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@idx";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:":=";s:5:"value";s:2:":=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:8;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:12;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:13;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@idx";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:22;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:26;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"@`idx`";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:28;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"@'idx";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:36;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:19;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:1:{i:0;a:4:{i:0;s:28:"Ending quote ' was expected.";i:1;s:0:"";i:2;i:41;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexSymbolErr2.in000066400000000000000000000000461363525634600220630ustar00rootroot00000000000000SET @idx := 1; SELECT @idx, @`idx`, @ sql-parser-4.6.1/tests/data/lexer/lexSymbolErr2.out000066400000000000000000000065211363525634600222700ustar00rootroot00000000000000a:4:{s:5:"query";s:38:"SET @idx := 1; SELECT @idx, @`idx`, @ ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:38:"SET @idx := 1; SELECT @idx, @`idx`, @ ";s:3:"len";i:38;s:4:"last";i:38;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:19:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@idx";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:":=";s:5:"value";s:2:":=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:8;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:12;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:13;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@idx";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:22;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:26;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"@`idx`";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:28;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"@";s:5:"value";s:0:"";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:36;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:19;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:1:{i:0;a:4:{i:0;s:27:"Variable name was expected.";i:1;s:1:" ";i:2;i:37;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexSymbolErr3.in000066400000000000000000000000131363525634600220560ustar00rootroot00000000000000SELECT `idxsql-parser-4.6.1/tests/data/lexer/lexSymbolErr3.out000066400000000000000000000020761363525634600222720ustar00rootroot00000000000000a:4:{s:5:"query";s:11:"SELECT `idx";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:11:"SELECT `idx";s:3:"len";i:11;s:4:"last";i:12;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:4:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`idx";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:4;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:1:{i:0;a:4:{i:0;s:28:"Ending quote ` was expected.";i:1;s:0:"";i:2;i:11;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexSymbolUser.in000066400000000000000000000000671363525634600221720ustar00rootroot00000000000000CREATE USER 'user'@'hostname' IDENTIFIED BY 'password';sql-parser-4.6.1/tests/data/lexer/lexSymbolUser.out000066400000000000000000000047621363525634600224010ustar00rootroot00000000000000a:4:{s:5:"query";s:55:"CREATE USER 'user'@'hostname' IDENTIFIED BY 'password';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:55:"CREATE USER 'user'@'hostname' IDENTIFIED BY 'password';";s:3:"len";i:55;s:4:"last";i:55;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"USER";s:5:"value";s:4:"USER";s:7:"keyword";s:4:"USER";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"'user'@'hostname'";s:5:"value";s:13:"user@hostname";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:4;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"IDENTIFIED";s:5:"value";s:10:"IDENTIFIED";s:7:"keyword";s:10:"IDENTIFIED";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:30;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"BY";s:5:"value";s:2:"BY";s:7:"keyword";s:2:"BY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:41;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"'password'";s:5:"value";s:8:"password";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:44;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:54;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexUtf8.in000066400000000000000000000000241363525634600207050ustar00rootroot00000000000000select * from écolesql-parser-4.6.1/tests/data/lexer/lexUtf8.out000066400000000000000000000033521363525634600211150ustar00rootroot00000000000000a:4:{s:5:"query";s:20:"select * from école";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";O:30:"PhpMyAdmin\SqlParser\UtfString":5:{s:3:"str";s:20:"select * from école";s:7:"byteIdx";i:19;s:7:"charIdx";i:18;s:7:"byteLen";i:20;s:7:"charLen";i:19;}s:3:"len";i:19;s:4:"last";i:19;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:8:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"école";s:5:"value";s:6:"école";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:8;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexWhitespace.in000066400000000000000000000001171363525634600221560ustar00rootroot00000000000000 SELECT 'w h i t e s p a c e' sql-parser-4.6.1/tests/data/lexer/lexWhitespace.out000066400000000000000000000027711363525634600223670ustar00rootroot00000000000000a:4:{s:5:"query";s:79:" SELECT 'w h i t e s p a c e' ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:79:" SELECT 'w h i t e s p a c e' ";s:3:"len";i:79;s:4:"last";i:79;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:22:"'w h i t e s p a c e'";s:5:"value";s:20:"w h i t e s p a c e";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:18;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:39:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:6;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/lexer/lexWildcardThenComment.in000066400000000000000000000007571363525634600237670ustar00rootroot00000000000000SELECT */* comment */ SELECT /* comment */* SELECT 2*/* comment */3 SELECT 2/* comment */*3 SELECT */* comment on multiple lines */FROM DELETE foo.*/* foo */ USING DELETE foo.*/* foo */,bar.*/*bar*/ USING SELECT `*`/*with comment*/ AS star_field SELECT `*`,*/*with comment*/ DELETE a.*/*multi line /* with C open tag comment inside */ USING SELECT 2*/* operator */3 + 3/* operator */*2,/* start wildcard */*/* end wildcard */ SELECT `*`/*a*/*/*b*/`*` -- invalid queries /* SELECT */*sql-parser-4.6.1/tests/data/lexer/lexWildcardThenComment.out000066400000000000000000000444601363525634600241670ustar00rootroot00000000000000a:4:{s:5:"query";s:495:"SELECT */* comment */ SELECT /* comment */* SELECT 2*/* comment */3 SELECT 2/* comment */*3 SELECT */* comment on multiple lines */FROM DELETE foo.*/* foo */ USING DELETE foo.*/* foo */,bar.*/*bar*/ USING SELECT `*`/*with comment*/ AS star_field SELECT `*`,*/*with comment*/ DELETE a.*/*multi line /* with C open tag comment inside */ USING SELECT 2*/* operator */3 + 3/* operator */*2,/* start wildcard */*/* end wildcard */ SELECT `*`/*a*/*/*b*/`*` -- invalid queries /* SELECT */*";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:495:"SELECT */* comment */ SELECT /* comment */* SELECT 2*/* comment */3 SELECT 2/* comment */*3 SELECT */* comment on multiple lines */FROM DELETE foo.*/* foo */ USING DELETE foo.*/* foo */,bar.*/*bar*/ USING SELECT `*`/*with comment*/ AS star_field SELECT `*`,*/*with comment*/ DELETE a.*/*multi line /* with C open tag comment inside */ USING SELECT 2*/* operator */3 + 3/* operator */*2,/* start wildcard */*/* end wildcard */ SELECT `*`/*a*/*/*b*/`*` -- invalid queries /* SELECT */*";s:3:"len";i:495;s:4:"last";i:495;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:109:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:23;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:43;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:46;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:53;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:54;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:55;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:68;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:71;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:78;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:79;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:92;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:93;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:94;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:103;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:31:"/* comment on multiple lines */";s:5:"value";s:31:"/* comment on multiple lines */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:104;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:135;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:141;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:147;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:148;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:151;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:152;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"/* foo */";s:5:"value";s:9:"/* foo */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:153;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:162;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:163;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:168;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:170;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:176;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:177;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:180;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:181;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"/* foo */";s:5:"value";s:9:"/* foo */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:182;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:191;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:192;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:195;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:196;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"/*bar*/";s:5:"value";s:7:"/*bar*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:197;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:204;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:205;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:210;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:212;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:218;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`*`";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:219;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"/*with comment*/";s:5:"value";s:16:"/*with comment*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:222;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:238;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:239;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:241;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"star_field";s:5:"value";s:10:"star_field";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:242;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:252;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:254;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:260;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`*`";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:261;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:264;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:265;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"/*with comment*/";s:5:"value";s:16:"/*with comment*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:266;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:282;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:284;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:290;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:291;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:292;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:293;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:49:"/*multi line /* with C open tag comment inside */";s:5:"value";s:49:"/*multi line /* with C open tag comment inside */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:294;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:343;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:344;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:349;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:351;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:357;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:358;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:359;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"/* operator */";s:5:"value";s:14:"/* operator */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:360;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:374;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:375;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:376;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:377;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:378;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"/* operator */";s:5:"value";s:14:"/* operator */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:379;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:393;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:394;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:395;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"/* start wildcard */";s:5:"value";s:20:"/* start wildcard */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:396;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:416;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"/* end wildcard */";s:5:"value";s:18:"/* end wildcard */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:417;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:435;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:437;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:443;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`*`";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:444;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/*a*/";s:5:"value";s:5:"/*a*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:447;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:452;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/*b*/";s:5:"value";s:5:"/*b*/";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:453;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`*`";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:458;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:461;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"-- invalid queries";s:5:"value";s:18:"-- invalid queries";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:463;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:481;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"/* SELECT */";s:5:"value";s:12:"/* SELECT */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:482;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:494;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:109;s:3:"idx";i:0;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";N;s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/misc/000077500000000000000000000000001363525634600166365ustar00rootroot00000000000000sql-parser-4.6.1/tests/data/misc/parseParameter.in000066400000000000000000000001371363525634600221420ustar00rootroot00000000000000INSERT INTO `person` (`firstname`, `lastname`, `email`) VALUES (:firstname, :lastname, :email);sql-parser-4.6.1/tests/data/misc/parseParameter.out000066400000000000000000000137171363525634600223530ustar00rootroot00000000000000a:4:{s:5:"query";s:95:"INSERT INTO `person` (`firstname`, `lastname`, `email`) VALUES (:firstname, :lastname, :email);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:95:"INSERT INTO `person` (`firstname`, `lastname`, `email`) VALUES (:firstname, :lastname, :email);";s:3:"len";i:95;s:4:"last";i:95;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:29:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`person`";s:5:"value";s:6:"person";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`firstname`";s:5:"value";s:9:"firstname";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`lastname`";s:5:"value";s:8:"lastname";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:35;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:45;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`email`";s:5:"value";s:5:"email";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:47;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:54;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:56;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:63;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:":firstname";s:5:"value";s:9:"firstname";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:16;s:8:"position";i:64;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:74;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:":lastname";s:5:"value";s:8:"lastname";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:16;s:8:"position";i:76;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:85;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:":email";s:5:"value";s:5:"email";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:16;s:8:"position";i:87;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:93;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:94;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:29;s:3:"idx";i:29;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"person";s:6:"column";N;s:4:"expr";s:8:"`person`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:3:{i:0;s:9:"firstname";i:1;s:8:"lastname";i:2;s:5:"email";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";a:1:{i:0;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:3:{i:0;s:10:":firstname";i:1;s:9:":lastname";i:2;s:6:":email";}s:6:"values";a:3:{i:0;s:9:"firstname";i:1;s:8:"lastname";i:2;s:5:"email";}}}s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:26;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/000077500000000000000000000000001363525634600171775ustar00rootroot00000000000000sql-parser-4.6.1/tests/data/parser/parse.in000066400000000000000000000000111363525634600206310ustar00rootroot00000000000000SELECT 1;sql-parser-4.6.1/tests/data/parser/parse.out000066400000000000000000000034761363525634600210540ustar00rootroot00000000000000a:4:{s:5:"query";s:9:"SELECT 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:9:"SELECT 1;";s:3:"len";i:9;s:4:"last";i:9;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:2;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parse2.in000066400000000000000000000000301363525634600207140ustar00rootroot00000000000000(SELECT 1);((SELECT 2));sql-parser-4.6.1/tests/data/parser/parse2.out000066400000000000000000000076301363525634600211320ustar00rootroot00000000000000a:4:{s:5:"query";s:24:"(SELECT 1);((SELECT 2));";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:24:"(SELECT 1);((SELECT 2));";s:3:"len";i:24;s:4:"last";i:24;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:10;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:11;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:12;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:20;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:22;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:23;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:2:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:4;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:5;s:4:"last";i:12;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlter.in000066400000000000000000000001461363525634600216320ustar00rootroot00000000000000ALTER TABLE `actor` ADD PRIMARY KEY (`actor_id`), ADD KEY `idx_actor_last_name` (`last_name`);sql-parser-4.6.1/tests/data/parser/parseAlter.out000066400000000000000000000134531363525634600220400ustar00rootroot00000000000000a:4:{s:5:"query";s:102:"ALTER TABLE `actor` ADD PRIMARY KEY (`actor_id`), ADD KEY `idx_actor_last_name` (`last_name`);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:102:"ALTER TABLE `actor` ADD PRIMARY KEY (`actor_id`), ADD KEY `idx_actor_last_name` (`last_name`);";s:3:"len";i:102;s:4:"last";i:102;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:26:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`actor`";s:5:"value";s:5:"actor";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ADD";s:5:"value";s:3:"ADD";s:7:"keyword";s:3:"ADD";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:24;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:7:"keyword";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:28;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:51;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ADD";s:5:"value";s:3:"ADD";s:7:"keyword";s:3:"ADD";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:58;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:62;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:21:"`idx_actor_last_name`";s:5:"value";s:19:"idx_actor_last_name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:66;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`last_name`";s:5:"value";s:9:"last_name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:89;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:100;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:101;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:26;s:3:"idx";i:26;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"actor";s:6:"column";N;s:4:"expr";s:7:"`actor`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:2:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:3:"ADD";i:2;s:11:"PRIMARY KEY";}}s:5:"field";N;s:7:"unknown";a:3:{i:0;r:79;i:1;r:86;i:2;r:93;}}i:1;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:3:"ADD";i:2;s:3:"KEY";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:19:"idx_actor_last_name";s:4:"expr";s:21:"`idx_actor_last_name`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:3:{i:0;r:156;i:1;r:163;i:2;r:170;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:24;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlter10.in000066400000000000000000000001211363525634600217640ustar00rootroot00000000000000ALTER TABLE `database`.`table` MODIFY `field` INT(11) AUTO_INCREMENT PRIMARY KEY;sql-parser-4.6.1/tests/data/parser/parseAlter10.out000066400000000000000000000116721363525634600222020ustar00rootroot00000000000000a:4:{s:5:"query";s:81:"ALTER TABLE `database`.`table` MODIFY `field` INT(11) AUTO_INCREMENT PRIMARY KEY;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:81:"ALTER TABLE `database`.`table` MODIFY `field` INT(11) AUTO_INCREMENT PRIMARY KEY;";s:3:"len";i:81;s:4:"last";i:81;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:22:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`database`";s:5:"value";s:8:"database";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`table`";s:5:"value";s:5:"table";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"MODIFY";s:5:"value";s:6:"MODIFY";s:7:"keyword";s:6:"MODIFY";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:31;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`field`";s:5:"value";s:5:"field";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:38;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:46;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:49;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:54;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:7:"keyword";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:69;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:80;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:22;s:3:"idx";i:22;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:8:"database";s:5:"table";s:5:"table";s:6:"column";N;s:4:"expr";s:18:"`database`.`table`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"MODIFY";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"field";s:4:"expr";s:7:"`field`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:8:{i:0;r:93;i:1;r:100;i:2;r:107;i:3;r:114;i:4;r:121;i:5;r:128;i:6;r:135;i:7;r:142;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:20;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlter2.in000066400000000000000000000001241363525634600217100ustar00rootroot00000000000000ALTER /* */ TABLE /* */ table CONVERT /* */ TO /* */ CHARACTER /* */ SET /* */ utf8;sql-parser-4.6.1/tests/data/parser/parseAlter2.out000066400000000000000000000133471363525634600221240ustar00rootroot00000000000000a:4:{s:5:"query";s:84:"ALTER /* */ TABLE /* */ table CONVERT /* */ TO /* */ CHARACTER /* */ SET /* */ utf8;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:84:"ALTER /* */ TABLE /* */ table CONVERT /* */ TO /* */ CHARACTER /* */ SET /* */ utf8;";s:3:"len";i:84;s:4:"last";i:84;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:29:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"table";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"CONVERT";s:5:"value";s:7:"CONVERT";s:7:"keyword";s:7:"CONVERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:44;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:47;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"CHARACTER";s:5:"value";s:9:"CHARACTER";s:7:"keyword";s:9:"CHARACTER";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:53;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:63;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:69;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:73;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"utf8";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:79;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:83;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:29;s:3:"idx";i:29;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";N;s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:2:"TO";}}s:5:"field";N;s:7:"unknown";a:3:{i:0;r:135;i:1;r:142;i:2;r:156;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:3;s:5:"TABLE";i:12;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:27;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:35:"This option conflicts with "TABLE".";i:1;r:65;i:2;i:0;}i:1;a:3:{i:0;s:76:"A new statement was found, but no delimiter between it and the previous one.";i:1;r:163;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseAlter3.in000066400000000000000000000002311363525634600217100ustar00rootroot00000000000000ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ALTER TABLE `tbl` CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULLsql-parser-4.6.1/tests/data/parser/parseAlter3.out000066400000000000000000000223171363525634600221220ustar00rootroot00000000000000a:4:{s:5:"query";s:153:"ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ALTER TABLE `tbl` CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULL";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:153:"ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT ALTER TABLE `tbl` CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULL";s:3:"len";i:153;s:4:"last";i:153;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:48:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`tbl`";s:5:"value";s:3:"tbl";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`uid`";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`uid`";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:37;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"UNSIGNED";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:47;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:65;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:81;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:87;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`tbl`";s:5:"value";s:3:"tbl";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:93;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:99;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:105;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`field_1`";s:5:"value";s:7:"field_1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:106;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:115;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`field_2`";s:5:"value";s:7:"field_2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:116;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:126;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:129;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:131;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:133;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:134;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:135;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"UNSIGNED";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:136;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:144;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:145;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:48;s:3:"idx";i:48;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"tbl";s:6:"column";N;s:4:"expr";s:5:"`tbl`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"CHANGE";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:3:"uid";s:4:"expr";s:5:"`uid`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:15:{i:0;r:79;i:1;r:86;i:2;r:93;i:3;r:100;i:4;r:107;i:5;r:114;i:6;r:121;i:7;r:128;i:8;r:135;i:9;r:142;i:10;r:149;i:11;r:156;i:12;r:163;i:13;r:170;i:14;r:177;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:47;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:76:"A new statement was found, but no delimiter between it and the previous one.";i:1;r:184;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseAlter4.in000066400000000000000000000000601363525634600217110ustar00rootroot00000000000000ALTER TABLE my_table COMMENT='Comment of table';sql-parser-4.6.1/tests/data/parser/parseAlter4.out000066400000000000000000000060001363525634600221120ustar00rootroot00000000000000a:4:{s:5:"query";s:48:"ALTER TABLE my_table COMMENT='Comment of table';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:48:"ALTER TABLE my_table COMMENT='Comment of table';";s:3:"len";i:48;s:4:"last";i:48;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"my_table";s:5:"value";s:8:"my_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COMMENT";s:5:"value";s:7:"COMMENT";s:7:"keyword";s:7:"COMMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:28;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"'Comment of table'";s:5:"value";s:16:"Comment of table";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:29;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:47;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"my_table";s:6:"column";N;s:4:"expr";s:8:"my_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:7:"COMMENT";s:6:"equals";b:1;s:4:"expr";s:18:"'Comment of table'";s:5:"value";s:16:"Comment of table";}}}s:5:"field";N;s:7:"unknown";a:0:{}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:9;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlter5.in000066400000000000000000000000531363525634600217140ustar00rootroot00000000000000ALTER DATABASE `abc` CHARACTER SET = 'utf8'sql-parser-4.6.1/tests/data/parser/parseAlter5.out000066400000000000000000000061621363525634600221240ustar00rootroot00000000000000a:4:{s:5:"query";s:43:"ALTER DATABASE `abc` CHARACTER SET = 'utf8'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:43:"ALTER DATABASE `abc` CHARACTER SET = 'utf8'";s:3:"len";i:43;s:4:"last";i:43;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:12:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DATABASE";s:5:"value";s:8:"DATABASE";s:7:"keyword";s:8:"DATABASE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`abc`";s:5:"value";s:3:"abc";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:15;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"CHARACTER SET";s:5:"value";s:13:"CHARACTER SET";s:7:"keyword";s:13:"CHARACTER SET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:35;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:37;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:12;s:3:"idx";i:12;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"abc";s:6:"column";N;s:4:"expr";s:5:"`abc`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:13:"CHARACTER SET";s:6:"equals";b:1;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:5:"field";N;s:7:"unknown";a:0:{}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:8:"DATABASE";}}s:5:"first";i:0;s:4:"last";i:11;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlter6.in000066400000000000000000000000471363525634600217200ustar00rootroot00000000000000ALTER VIEW `abc` AS SELECT `a` FROM `b`sql-parser-4.6.1/tests/data/parser/parseAlter6.out000066400000000000000000000072321363525634600221240ustar00rootroot00000000000000a:4:{s:5:"query";s:39:"ALTER VIEW `abc` AS SELECT `a` FROM `b`";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:39:"ALTER VIEW `abc` AS SELECT `a` FROM `b`";s:3:"len";i:39;s:4:"last";i:39;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:16:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"VIEW";s:5:"value";s:4:"VIEW";s:7:"keyword";s:4:"VIEW";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`abc`";s:5:"value";s:3:"abc";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`b`";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:36;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:16;s:3:"idx";i:16;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"abc";s:6:"column";N;s:4:"expr";s:5:"`abc`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:2:"AS";}}s:5:"field";N;s:7:"unknown";a:8:{i:0;r:58;i:1;r:65;i:2;r:72;i:3;r:79;i:4;r:86;i:5;r:93;i:6;r:100;i:7;r:107;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:4:"VIEW";}}s:5:"first";i:0;s:4:"last";i:15;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlter7.in000066400000000000000000000002071363525634600217170ustar00rootroot00000000000000ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT, CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULLsql-parser-4.6.1/tests/data/parser/parseAlter7.out000066400000000000000000000214171363525634600221260ustar00rootroot00000000000000a:4:{s:5:"query";s:135:"ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT, CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULL";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:135:"ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT, CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULL";s:3:"len";i:135;s:4:"last";i:135;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:43:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`tbl`";s:5:"value";s:3:"tbl";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`uid`";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`uid`";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:37;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"UNSIGNED";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:47;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:65;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:79;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`field_1`";s:5:"value";s:7:"field_1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:88;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`field_2`";s:5:"value";s:7:"field_2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:98;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:108;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:111;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:113;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:115;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:116;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:117;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"UNSIGNED";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:118;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:126;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:127;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:43;s:3:"idx";i:43;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"tbl";s:6:"column";N;s:4:"expr";s:5:"`tbl`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:2:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"CHANGE";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:3:"uid";s:4:"expr";s:5:"`uid`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:14:{i:0;r:79;i:1;r:86;i:2;r:93;i:3;r:100;i:4;r:107;i:5;r:114;i:6;r:121;i:7;r:128;i:8;r:135;i:9;r:142;i:10;r:149;i:11;r:156;i:12;r:163;i:13;r:170;}}i:1;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"CHANGE";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:7:"field_1";s:4:"expr";s:9:"`field_1`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:12:{i:0;r:219;i:1;r:226;i:2;r:233;i:3;r:240;i:4;r:247;i:5;r:254;i:6;r:261;i:7;r:268;i:8;r:275;i:9;r:282;i:10;r:289;i:11;r:296;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:42;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlter8.in000066400000000000000000000001221363525634600217140ustar00rootroot00000000000000ALTER TABLE `api_tab_user` CHANGE `rank_id` `rank_id` INT(4) NOT NULL DEFAULT '4';sql-parser-4.6.1/tests/data/parser/parseAlter8.out000066400000000000000000000123701363525634600221250ustar00rootroot00000000000000a:4:{s:5:"query";s:82:"ALTER TABLE `api_tab_user` CHANGE `rank_id` `rank_id` INT(4) NOT NULL DEFAULT '4';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:82:"ALTER TABLE `api_tab_user` CHANGE `rank_id` `rank_id` INT(4) NOT NULL DEFAULT '4';";s:3:"len";i:82;s:4:"last";i:82;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:24:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"`api_tab_user`";s:5:"value";s:12:"api_tab_user";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`rank_id`";s:5:"value";s:7:"rank_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:34;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`rank_id`";s:5:"value";s:7:"rank_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:44;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:54;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:57;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"4";s:5:"value";i:4;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:58;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:59;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:61;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"'4'";s:5:"value";s:1:"4";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:78;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:81;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:24;s:3:"idx";i:24;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:12:"api_tab_user";s:6:"column";N;s:4:"expr";s:14:"`api_tab_user`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"CHANGE";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:7:"rank_id";s:4:"expr";s:9:"`rank_id`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:12:{i:0;r:79;i:1;r:86;i:2;r:93;i:3;r:100;i:4;r:107;i:5;r:114;i:6;r:121;i:7;r:128;i:8;r:135;i:9;r:142;i:10;r:149;i:11;r:156;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:22;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlter9.in000066400000000000000000000002161363525634600217210ustar00rootroot00000000000000ALTER TABLE place CHANGE COLUMN plc_location_type gplc_location_type ENUM('LOCATION') CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL;sql-parser-4.6.1/tests/data/parser/parseAlter9.out000066400000000000000000000147271363525634600221360ustar00rootroot00000000000000a:4:{s:5:"query";s:142:"ALTER TABLE place CHANGE COLUMN plc_location_type gplc_location_type ENUM('LOCATION') CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:142:"ALTER TABLE place CHANGE COLUMN plc_location_type gplc_location_type ENUM('LOCATION') CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL;";s:3:"len";i:142;s:4:"last";i:142;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:30:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"place";s:5:"value";s:5:"place";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"COLUMN";s:5:"value";s:6:"COLUMN";s:7:"keyword";s:6:"COLUMN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"plc_location_type";s:5:"value";s:17:"plc_location_type";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"gplc_location_type";s:5:"value";s:18:"gplc_location_type";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"ENUM";s:5:"value";s:4:"ENUM";s:7:"keyword";s:4:"ENUM";s:4:"type";i:1;s:5:"flags";i:9;s:8:"position";i:69;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:73;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"'LOCATION'";s:5:"value";s:8:"LOCATION";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:74;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:84;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"CHARACTER SET";s:5:"value";s:13:"CHARACTER SET";s:7:"keyword";s:13:"CHARACTER SET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:86;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:100;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COLLATE";s:5:"value";s:7:"COLLATE";s:7:"keyword";s:7:"COLLATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:107;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:114;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"'utf8_unicode_ci'";s:5:"value";s:15:"utf8_unicode_ci";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:115;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:133;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:141;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:30;s:3:"idx";i:30;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"place";s:6:"column";N;s:4:"expr";s:5:"place";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:6:"CHANGE";i:2;s:6:"COLUMN";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:17:"plc_location_type";s:4:"expr";s:17:"plc_location_type";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:16:{i:0;r:93;i:1;r:100;i:2;r:107;i:3;r:114;i:4;r:121;i:5;r:128;i:6;r:135;i:7;r:142;i:8;r:149;i:9;r:156;i:10;r:163;i:11;r:170;i:12;r:177;i:13;r:184;i:14;r:191;i:15;r:198;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:28;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlterErr.in000066400000000000000000000002601363525634600223000ustar00rootroot00000000000000-- missing comma between alter operations ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULLsql-parser-4.6.1/tests/data/parser/parseAlterErr.out000066400000000000000000000212741363525634600225110ustar00rootroot00000000000000a:4:{s:5:"query";s:176:"-- missing comma between alter operations ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULL";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:176:"-- missing comma between alter operations ALTER TABLE `tbl` CHANGE `uid` `uid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULL";s:3:"len";i:176;s:4:"last";i:176;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:44:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:41:"-- missing comma between alter operations";s:5:"value";s:41:"-- missing comma between alter operations";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:48;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`tbl`";s:5:"value";s:3:"tbl";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:54;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:60;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`uid`";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:67;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`uid`";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:73;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:79;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:82;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:83;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:84;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:87;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"UNSIGNED";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:98;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:107;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:121;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:122;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:128;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`field_1`";s:5:"value";s:7:"field_1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:129;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:138;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`field_2`";s:5:"value";s:7:"field_2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:139;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:149;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:152;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:153;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:154;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:156;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:157;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:158;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"UNSIGNED";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:159;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:167;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:168;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:44;s:3:"idx";i:44;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"tbl";s:6:"column";N;s:4:"expr";s:5:"`tbl`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"CHANGE";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:3:"uid";s:4:"expr";s:5:"`uid`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:15:{i:0;r:93;i:1;r:100;i:2;r:107;i:3;r:114;i:4;r:121;i:5;r:128;i:6;r:135;i:7;r:142;i:8;r:149;i:9;r:156;i:10;r:163;i:11;r:170;i:12;r:177;i:13;r:184;i:14;r:191;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:43;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:52:"Missing comma before start of a new alter operation.";i:1;r:198;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseAlterErr2.in000066400000000000000000000002241363525634600223620ustar00rootroot00000000000000-- missing comma between alter operations ALTER TABLE tb_foo CHANGE inmsg inmsg date NULL AFTER outmsg2 CHANGE inmsg2 inmsg2 time NULL AFTER inmsg; sql-parser-4.6.1/tests/data/parser/parseAlterErr2.out000066400000000000000000000172141363525634600225720ustar00rootroot00000000000000a:4:{s:5:"query";s:148:"-- missing comma between alter operations ALTER TABLE tb_foo CHANGE inmsg inmsg date NULL AFTER outmsg2 CHANGE inmsg2 inmsg2 time NULL AFTER inmsg; ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:148:"-- missing comma between alter operations ALTER TABLE tb_foo CHANGE inmsg inmsg date NULL AFTER outmsg2 CHANGE inmsg2 inmsg2 time NULL AFTER inmsg; ";s:3:"len";i:148;s:4:"last";i:148;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:38:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:41:"-- missing comma between alter operations";s:5:"value";s:41:"-- missing comma between alter operations";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:48;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"tb_foo";s:5:"value";s:6:"tb_foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:54;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:61;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"inmsg";s:5:"value";s:5:"inmsg";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:68;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:73;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"inmsg";s:5:"value";s:5:"inmsg";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:74;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"date";s:5:"value";s:4:"date";s:7:"keyword";s:4:"DATE";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:80;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:85;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"AFTER";s:5:"value";s:5:"AFTER";s:7:"keyword";s:5:"AFTER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:90;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"outmsg2";s:5:"value";s:7:"outmsg2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:96;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:103;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CHANGE";s:5:"value";s:6:"CHANGE";s:7:"keyword";s:6:"CHANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:104;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:110;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"inmsg2";s:5:"value";s:6:"inmsg2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:111;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:117;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"inmsg2";s:5:"value";s:6:"inmsg2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:118;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"time";s:5:"value";s:4:"time";s:7:"keyword";s:4:"TIME";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:125;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:130;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:134;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"AFTER";s:5:"value";s:5:"AFTER";s:7:"keyword";s:5:"AFTER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:135;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:140;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"inmsg";s:5:"value";s:5:"inmsg";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:141;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:146;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:147;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:38;s:3:"idx";i:38;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"tb_foo";s:6:"column";N;s:4:"expr";s:6:"tb_foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"CHANGE";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"inmsg";s:4:"expr";s:5:"inmsg";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:10:{i:0;r:93;i:1;r:100;i:2;r:107;i:3;r:114;i:4;r:121;i:5;r:128;i:6;r:135;i:7;r:142;i:8;r:149;i:9;r:156;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:35;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:52:"Missing comma before start of a new alter operation.";i:1;r:163;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseAlterErr3.in000066400000000000000000000001741363525634600223670ustar00rootroot00000000000000-- missing comma between alter operations ALTER TABLE `database`.`table` MODIFY `field` INT(11) AUTO_INCREMENT PRIMARY KEY; sql-parser-4.6.1/tests/data/parser/parseAlterErr3.out000066400000000000000000000130571363525634600225740ustar00rootroot00000000000000a:4:{s:5:"query";s:124:"-- missing comma between alter operations ALTER TABLE `database`.`table` MODIFY `field` INT(11) AUTO_INCREMENT PRIMARY KEY; ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:124:"-- missing comma between alter operations ALTER TABLE `database`.`table` MODIFY `field` INT(11) AUTO_INCREMENT PRIMARY KEY; ";s:3:"len";i:124;s:4:"last";i:124;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:25:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:41:"-- missing comma between alter operations";s:5:"value";s:41:"-- missing comma between alter operations";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:48;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`database`";s:5:"value";s:8:"database";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:54;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:64;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`table`";s:5:"value";s:5:"table";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:65;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"MODIFY";s:5:"value";s:6:"MODIFY";s:7:"keyword";s:6:"MODIFY";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:73;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`field`";s:5:"value";s:5:"field";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:80;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:88;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:91;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:92;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:94;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:96;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:110;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:7:"keyword";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:111;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:122;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:123;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:25;s:3:"idx";i:25;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:8:"database";s:5:"table";s:5:"table";s:6:"column";N;s:4:"expr";s:18:"`database`.`table`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"MODIFY";}}s:5:"field";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"field";s:4:"expr";s:7:"`field`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"unknown";a:8:{i:0;r:107;i:1;r:114;i:2;r:121;i:3;r:128;i:4;r:135;i:5;r:142;i:6;r:149;i:7;r:156;}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:22;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseAlterTableSetAutoIncrementError.in000066400000000000000000000000361363525634600267640ustar00rootroot00000000000000ALTER TABLE t1 AUTO_INCREMENT sql-parser-4.6.1/tests/data/parser/parseAlterTableSetAutoIncrementError.out000066400000000000000000000053231363525634600271710ustar00rootroot00000000000000a:4:{s:5:"query";s:30:"ALTER TABLE t1 AUTO_INCREMENT ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:30:"ALTER TABLE t1 AUTO_INCREMENT ";s:3:"len";i:30;s:4:"last";i:30;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:7:"keyword";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\AlterStatement":5:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"altered";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\AlterOperation":3:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:14:"AUTO_INCREMENT";s:6:"equals";b:1;s:4:"expr";s:0:"";s:5:"value";s:0:"";}}}s:5:"field";N;s:7:"unknown";a:0:{}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:60:"Value/Expression for the option AUTO_INCREMENT was expected.";i:1;r:58;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseArrayErr1.in000066400000000000000000000000461363525634600223720ustar00rootroot00000000000000SELECT * FROM foo PARTITION bar, baz);sql-parser-4.6.1/tests/data/parser/parseArrayErr1.out000066400000000000000000000102751363525634600226000ustar00rootroot00000000000000a:4:{s:5:"query";s:38:"SELECT * FROM foo PARTITION bar, baz);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:38:"SELECT * FROM foo PARTITION bar, baz);";s:3:"len";i:38;s:4:"last";i:38;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:17:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"baz";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:36;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:37;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:17;s:3:"idx";i:17;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:0:{}s:6:"values";a:0:{}}s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:14;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:32:"An opening bracket was expected.";i:1;r:79;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:86;i:2;i:0;}i:2;a:3:{i:0;s:17:"Unexpected token.";i:1;r:100;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseArrayErr3.in000066400000000000000000000000461363525634600223740ustar00rootroot00000000000000SELECT * FROM foo PARTITION (bar, baz;sql-parser-4.6.1/tests/data/parser/parseArrayErr3.out000066400000000000000000000100041363525634600225700ustar00rootroot00000000000000a:4:{s:5:"query";s:38:"SELECT * FROM foo PARTITION (bar, baz;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:38:"SELECT * FROM foo PARTITION (bar, baz;";s:3:"len";i:38;s:4:"last";i:38;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:17:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"baz";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:37;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:17;s:3:"idx";i:17;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:3:"bar";i:1;s:3:"baz";}s:6:"values";a:2:{i:0;s:3:"bar";i:1;s:3:"baz";}}s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:15;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCall.in000066400000000000000000000000131363525634600214270ustar00rootroot00000000000000CALL foo();sql-parser-4.6.1/tests/data/parser/parseCall.out000066400000000000000000000035311363525634600216400ustar00rootroot00000000000000a:4:{s:5:"query";s:11:"CALL foo();";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:11:"CALL foo();";s:3:"len";i:11;s:4:"last";i:11;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:7:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"CALL";s:5:"value";s:4:"CALL";s:7:"keyword";s:4:"CALL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:10;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:7;s:3:"idx";i:7;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\CallStatement":4:{s:4:"call";O:44:"PhpMyAdmin\SqlParser\Components\FunctionCall":2:{s:4:"name";s:3:"foo";s:10:"parameters";O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:0:{}s:6:"values";a:0:{}}}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCall2.in000066400000000000000000000000251363525634600215140ustar00rootroot00000000000000CALL foo(@bar, @baz);sql-parser-4.6.1/tests/data/parser/parseCall2.out000066400000000000000000000050121363525634600217160ustar00rootroot00000000000000a:4:{s:5:"query";s:21:"CALL foo(@bar, @baz);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:21:"CALL foo(@bar, @baz);";s:3:"len";i:21;s:4:"last";i:21;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"CALL";s:5:"value";s:4:"CALL";s:7:"keyword";s:4:"CALL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@baz";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:15;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:20;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\CallStatement":4:{s:4:"call";O:44:"PhpMyAdmin\SqlParser\Components\FunctionCall":2:{s:4:"name";s:3:"foo";s:10:"parameters";O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:4:"@bar";i:1;s:4:"@baz";}s:6:"values";a:2:{i:0;s:3:"bar";i:1;s:3:"baz";}}}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCall3.in000066400000000000000000000000111363525634600215100ustar00rootroot00000000000000CALL foo;sql-parser-4.6.1/tests/data/parser/parseCall3.out000066400000000000000000000027211363525634600217230ustar00rootroot00000000000000a:4:{s:5:"query";s:9:"CALL foo;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:9:"CALL foo;";s:3:"len";i:9;s:4:"last";i:9;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"CALL";s:5:"value";s:4:"CALL";s:7:"keyword";s:4:"CALL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\CallStatement":4:{s:4:"call";O:44:"PhpMyAdmin\SqlParser\Components\FunctionCall":2:{s:4:"name";s:3:"foo";s:10:"parameters";N;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:2;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateDatabase.in000066400000000000000000000000711363525634600234100ustar00rootroot00000000000000CREATE DATABASE IF NOT EXISTS pma DEFAULT CHARSET 'utf8';sql-parser-4.6.1/tests/data/parser/parseCreateDatabase.out000066400000000000000000000067441363525634600236260ustar00rootroot00000000000000a:4:{s:5:"query";s:57:"CREATE DATABASE IF NOT EXISTS pma DEFAULT CHARSET 'utf8';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:57:"CREATE DATABASE IF NOT EXISTS pma DEFAULT CHARSET 'utf8';";s:3:"len";i:57;s:4:"last";i:57;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DATABASE";s:5:"value";s:8:"DATABASE";s:7:"keyword";s:8:"DATABASE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:7:"keyword";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pma";s:5:"value";s:3:"pma";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:30;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"DEFAULT CHARSET";s:5:"value";s:15:"DEFAULT CHARSET";s:7:"keyword";s:15:"DEFAULT CHARSET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:34;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:50;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:56;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:13;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:3:"pma";s:5:"table";N;s:6:"column";N;s:4:"expr";s:3:"pma";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:15:"DEFAULT CHARSET";s:6:"equals";b:1;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:6;s:8:"DATABASE";i:7;s:13:"IF NOT EXISTS";}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateDatabaseErr.in000066400000000000000000000001101363525634600240530ustar00rootroot00000000000000CREATE DATABASE IF NOT EXISTS pma ENGINE='InnoDB' DEFAULT CHARSET 'utf8'sql-parser-4.6.1/tests/data/parser/parseCreateDatabaseErr.out000066400000000000000000000076731363525634600243010ustar00rootroot00000000000000a:4:{s:5:"query";s:72:"CREATE DATABASE IF NOT EXISTS pma ENGINE='InnoDB' DEFAULT CHARSET 'utf8'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:72:"CREATE DATABASE IF NOT EXISTS pma ENGINE='InnoDB' DEFAULT CHARSET 'utf8'";s:3:"len";i:72;s:4:"last";i:72;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:16:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DATABASE";s:5:"value";s:8:"DATABASE";s:7:"keyword";s:8:"DATABASE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:7:"keyword";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pma";s:5:"value";s:3:"pma";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:30;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:34;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:40;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'InnoDB'";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:41;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"DEFAULT CHARSET";s:5:"value";s:15:"DEFAULT CHARSET";s:7:"keyword";s:15:"DEFAULT CHARSET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:50;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:66;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:16;s:3:"idx";i:17;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:3:"pma";s:5:"table";N;s:6:"column";N;s:4:"expr";s:3:"pma";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:6;s:8:"DATABASE";i:7;s:13:"IF NOT EXISTS";}}s:5:"first";i:0;s:4:"last";i:7;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:65;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateFunction.in000066400000000000000000000002641363525634600234750ustar00rootroot00000000000000CREATE FUNCTION F_TEST(uid INT) RETURNS VARCHAR BEGIN DECLARE username VARCHAR DEFAULT ""; SELECT username INTO username FROM users WHERE ID = uid; RETURN username; ENDsql-parser-4.6.1/tests/data/parser/parseCreateFunction.out000066400000000000000000000261071363525634600237020ustar00rootroot00000000000000a:4:{s:5:"query";s:180:"CREATE FUNCTION F_TEST(uid INT) RETURNS VARCHAR BEGIN DECLARE username VARCHAR DEFAULT ""; SELECT username INTO username FROM users WHERE ID = uid; RETURN username; END";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:180:"CREATE FUNCTION F_TEST(uid INT) RETURNS VARCHAR BEGIN DECLARE username VARCHAR DEFAULT ""; SELECT username INTO username FROM users WHERE ID = uid; RETURN username; END";s:3:"len";i:180;s:4:"last";i:180;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:56:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"FUNCTION";s:5:"value";s:8:"FUNCTION";s:7:"keyword";s:8:"FUNCTION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"F_TEST";s:5:"value";s:6:"F_TEST";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"RETURNS";s:5:"value";s:7:"RETURNS";s:7:"keyword";s:7:"RETURNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:7:"keyword";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:48;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DECLARE";s:5:"value";s:7:"DECLARE";s:7:"keyword";s:7:"DECLARE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:58;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:66;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:75;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:83;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"""";s:5:"value";s:0:"";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:91;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:93;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:94;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:99;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:105;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:106;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:114;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:115;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:119;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:120;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:128;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:129;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:133;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:134;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:140;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ID";s:5:"value";s:2:"ID";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:146;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:149;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:150;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:151;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:154;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:155;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RETURN";s:5:"value";s:6:"RETURN";s:7:"keyword";s:6:"RETURN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:160;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:166;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:167;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:175;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:176;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:177;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:56;s:3:"idx";i:57;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"F_TEST";s:6:"column";N;s:4:"expr";s:6:"F_TEST";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"parameters";a:1:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\ParameterDefinition":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:41:{i:0;r:114;i:1;r:121;i:2;r:128;i:3;r:135;i:4;r:142;i:5;r:149;i:6;r:156;i:7;r:163;i:8;r:170;i:9;r:177;i:10;r:184;i:11;r:191;i:12;r:198;i:13;r:205;i:14;r:212;i:15;r:219;i:16;r:226;i:17;r:233;i:18;r:240;i:19;r:247;i:20;r:254;i:21;r:261;i:22;r:268;i:23;r:275;i:24;r:282;i:25;r:289;i:26;r:296;i:27;r:303;i:28;r:310;i:29;r:317;i:30;r:324;i:31;r:331;i:32;r:338;i:33;r:345;i:34;r:352;i:35;r:359;i:36;r:366;i:37;r:373;i:38;r:380;i:39;r:387;i:40;r:394;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:56;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateFunctionErr1.in000066400000000000000000000002441363525634600242250ustar00rootroot00000000000000CREATE FUNCTION F_TEST(uid INT) BEGIN DECLARE username VARCHAR DEFAULT ""; SELECT username INTO username FROM users WHERE ID = uid; RETURN username; ENDsql-parser-4.6.1/tests/data/parser/parseCreateFunctionErr1.out000066400000000000000000000244171363525634600244360ustar00rootroot00000000000000a:4:{s:5:"query";s:164:"CREATE FUNCTION F_TEST(uid INT) BEGIN DECLARE username VARCHAR DEFAULT ""; SELECT username INTO username FROM users WHERE ID = uid; RETURN username; END";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:164:"CREATE FUNCTION F_TEST(uid INT) BEGIN DECLARE username VARCHAR DEFAULT ""; SELECT username INTO username FROM users WHERE ID = uid; RETURN username; END";s:3:"len";i:164;s:4:"last";i:164;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:52:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"FUNCTION";s:5:"value";s:8:"FUNCTION";s:7:"keyword";s:8:"FUNCTION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"F_TEST";s:5:"value";s:6:"F_TEST";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:7:"keyword";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DECLARE";s:5:"value";s:7:"DECLARE";s:7:"keyword";s:7:"DECLARE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:59;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:67;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"""";s:5:"value";s:0:"";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:75;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:77;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:83;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:90;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:99;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:103;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:104;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:113;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:117;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:118;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:123;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:124;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ID";s:5:"value";s:2:"ID";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:130;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:133;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:134;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:135;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:138;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RETURN";s:5:"value";s:6:"RETURN";s:7:"keyword";s:6:"RETURN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:144;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:150;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:151;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:159;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:161;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:52;s:3:"idx";i:53;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"F_TEST";s:6:"column";N;s:4:"expr";s:6:"F_TEST";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";a:1:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\ParameterDefinition":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:39:{i:0;r:100;i:1;r:107;i:2;r:114;i:3;r:121;i:4;r:128;i:5;r:135;i:6;r:142;i:7;r:149;i:8;r:156;i:9;r:163;i:10;r:170;i:11;r:177;i:12;r:184;i:13;r:191;i:14;r:198;i:15;r:205;i:16;r:212;i:17;r:219;i:18;r:226;i:19;r:233;i:20;r:240;i:21;r:247;i:22;r:254;i:23;r:261;i:24;r:268;i:25;r:275;i:26;r:282;i:27;r:289;i:28;r:296;i:29;r:303;i:30;r:310;i:31;r:317;i:32;r:324;i:33;r:331;i:34;r:338;i:35;r:345;i:36;r:352;i:37;r:359;i:38;r:366;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:52;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:33:"A "RETURNS" keyword was expected.";i:1;r:86;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateFunctionErr2.in000066400000000000000000000000361363525634600242250ustar00rootroot00000000000000CREATE FUNCTION test() RETURNSsql-parser-4.6.1/tests/data/parser/parseCreateFunctionErr2.out000066400000000000000000000054401363525634600244320ustar00rootroot00000000000000a:4:{s:5:"query";s:30:"CREATE FUNCTION test() RETURNS";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:30:"CREATE FUNCTION test() RETURNS";s:3:"len";i:30;s:4:"last";i:30;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"FUNCTION";s:5:"value";s:8:"FUNCTION";s:7:"keyword";s:8:"FUNCTION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"RETURNS";s:5:"value";s:7:"RETURNS";s:7:"keyword";s:7:"RETURNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:23;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:12;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";a:0:{}s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:11;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateFunctionErr3.in000066400000000000000000000000541363525634600242260ustar00rootroot00000000000000DELIMITER$$ CREATE FUNCTION coincide END;$$ sql-parser-4.6.1/tests/data/parser/parseCreateFunctionErr3.out000066400000000000000000000072071363525634600244360ustar00rootroot00000000000000a:4:{s:5:"query";s:44:"DELIMITER$$ CREATE FUNCTION coincide END;$$ ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:44:"DELIMITER$$ CREATE FUNCTION coincide END;$$ ";s:3:"len";i:44;s:4:"last";i:44;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DELIMITER";s:5:"value";s:9:"DELIMITER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"$";s:5:"value";s:1:"$";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:10;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"FUNCTION";s:5:"value";s:8:"FUNCTION";s:7:"keyword";s:8:"FUNCTION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"coincide";s:5:"value";s:8:"coincide";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:37;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"$";s:5:"value";s:1:"$";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"$";s:5:"value";s:1:"$";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:42;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:17;}s:9:"delimiter";s:1:"$";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"coincide";s:6:"column";N;s:4:"expr";s:8:"coincide";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";a:0:{}s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:8:"FUNCTION";}}s:5:"first";i:3;s:4:"last";i:16;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:33:"A "RETURNS" keyword was expected.";i:1;r:72;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateProcedure.in000066400000000000000000000001311363525634600236310ustar00rootroot00000000000000CREATE PROCEDURE P_TEST(uid INT) BEGIN SELECT username FROM users WHERE ID = uid; ENDsql-parser-4.6.1/tests/data/parser/parseCreateProcedure.out000066400000000000000000000153731363525634600240500ustar00rootroot00000000000000a:4:{s:5:"query";s:89:"CREATE PROCEDURE P_TEST(uid INT) BEGIN SELECT username FROM users WHERE ID = uid; END";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:89:"CREATE PROCEDURE P_TEST(uid INT) BEGIN SELECT username FROM users WHERE ID = uid; END";s:3:"len";i:89;s:4:"last";i:89;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:32:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PROCEDURE";s:5:"value";s:9:"PROCEDURE";s:7:"keyword";s:9:"PROCEDURE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"P_TEST";s:5:"value";s:6:"P_TEST";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:24;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:28;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:31;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:7:"keyword";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:43;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:59;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:64;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:70;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ID";s:5:"value";s:2:"ID";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:76;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:79;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:81;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:84;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:86;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:32;s:3:"idx";i:33;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"P_TEST";s:6:"column";N;s:4:"expr";s:6:"P_TEST";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";a:1:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\ParameterDefinition":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:21:{i:0;r:86;i:1;r:93;i:2;r:100;i:3;r:107;i:4;r:114;i:5;r:121;i:6;r:128;i:7;r:135;i:8;r:142;i:9;r:149;i:10;r:156;i:11;r:163;i:12;r:170;i:13;r:177;i:14;r:184;i:15;r:191;i:16;r:198;i:17;r:205;i:18;r:212;i:19;r:219;i:20;r:226;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:9:"PROCEDURE";}}s:5:"first";i:0;s:4:"last";i:32;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateProcedure2.in000066400000000000000000000001571363525634600237230ustar00rootroot00000000000000CREATE PROCEDURE P_TEST(IN uid INT, IN unused VARCHAR) BEGIN SELECT username FROM users WHERE ID = uid; ENDsql-parser-4.6.1/tests/data/parser/parseCreateProcedure2.out000066400000000000000000000207631363525634600241310ustar00rootroot00000000000000a:4:{s:5:"query";s:111:"CREATE PROCEDURE P_TEST(IN uid INT, IN unused VARCHAR) BEGIN SELECT username FROM users WHERE ID = uid; END";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:111:"CREATE PROCEDURE P_TEST(IN uid INT, IN unused VARCHAR) BEGIN SELECT username FROM users WHERE ID = uid; END";s:3:"len";i:111;s:4:"last";i:111;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:41:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PROCEDURE";s:5:"value";s:9:"PROCEDURE";s:7:"keyword";s:9:"PROCEDURE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"P_TEST";s:5:"value";s:6:"P_TEST";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IN";s:5:"value";s:2:"IN";s:7:"keyword";s:2:"IN";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:24;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IN";s:5:"value";s:2:"IN";s:7:"keyword";s:2:"IN";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:36;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"unused";s:5:"value";s:6:"unused";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:53;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:7:"keyword";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:65;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:72;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:92;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ID";s:5:"value";s:2:"ID";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:98;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:101;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:103;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:106;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:41;s:3:"idx";i:42;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"P_TEST";s:6:"column";N;s:4:"expr";s:6:"P_TEST";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";a:2:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\ParameterDefinition":3:{s:4:"name";s:3:"uid";s:5:"inOut";s:2:"IN";s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\ParameterDefinition":3:{s:4:"name";s:6:"unused";s:5:"inOut";s:2:"IN";s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:21:{i:0;r:149;i:1;r:156;i:2;r:163;i:3;r:170;i:4;r:177;i:5;r:184;i:6;r:191;i:7;r:198;i:8;r:205;i:9;r:212;i:10;r:219;i:11;r:226;i:12;r:233;i:13;r:240;i:14;r:247;i:15;r:254;i:16;r:261;i:17;r:268;i:18;r:275;i:19;r:282;i:20;r:289;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:9:"PROCEDURE";}}s:5:"first";i:0;s:4:"last";i:41;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateSchema.in000066400000000000000000000000711363525634600231040ustar00rootroot00000000000000CREATE DATABASE IF NOT EXISTS pma DEFAULT CHARSET 'utf8';sql-parser-4.6.1/tests/data/parser/parseCreateSchema.out000066400000000000000000000067441363525634600233220ustar00rootroot00000000000000a:4:{s:5:"query";s:57:"CREATE DATABASE IF NOT EXISTS pma DEFAULT CHARSET 'utf8';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:57:"CREATE DATABASE IF NOT EXISTS pma DEFAULT CHARSET 'utf8';";s:3:"len";i:57;s:4:"last";i:57;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DATABASE";s:5:"value";s:8:"DATABASE";s:7:"keyword";s:8:"DATABASE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:7:"keyword";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pma";s:5:"value";s:3:"pma";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:30;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"DEFAULT CHARSET";s:5:"value";s:15:"DEFAULT CHARSET";s:7:"keyword";s:15:"DEFAULT CHARSET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:34;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:50;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:56;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:13;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:3:"pma";s:5:"table";N;s:6:"column";N;s:4:"expr";s:3:"pma";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:15:"DEFAULT CHARSET";s:6:"equals";b:1;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:6;s:8:"DATABASE";i:7;s:13:"IF NOT EXISTS";}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateSchemaErr.in000066400000000000000000000001061363525634600235540ustar00rootroot00000000000000CREATE SCHEMA IF NOT EXISTS pma ENGINE='InnoDB' DEFAULT CHARSET 'utf8'sql-parser-4.6.1/tests/data/parser/parseCreateSchemaErr.out000066400000000000000000000076571363525634600237770ustar00rootroot00000000000000a:4:{s:5:"query";s:70:"CREATE SCHEMA IF NOT EXISTS pma ENGINE='InnoDB' DEFAULT CHARSET 'utf8'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:70:"CREATE SCHEMA IF NOT EXISTS pma ENGINE='InnoDB' DEFAULT CHARSET 'utf8'";s:3:"len";i:70;s:4:"last";i:70;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:16:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SCHEMA";s:5:"value";s:6:"SCHEMA";s:7:"keyword";s:6:"SCHEMA";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:7:"keyword";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pma";s:5:"value";s:3:"pma";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:32;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:38;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'InnoDB'";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:39;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"DEFAULT CHARSET";s:5:"value";s:15:"DEFAULT CHARSET";s:7:"keyword";s:15:"DEFAULT CHARSET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:48;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:64;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:16;s:3:"idx";i:17;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:3:"pma";s:5:"table";N;s:6:"column";N;s:4:"expr";s:3:"pma";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:6;s:6:"SCHEMA";i:7;s:13:"IF NOT EXISTS";}}s:5:"first";i:0;s:4:"last";i:7;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:65;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateTable.in000066400000000000000000000003451363525634600227370ustar00rootroot00000000000000CREATE TABLE IF NOT EXISTS users ( `id` INT NOT NULL AUTO_INCREMENT, username VARCHAR(64) NULL, `password` VARCHAR(256) DEFAULT '123456', CONSTRAINT pk_id PRIMARY KEY (`id`), UNIQUE (username) ) ENGINE=InnoDB;sql-parser-4.6.1/tests/data/parser/parseCreateTable.out000066400000000000000000000343051363525634600231430ustar00rootroot00000000000000a:4:{s:5:"query";s:229:"CREATE TABLE IF NOT EXISTS users ( `id` INT NOT NULL AUTO_INCREMENT, username VARCHAR(64) NULL, `password` VARCHAR(256) DEFAULT '123456', CONSTRAINT pk_id PRIMARY KEY (`id`), UNIQUE (username) ) ENGINE=InnoDB;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:229:"CREATE TABLE IF NOT EXISTS users ( `id` INT NOT NULL AUTO_INCREMENT, username VARCHAR(64) NULL, `password` VARCHAR(256) DEFAULT '123456', CONSTRAINT pk_id PRIMARY KEY (`id`), UNIQUE (username) ) ENGINE=InnoDB;";s:3:"len";i:229;s:4:"last";i:229;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:65:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:7:"keyword";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:39;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:48;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:57;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:77;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:86;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:93;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"64";s:5:"value";i:64;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:96;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:98;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:102;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:103;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`password`";s:5:"value";s:8:"password";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:108;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:119;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:126;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"256";s:5:"value";i:256;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:127;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:130;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:132;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'123456'";s:5:"value";s:6:"123456";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:140;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:148;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:149;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:7:"keyword";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:154;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:164;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"pk_id";s:5:"value";s:5:"pk_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:165;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:170;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:7:"keyword";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:171;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:182;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:183;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:184;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:188;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:189;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:190;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UNIQUE";s:5:"value";s:6:"UNIQUE";s:7:"keyword";s:6:"UNIQUE";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:195;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:201;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:202;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:203;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:211;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:212;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:213;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:214;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:215;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:221;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:222;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:228;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:65;s:3:"idx";i:65;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}s:6:"fields";a:5:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:3;s:14:"AUTO_INCREMENT";}}}i:1;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:8:"username";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:2:"64";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:4:"NULL";}}}i:2;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:8:"password";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:3:"256";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"123456";s:4:"expr";s:8:"'123456'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:8:"'123456'";}}}}i:3;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:5:"pk_id";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:2:"id";}}s:4:"type";s:11:"PRIMARY KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:4;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:8:"username";}}s:4:"type";s:6:"UNIQUE";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:6;s:5:"TABLE";i:7;s:13:"IF NOT EXISTS";}}s:5:"first";i:0;s:4:"last";i:63;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTable2.in000066400000000000000000000016541363525634600230250ustar00rootroot00000000000000CREATE TABLE `payment` ( `payment_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `customer_id` smallint(5) unsigned NOT NULL, `staff_id` tinyint(3) unsigned NOT NULL, `rental_id` int(11) DEFAULT NULL, `amount` decimal(5,2) NOT NULL, `payment_date` datetime NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`payment_id`), KEY `idx_fk_staff_id` (`staff_id`), KEY `idx_fk_customer_id` (`customer_id`), KEY `fk_payment_rental` (`rental_id`), CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE, CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8sql-parser-4.6.1/tests/data/parser/parseCreateTable2.out000066400000000000000000001323231363525634600232240ustar00rootroot00000000000000a:4:{s:5:"query";s:940:"CREATE TABLE `payment` ( `payment_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `customer_id` smallint(5) unsigned NOT NULL, `staff_id` tinyint(3) unsigned NOT NULL, `rental_id` int(11) DEFAULT NULL, `amount` decimal(5,2) NOT NULL, `payment_date` datetime NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`payment_id`), KEY `idx_fk_staff_id` (`staff_id`), KEY `idx_fk_customer_id` (`customer_id`), KEY `fk_payment_rental` (`rental_id`), CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE, CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:940:"CREATE TABLE `payment` ( `payment_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `customer_id` smallint(5) unsigned NOT NULL, `staff_id` tinyint(3) unsigned NOT NULL, `rental_id` int(11) DEFAULT NULL, `amount` decimal(5,2) NOT NULL, `payment_date` datetime NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`payment_id`), KEY `idx_fk_staff_id` (`staff_id`), KEY `idx_fk_customer_id` (`customer_id`), KEY `fk_payment_rental` (`rental_id`), CONSTRAINT `fk_payment_customer` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`) ON UPDATE CASCADE, CONSTRAINT `fk_payment_rental` FOREIGN KEY (`rental_id`) REFERENCES `rental` (`rental_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `fk_payment_staff` FOREIGN KEY (`staff_id`) REFERENCES `staff` (`staff_id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=16050 DEFAULT CHARSET=utf8";s:3:"len";i:940;s:4:"last";i:940;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:212:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`payment`";s:5:"value";s:7:"payment";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`payment_id`";s:5:"value";s:10:"payment_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"smallint";s:5:"value";s:8:"SMALLINT";s:7:"keyword";s:8:"SMALLINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:40;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:48;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"5";s:5:"value";i:5;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:49;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:50;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:61;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:84;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:88;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"smallint";s:5:"value";s:8:"SMALLINT";s:7:"keyword";s:8:"SMALLINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:102;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:110;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"5";s:5:"value";i:5;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:111;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:112;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:114;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:123;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:131;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:135;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"tinyint";s:5:"value";s:7:"TINYINT";s:7:"keyword";s:7:"TINYINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:146;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:153;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:154;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:155;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:156;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:7:"keyword";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:157;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:165;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:166;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:174;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:175;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:178;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:189;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"int";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:190;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:193;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:194;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:196;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:197;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:198;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:205;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:206;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:210;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:211;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`amount`";s:5:"value";s:6:"amount";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:214;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:222;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"decimal";s:5:"value";s:7:"DECIMAL";s:7:"keyword";s:7:"DECIMAL";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:223;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:230;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"5";s:5:"value";i:5;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:231;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:232;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:233;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:234;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:235;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:236;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:244;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:245;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"`payment_date`";s:5:"value";s:12:"payment_date";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:248;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:262;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"datetime";s:5:"value";s:8:"datetime";s:7:"keyword";s:8:"DATETIME";s:4:"type";i:1;s:5:"flags";i:9;s:8:"position";i:263;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:271;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:272;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:280;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:281;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`last_update`";s:5:"value";s:11:"last_update";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:284;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:297;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"timestamp";s:5:"value";s:9:"timestamp";s:7:"keyword";s:9:"TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:298;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:307;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:308;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:316;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:317;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:324;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"CURRENT_TIMESTAMP";s:5:"value";s:17:"CURRENT_TIMESTAMP";s:7:"keyword";s:17:"CURRENT_TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:325;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:342;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:7:"keyword";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:343;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:352;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"CURRENT_TIMESTAMP";s:5:"value";s:17:"CURRENT_TIMESTAMP";s:7:"keyword";s:17:"CURRENT_TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:353;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:370;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:371;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:7:"keyword";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:374;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:385;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:386;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`payment_id`";s:5:"value";s:10:"payment_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:387;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:399;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:400;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:401;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:404;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:407;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"`idx_fk_staff_id`";s:5:"value";s:15:"idx_fk_staff_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:408;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:425;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:426;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:427;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:437;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:438;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:439;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:442;}i:109;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:445;}i:110;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"`idx_fk_customer_id`";s:5:"value";s:18:"idx_fk_customer_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:446;}i:111;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:466;}i:112;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:467;}i:113;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:468;}i:114;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:481;}i:115;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:482;}i:116;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:483;}i:117;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:486;}i:118;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:489;}i:119;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:19:"`fk_payment_rental`";s:5:"value";s:17:"fk_payment_rental";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:490;}i:120;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:509;}i:121;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:510;}i:122;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:511;}i:123;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:522;}i:124;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:523;}i:125;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:524;}i:126;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:7:"keyword";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:527;}i:127;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:537;}i:128;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:21:"`fk_payment_customer`";s:5:"value";s:19:"fk_payment_customer";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:538;}i:129;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:559;}i:130;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:7:"keyword";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:560;}i:131;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:571;}i:132;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:572;}i:133;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:573;}i:134;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:586;}i:135;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:587;}i:136;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:7:"keyword";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:588;}i:137;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:598;}i:138;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`customer`";s:5:"value";s:8:"customer";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:599;}i:139;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:609;}i:140;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:610;}i:141;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:611;}i:142;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:624;}i:143;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:625;}i:144;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:7:"keyword";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:626;}i:145;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:635;}i:146;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:7:"keyword";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:636;}i:147;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:643;}i:148;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:644;}i:149;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:7:"keyword";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:647;}i:150;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:657;}i:151;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:19:"`fk_payment_rental`";s:5:"value";s:17:"fk_payment_rental";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:658;}i:152;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:677;}i:153;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:7:"keyword";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:678;}i:154;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:689;}i:155;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:690;}i:156;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:691;}i:157;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:702;}i:158;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:703;}i:159;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:7:"keyword";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:704;}i:160;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:714;}i:161;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`rental`";s:5:"value";s:6:"rental";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:715;}i:162;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:723;}i:163;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:724;}i:164;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:725;}i:165;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:736;}i:166;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:737;}i:167;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ON DELETE";s:5:"value";s:9:"ON DELETE";s:7:"keyword";s:9:"ON DELETE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:738;}i:168;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:747;}i:169;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"SET NULL";s:5:"value";s:8:"SET NULL";s:7:"keyword";s:8:"SET NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:748;}i:170;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:756;}i:171;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:7:"keyword";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:757;}i:172;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:766;}i:173;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:7:"keyword";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:767;}i:174;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:774;}i:175;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:775;}i:176;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:7:"keyword";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:778;}i:177;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:788;}i:178;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"`fk_payment_staff`";s:5:"value";s:16:"fk_payment_staff";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:789;}i:179;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:807;}i:180;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:7:"keyword";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:808;}i:181;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:819;}i:182;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:820;}i:183;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:821;}i:184;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:831;}i:185;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:832;}i:186;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:7:"keyword";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:833;}i:187;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:843;}i:188;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`staff`";s:5:"value";s:5:"staff";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:844;}i:189;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:851;}i:190;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:852;}i:191;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:853;}i:192;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:863;}i:193;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:864;}i:194;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:7:"keyword";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:865;}i:195;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:874;}i:196;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:7:"keyword";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:875;}i:197;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:882;}i:198;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:883;}i:199;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:884;}i:200;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:885;}i:201;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:891;}i:202;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:892;}i:203;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:898;}i:204;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:899;}i:205;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:913;}i:206;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"16050";s:5:"value";i:16050;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:914;}i:207;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:919;}i:208;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"DEFAULT CHARSET";s:5:"value";s:15:"DEFAULT CHARSET";s:7:"keyword";s:15:"DEFAULT CHARSET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:920;}i:209;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:935;}i:210;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"utf8";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:936;}i:211;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:212;s:3:"idx";i:212;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"payment";s:6:"column";N;s:4:"expr";s:9:"`payment`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:3:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}i:2;a:4:{s:4:"name";s:14:"AUTO_INCREMENT";s:6:"equals";b:1;s:4:"expr";s:5:"16050";s:5:"value";s:5:"16050";}i:4;a:4:{s:4:"name";s:15:"DEFAULT CHARSET";s:6:"equals";b:1;s:4:"expr";s:4:"utf8";s:5:"value";s:4:"utf8";}}}s:6:"fields";a:14:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:10:"payment_id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:8:"SMALLINT";s:10:"parameters";a:1:{i:0;s:1:"5";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:3;s:14:"AUTO_INCREMENT";}}}i:1;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:11:"customer_id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:8:"SMALLINT";s:10:"parameters";a:1:{i:0;s:1:"5";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:2;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:8:"staff_id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"TINYINT";s:10:"parameters";a:1:{i:0;s:1:"3";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:3;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:9:"rental_id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;s:2:"11";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:4:"NULL";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"NULL";}}}}i:4;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:6:"amount";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"DECIMAL";s:10:"parameters";a:2:{i:0;s:1:"5";i:1;s:1:"2";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:5;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:12:"payment_date";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:8:"DATETIME";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:6;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:11:"last_update";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:9:"TIMESTAMP";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:3:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:17:"CURRENT_TIMESTAMP";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:17:"CURRENT_TIMESTAMP";}i:7;a:4:{s:4:"name";s:9:"ON UPDATE";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:17:"CURRENT_TIMESTAMP";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:17:"CURRENT_TIMESTAMP";}}}}i:7;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:10:"payment_id";}}s:4:"type";s:11:"PRIMARY KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:8;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";s:15:"idx_fk_staff_id";s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:8:"staff_id";}}s:4:"type";s:3:"KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:9;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";s:18:"idx_fk_customer_id";s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:11:"customer_id";}}s:4:"type";s:3:"KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:10;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";s:17:"fk_payment_rental";s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:9:"rental_id";}}s:4:"type";s:3:"KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:11;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:19:"fk_payment_customer";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:11:"customer_id";}}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";O:41:"PhpMyAdmin\SqlParser\Components\Reference":3:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"customer";s:6:"column";N;s:4:"expr";s:10:"`customer`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:11:"customer_id";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:9:"ON UPDATE";s:6:"equals";b:0;s:4:"expr";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";}}}}s:7:"options";N;}i:12;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:17:"fk_payment_rental";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:9:"rental_id";}}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";O:41:"PhpMyAdmin\SqlParser\Components\Reference":3:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"rental";s:6:"column";N;s:4:"expr";s:8:"`rental`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:9:"rental_id";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:2;a:4:{s:4:"name";s:9:"ON DELETE";s:6:"equals";b:0;s:4:"expr";s:8:"SET NULL";s:5:"value";s:8:"SET NULL";}i:3;a:4:{s:4:"name";s:9:"ON UPDATE";s:6:"equals";b:0;s:4:"expr";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";}}}}s:7:"options";N;}i:13;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:16:"fk_payment_staff";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:8:"staff_id";}}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";O:41:"PhpMyAdmin\SqlParser\Components\Reference":3:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"staff";s:6:"column";N;s:4:"expr";s:7:"`staff`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:8:"staff_id";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:9:"ON UPDATE";s:6:"equals";b:0;s:4:"expr";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";}}}}s:7:"options";N;}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:211;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTable3.in000066400000000000000000000002131363525634600230140ustar00rootroot00000000000000CREATE TABLE table1 ( a INT NOT NULL, b VARCHAR(32), c INT AS (a mod 10) VIRTUAL, d VARCHAR(5) AS (left(b,5)) PERSISTENT );sql-parser-4.6.1/tests/data/parser/parseCreateTable3.out000066400000000000000000000324071363525634600232270ustar00rootroot00000000000000a:4:{s:5:"query";s:139:"CREATE TABLE table1 ( a INT NOT NULL, b VARCHAR(32), c INT AS (a mod 10) VIRTUAL, d VARCHAR(5) AS (left(b,5)) PERSISTENT );";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:139:"CREATE TABLE table1 ( a INT NOT NULL, b VARCHAR(32), c INT AS (a mod 10) VIRTUAL, d VARCHAR(5) AS (left(b,5)) PERSISTENT );";s:3:"len";i:139;s:4:"last";i:139;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:63:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:32;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:46;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:48;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:55;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"32";s:5:"value";i:32;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:56;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:58;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:59;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"c";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:65;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:67;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:71;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:73;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:74;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:75;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"mod";s:5:"value";s:3:"MOD";s:7:"keyword";s:3:"MOD";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:77;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:81;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:83;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VIRTUAL";s:5:"value";s:7:"VIRTUAL";s:7:"keyword";s:7:"VIRTUAL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:85;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:92;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"d";s:5:"value";s:1:"d";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:98;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:100;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:107;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"5";s:5:"value";i:5;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:108;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:109;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:110;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:111;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:114;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"left";s:5:"value";s:4:"LEFT";s:7:"keyword";s:4:"LEFT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:115;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:119;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:120;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:121;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"5";s:5:"value";i:5;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:122;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:123;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:124;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"PERSISTENT";s:5:"value";s:10:"PERSISTENT";s:7:"keyword";s:10:"PERSISTENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:126;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:136;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:137;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:138;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:63;s:3:"idx";i:63;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:4:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:1:"a";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:1;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:1:"b";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:2:"32";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:2;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:1:"c";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:9;a:4:{s:4:"name";s:2:"AS";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:10:"(a mod 10)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:10:"(a mod 10)";}i:10;s:7:"VIRTUAL";}}}i:3;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:1:"d";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:1:"5";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:9;a:4:{s:4:"name";s:2:"AS";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:11:"(left(b,5))";s:5:"alias";N;s:8:"function";s:4:"LEFT";s:8:"subquery";N;}s:5:"value";s:11:"(left(b,5))";}i:11;s:10:"PERSISTENT";}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:61;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTable4.in000066400000000000000000000006301363525634600230200ustar00rootroot00000000000000CREATE TABLE ts(id INT, purchased DATE) PARTITION BY /* comment */ RANGE(YEAR(purchased)) PARTITIONS 3 SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2( PARTITION p0 VALUES LESS THAN(1990)( SUBPARTITION s0, SUBPARTITION s1 ), PARTITION p1 VALUES LESS THAN(2000)( SUBPARTITION s2, SUBPARTITION s3 ), PARTITION p2 VALUES LESS THAN MAXVALUE( SUBPARTITION s4, SUBPARTITION s5 ) );sql-parser-4.6.1/tests/data/parser/parseCreateTable4.out000066400000000000000000000602211363525634600232230ustar00rootroot00000000000000a:4:{s:5:"query";s:408:"CREATE TABLE ts(id INT, purchased DATE) PARTITION BY /* comment */ RANGE(YEAR(purchased)) PARTITIONS 3 SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2( PARTITION p0 VALUES LESS THAN(1990)( SUBPARTITION s0, SUBPARTITION s1 ), PARTITION p1 VALUES LESS THAN(2000)( SUBPARTITION s2, SUBPARTITION s3 ), PARTITION p2 VALUES LESS THAN MAXVALUE( SUBPARTITION s4, SUBPARTITION s5 ) );";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:408:"CREATE TABLE ts(id INT, purchased DATE) PARTITION BY /* comment */ RANGE(YEAR(purchased)) PARTITIONS 3 SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2( PARTITION p0 VALUES LESS THAN(1990)( SUBPARTITION s0, SUBPARTITION s1 ), PARTITION p1 VALUES LESS THAN(2000)( SUBPARTITION s2, SUBPARTITION s3 ), PARTITION p2 VALUES LESS THAN MAXVALUE( SUBPARTITION s4, SUBPARTITION s5 ) );";s:3:"len";i:408;s:4:"last";i:408;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:120:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ts";s:5:"value";s:2:"ts";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:19;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:22;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"purchased";s:5:"value";s:9:"purchased";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:24;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DATE";s:5:"value";s:4:"DATE";s:7:"keyword";s:4:"DATE";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:34;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"PARTITION BY";s:5:"value";s:12:"PARTITION BY";s:7:"keyword";s:12:"PARTITION BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:40;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"/* comment */";s:5:"value";s:13:"/* comment */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:53;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"RANGE";s:5:"value";s:5:"RANGE";s:7:"keyword";s:5:"RANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:67;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"YEAR";s:5:"value";s:4:"YEAR";s:7:"keyword";s:4:"YEAR";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:77;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"purchased";s:5:"value";s:9:"purchased";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:78;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:87;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"PARTITIONS";s:5:"value";s:10:"PARTITIONS";s:7:"keyword";s:10:"PARTITIONS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:90;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:101;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"SUBPARTITION BY";s:5:"value";s:15:"SUBPARTITION BY";s:7:"keyword";s:15:"SUBPARTITION BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:103;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"HASH";s:5:"value";s:4:"HASH";s:7:"keyword";s:4:"HASH";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:119;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:123;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"TO_DAYS";s:5:"value";s:7:"TO_DAYS";s:7:"keyword";s:7:"TO_DAYS";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:124;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:131;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"purchased";s:5:"value";s:9:"purchased";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:132;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:141;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:142;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:143;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"SUBPARTITIONS";s:5:"value";s:13:"SUBPARTITIONS";s:7:"keyword";s:13:"SUBPARTITIONS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:144;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:157;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:158;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:159;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:161;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:170;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p0";s:5:"value";s:2:"p0";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:171;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:173;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:174;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:180;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LESS THAN";s:5:"value";s:9:"LESS THAN";s:7:"keyword";s:9:"LESS THAN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:181;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:190;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"1990";s:5:"value";i:1990;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:191;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:195;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:196;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:197;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:202;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:214;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s0";s:5:"value";s:2:"s0";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:215;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:217;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:218;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:223;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:235;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s1";s:5:"value";s:2:"s1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:236;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:238;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:239;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:240;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:241;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:242;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:251;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:252;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:254;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:255;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:261;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LESS THAN";s:5:"value";s:9:"LESS THAN";s:7:"keyword";s:9:"LESS THAN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:262;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:271;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"2000";s:5:"value";i:2000;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:272;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:276;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:277;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:278;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:283;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:295;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s2";s:5:"value";s:2:"s2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:296;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:298;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:299;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:304;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:316;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s3";s:5:"value";s:2:"s3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:317;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:319;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:320;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:321;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:322;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:323;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:332;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p2";s:5:"value";s:2:"p2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:333;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:335;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:336;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:342;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LESS THAN";s:5:"value";s:9:"LESS THAN";s:7:"keyword";s:9:"LESS THAN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:343;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:352;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"MAXVALUE";s:5:"value";s:8:"MAXVALUE";s:7:"keyword";s:8:"MAXVALUE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:353;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:361;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:362;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:367;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:379;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s4";s:5:"value";s:2:"s4";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:380;}i:109;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:382;}i:110;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:383;}i:111;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:388;}i:112;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:400;}i:113;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s5";s:5:"value";s:2:"s5";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:401;}i:114;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:403;}i:115;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:404;}i:116;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:405;}i:117;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:406;}i:118;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:407;}i:119;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:120;s:3:"idx";i:120;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"ts";s:6:"column";N;s:4:"expr";s:2:"ts";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:2:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:1;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:9:"purchased";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:4:"DATE";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";s:22:"RANGE(YEAR(purchased))";s:13:"partitionsNum";i:3;s:14:"subpartitionBy";s:24:"HASH(TO_DAYS(purchased))";s:16:"subpartitionsNum";i:2;s:10:"partitions";a:3:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:0;s:4:"name";s:2:"p0";s:4:"type";s:9:"LESS THAN";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:6:"(1990)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"subpartitions";a:2:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s0";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s1";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:0;s:4:"name";s:2:"p1";s:4:"type";s:9:"LESS THAN";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:6:"(2000)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"subpartitions";a:2:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s2";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s3";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:2;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:0;s:4:"name";s:2:"p2";s:4:"type";s:9:"LESS THAN";s:4:"expr";s:8:"MAXVALUE";s:13:"subpartitions";a:2:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s4";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s5";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:117;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTable5.in000066400000000000000000000000701363525634600230170ustar00rootroot00000000000000CREATE TABLE new_table (`INT` VARCHAR(50) DEFAULT NULL);sql-parser-4.6.1/tests/data/parser/parseCreateTable5.out000066400000000000000000000120431363525634600232230ustar00rootroot00000000000000a:4:{s:5:"query";s:56:"CREATE TABLE new_table (`INT` VARCHAR(50) DEFAULT NULL);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:56:"CREATE TABLE new_table (`INT` VARCHAR(50) DEFAULT NULL);";s:3:"len";i:56;s:4:"last";i:56;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:20:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"new_table";s:5:"value";s:9:"new_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`INT`";s:5:"value";s:3:"INT";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:37;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"50";s:5:"value";i:50;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:38;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:42;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:50;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:54;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:55;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:20;s:3:"idx";i:20;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"new_table";s:6:"column";N;s:4:"expr";s:9:"new_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:3:"INT";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:2:"50";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:4:"NULL";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"NULL";}}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:18;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTable6.in000066400000000000000000000000721363525634600230220ustar00rootroot00000000000000CREATE TABLE new_table (ACTION VARCHAR(50) DEFAULT NULL); sql-parser-4.6.1/tests/data/parser/parseCreateTable6.out000066400000000000000000000123171363525634600232300ustar00rootroot00000000000000a:4:{s:5:"query";s:58:"CREATE TABLE new_table (ACTION VARCHAR(50) DEFAULT NULL); ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:58:"CREATE TABLE new_table (ACTION VARCHAR(50) DEFAULT NULL); ";s:3:"len";i:58;s:4:"last";i:58;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"new_table";s:5:"value";s:9:"new_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ACTION";s:5:"value";s:6:"ACTION";s:7:"keyword";s:6:"ACTION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:31;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:38;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"50";s:5:"value";i:50;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:39;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:43;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:51;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:55;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:56;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"new_table";s:6:"column";N;s:4:"expr";s:9:"new_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:6:"ACTION";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;s:2:"50";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:4:"NULL";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"NULL";}}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:18;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTable7.in000066400000000000000000000010061363525634600230210ustar00rootroot00000000000000CREATE TABLE `ts` ( `id` int(11) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 PARTITION BY RANGE (YEAR(purchased)) SUBPARTITION BY HASH (TO_DAYS(purchased)) ( PARTITION p0 VALUES LESS THAN (1990) ( SUBPARTITION s0 ENGINE=InnoDB, SUBPARTITION s1 ENGINE=InnoDB ), PARTITION p1 VALUES LESS THAN (2000) ( SUBPARTITION s2 ENGINE=InnoDB, SUBPARTITION s3 ENGINE=InnoDB ), PARTITION p2 VALUES LESS THAN MAXVALUE ( SUBPARTITION s4 ENGINE=InnoDB, SUBPARTITION s5 ENGINE=InnoDB ) ); sql-parser-4.6.1/tests/data/parser/parseCreateTable7.out000066400000000000000000001011231363525634600232230ustar00rootroot00000000000000a:4:{s:5:"query";s:518:"CREATE TABLE `ts` ( `id` int(11) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 PARTITION BY RANGE (YEAR(purchased)) SUBPARTITION BY HASH (TO_DAYS(purchased)) ( PARTITION p0 VALUES LESS THAN (1990) ( SUBPARTITION s0 ENGINE=InnoDB, SUBPARTITION s1 ENGINE=InnoDB ), PARTITION p1 VALUES LESS THAN (2000) ( SUBPARTITION s2 ENGINE=InnoDB, SUBPARTITION s3 ENGINE=InnoDB ), PARTITION p2 VALUES LESS THAN MAXVALUE ( SUBPARTITION s4 ENGINE=InnoDB, SUBPARTITION s5 ENGINE=InnoDB ) ); ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:518:"CREATE TABLE `ts` ( `id` int(11) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 PARTITION BY RANGE (YEAR(purchased)) SUBPARTITION BY HASH (TO_DAYS(purchased)) ( PARTITION p0 VALUES LESS THAN (1990) ( SUBPARTITION s0 ENGINE=InnoDB, SUBPARTITION s1 ENGINE=InnoDB ), PARTITION p1 VALUES LESS THAN (2000) ( SUBPARTITION s2 ENGINE=InnoDB, SUBPARTITION s3 ENGINE=InnoDB ), PARTITION p2 VALUES LESS THAN MAXVALUE ( SUBPARTITION s4 ENGINE=InnoDB, SUBPARTITION s5 ENGINE=InnoDB ) ); ";s:3:"len";i:518;s:4:"last";i:518;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:165:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`ts`";s:5:"value";s:2:"ts";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"int";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:35;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:43;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`purchased`";s:5:"value";s:9:"purchased";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:51;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"date";s:5:"value";s:4:"date";s:7:"keyword";s:4:"DATE";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:63;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:68;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:76;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:81;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:83;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:90;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:96;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"DEFAULT CHARSET";s:5:"value";s:15:"DEFAULT CHARSET";s:7:"keyword";s:15:"DEFAULT CHARSET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:97;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:112;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"utf8mb4";s:5:"value";s:7:"utf8mb4";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:113;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"PARTITION BY";s:5:"value";s:12:"PARTITION BY";s:7:"keyword";s:12:"PARTITION BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:121;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:133;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"RANGE";s:5:"value";s:5:"RANGE";s:7:"keyword";s:5:"RANGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:134;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:140;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"YEAR";s:5:"value";s:4:"YEAR";s:7:"keyword";s:4:"YEAR";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:141;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:145;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"purchased";s:5:"value";s:9:"purchased";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:146;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:155;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:156;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:157;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"SUBPARTITION BY";s:5:"value";s:15:"SUBPARTITION BY";s:7:"keyword";s:15:"SUBPARTITION BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:158;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:173;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"HASH";s:5:"value";s:4:"HASH";s:7:"keyword";s:4:"HASH";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:174;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:178;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:179;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"TO_DAYS";s:5:"value";s:7:"TO_DAYS";s:7:"keyword";s:7:"TO_DAYS";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:180;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:187;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"purchased";s:5:"value";s:9:"purchased";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:188;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:197;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:198;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:199;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:200;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:201;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:202;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:211;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p0";s:5:"value";s:2:"p0";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:212;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:214;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:215;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:221;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LESS THAN";s:5:"value";s:9:"LESS THAN";s:7:"keyword";s:9:"LESS THAN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:222;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:231;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:232;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"1990";s:5:"value";i:1990;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:233;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:237;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:238;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:240;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:241;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:242;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:254;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s0";s:5:"value";s:2:"s0";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:255;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:257;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:258;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:264;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:265;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:271;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:272;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:273;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:285;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s1";s:5:"value";s:2:"s1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:286;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:288;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:289;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:295;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:296;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:302;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:303;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:304;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:305;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:306;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:315;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:316;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:318;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:319;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:325;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LESS THAN";s:5:"value";s:9:"LESS THAN";s:7:"keyword";s:9:"LESS THAN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:326;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:335;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:336;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"2000";s:5:"value";i:2000;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:337;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:341;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:342;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:344;}i:109;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:345;}i:110;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:346;}i:111;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:358;}i:112;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s2";s:5:"value";s:2:"s2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:359;}i:113;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:361;}i:114;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:362;}i:115;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:368;}i:116;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:369;}i:117;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:375;}i:118;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:376;}i:119;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:377;}i:120;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:389;}i:121;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s3";s:5:"value";s:2:"s3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:390;}i:122;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:392;}i:123;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:393;}i:124;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:399;}i:125;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:400;}i:126;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:406;}i:127;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:407;}i:128;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:408;}i:129;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:409;}i:130;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:410;}i:131;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:419;}i:132;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p2";s:5:"value";s:2:"p2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:420;}i:133;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:422;}i:134;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:423;}i:135;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:429;}i:136;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LESS THAN";s:5:"value";s:9:"LESS THAN";s:7:"keyword";s:9:"LESS THAN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:430;}i:137;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:439;}i:138;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"MAXVALUE";s:5:"value";s:8:"MAXVALUE";s:7:"keyword";s:8:"MAXVALUE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:440;}i:139;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:448;}i:140;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:450;}i:141;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:451;}i:142;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:452;}i:143;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:464;}i:144;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s4";s:5:"value";s:2:"s4";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:465;}i:145;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:467;}i:146;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:468;}i:147;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:474;}i:148;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:475;}i:149;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:481;}i:150;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:482;}i:151;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SUBPARTITION";s:5:"value";s:12:"SUBPARTITION";s:7:"keyword";s:12:"SUBPARTITION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:483;}i:152;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:495;}i:153;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"s5";s:5:"value";s:2:"s5";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:496;}i:154;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:498;}i:155;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:499;}i:156;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:505;}i:157;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:506;}i:158;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:512;}i:159;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:513;}i:160;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:514;}i:161;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:515;}i:162;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:516;}i:163;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:517;}i:164;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:165;s:3:"idx";i:165;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"ts";s:6:"column";N;s:4:"expr";s:4:"`ts`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}i:4;a:4:{s:4:"name";s:15:"DEFAULT CHARSET";s:6:"equals";b:1;s:4:"expr";s:7:"utf8mb4";s:5:"value";s:7:"utf8mb4";}}}s:6:"fields";a:2:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;s:2:"11";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:4:"NULL";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"NULL";}}}}i:1;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:9:"purchased";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:4:"DATE";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:4:"NULL";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"NULL";}}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";s:23:"RANGE (YEAR(purchased))";s:13:"partitionsNum";N;s:14:"subpartitionBy";s:25:"HASH (TO_DAYS(purchased))";s:16:"subpartitionsNum";N;s:10:"partitions";a:3:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:0;s:4:"name";s:2:"p0";s:4:"type";s:9:"LESS THAN";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:6:"(1990)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"subpartitions";a:2:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s0";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s1";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:0;s:4:"name";s:2:"p1";s:4:"type";s:9:"LESS THAN";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:6:"(2000)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"subpartitions";a:2:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s2";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s3";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}i:2;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:0;s:4:"name";s:2:"p2";s:4:"type";s:9:"LESS THAN";s:4:"expr";s:8:"MAXVALUE";s:13:"subpartitions";a:2:{i:0;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s4";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}}i:1;O:51:"PhpMyAdmin\SqlParser\Components\PartitionDefinition":6:{s:14:"isSubpartition";b:1;s:4:"name";s:2:"s5";s:4:"type";N;s:4:"expr";N;s:13:"subpartitions";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:161;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableAsSelect.in000066400000000000000000000000571363525634600243630ustar00rootroot00000000000000CREATE TABLE new_tbl AS SELECT * FROM orig_tbl sql-parser-4.6.1/tests/data/parser/parseCreateTableAsSelect.out000066400000000000000000000110611363525634600245610ustar00rootroot00000000000000a:4:{s:5:"query";s:47:"CREATE TABLE new_tbl AS SELECT * FROM orig_tbl ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:47:"CREATE TABLE new_tbl AS SELECT * FROM orig_tbl ";s:3:"len";i:47;s:4:"last";i:47;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:17:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"new_tbl";s:5:"value";s:7:"new_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"orig_tbl";s:5:"value";s:8:"orig_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:17;s:3:"idx";i:17;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"new_tbl";s:6:"column";N;s:4:"expr";s:7:"new_tbl";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";N;s:6:"select";O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"orig_tbl";s:6:"column";N;s:4:"expr";s:8:"orig_tbl";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:8;s:4:"last";i:15;}s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:15;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableErr1.in000066400000000000000000000001041363525634600234620ustar00rootroot00000000000000CREATE TABLE IF NOT EXISTS users ( `id` UNKNOWN ) ENGINE=InnoDB;sql-parser-4.6.1/tests/data/parser/parseCreateTableErr1.out000066400000000000000000000122231363525634600236700ustar00rootroot00000000000000a:4:{s:5:"query";s:68:"CREATE TABLE IF NOT EXISTS users ( `id` UNKNOWN ) ENGINE=InnoDB;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:68:"CREATE TABLE IF NOT EXISTS users ( `id` UNKNOWN ) ENGINE=InnoDB;";s:3:"len";i:68;s:4:"last";i:68;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:7:"keyword";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:39;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"UNKNOWN";s:5:"value";s:7:"UNKNOWN";s:7:"keyword";s:7:"UNKNOWN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:54;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:60;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:61;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:67;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}s:6:"fields";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:7:"UNKNOWN";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:6;s:5:"TABLE";i:7;s:13:"IF NOT EXISTS";}}s:5:"first";i:0;s:4:"last";i:19;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:23:"Unrecognized data type.";i:1;r:93;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableErr2.in000066400000000000000000000000141363525634600234630ustar00rootroot00000000000000CREATE TABLEsql-parser-4.6.1/tests/data/parser/parseCreateTableErr2.out000066400000000000000000000034731363525634600237000ustar00rootroot00000000000000a:4:{s:5:"query";s:12:"CREATE TABLE";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:12:"CREATE TABLE";s:3:"len";i:12;s:4:"last";i:12;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:4:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:4;s:3:"idx";i:4;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";N;s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:0:{}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:36:"The name of the entity was expected.";i:1;r:30;i:2;i:0;}i:1;a:3:{i:0;s:44:"At least one column definition was expected.";i:1;r:23;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableErr3.in000066400000000000000000000000401363525634600234630ustar00rootroot00000000000000CREATE TABLE `table_copy` LIKE ;sql-parser-4.6.1/tests/data/parser/parseCreateTableErr3.out000066400000000000000000000054371363525634600237030ustar00rootroot00000000000000a:4:{s:5:"query";s:32:"CREATE TABLE `table_copy` LIKE ;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:32:"CREATE TABLE `table_copy` LIKE ;";s:3:"len";i:32;s:4:"last";i:32;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`table_copy`";s:5:"value";s:10:"table_copy";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LIKE";s:5:"value";s:4:"LIKE";s:7:"keyword";s:4:"LIKE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:26;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:31;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:10;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"table_copy";s:6:"column";N;s:4:"expr";s:12:"`table_copy`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:26:"A table name was expected.";i:1;r:65;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableErr4.in000066400000000000000000000000661363525634600234740ustar00rootroot00000000000000CREATE TABLE new_table (INT VARCHAR(50) DEFAULT NULL);sql-parser-4.6.1/tests/data/parser/parseCreateTableErr4.out000066400000000000000000000113241363525634600236740ustar00rootroot00000000000000a:4:{s:5:"query";s:54:"CREATE TABLE new_table (INT VARCHAR(50) DEFAULT NULL);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:54:"CREATE TABLE new_table (INT VARCHAR(50) DEFAULT NULL);";s:3:"len";i:54;s:4:"last";i:54;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:20:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"new_table";s:5:"value";s:9:"new_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:35;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"50";s:5:"value";i:50;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:36;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:40;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:48;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:53;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:20;s:3:"idx";i:20;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"new_table";s:6:"column";N;s:4:"expr";s:9:"new_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:0:{}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:99:"A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.";i:1;r:58;i:2;i:0;}i:1;a:3:{i:0;s:44:"At least one column definition was expected.";i:1;r:58;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:86;i:2;i:0;}i:3;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableErr5.in000066400000000000000000000000671363525634600234760ustar00rootroot00000000000000CREATE TABLE new_table (666 VARCHAR(50) DEFAULT NULL); sql-parser-4.6.1/tests/data/parser/parseCreateTableErr5.out000066400000000000000000000114271363525634600237010ustar00rootroot00000000000000a:4:{s:5:"query";s:55:"CREATE TABLE new_table (666 VARCHAR(50) DEFAULT NULL); ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:55:"CREATE TABLE new_table (666 VARCHAR(50) DEFAULT NULL); ";s:3:"len";i:55;s:4:"last";i:55;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"new_table";s:5:"value";s:9:"new_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"666";s:5:"value";i:666;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:7:"keyword";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:35;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"50";s:5:"value";i:50;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:36;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:40;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:48;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:53;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"new_table";s:6:"column";N;s:4:"expr";s:9:"new_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:6:"fields";a:0:{}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:27:"A symbol name was expected!";i:1;r:58;i:2;i:0;}i:1;a:3:{i:0;s:44:"At least one column definition was expected.";i:1;r:58;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:86;i:2;i:0;}i:3;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableLike.in000066400000000000000000000000531363525634600235400ustar00rootroot00000000000000CREATE TABLE `table_copy` LIKE `old_table`;sql-parser-4.6.1/tests/data/parser/parseCreateTableLike.out000066400000000000000000000061331363525634600237460ustar00rootroot00000000000000a:4:{s:5:"query";s:43:"CREATE TABLE `table_copy` LIKE `old_table`;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:43:"CREATE TABLE `table_copy` LIKE `old_table`;";s:3:"len";i:43;s:4:"last";i:43;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`table_copy`";s:5:"value";s:10:"table_copy";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LIKE";s:5:"value";s:4:"LIKE";s:7:"keyword";s:4:"LIKE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:26;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`old_table`";s:5:"value";s:9:"old_table";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:31;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:42;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"table_copy";s:6:"column";N;s:4:"expr";s:12:"`table_copy`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";N;s:6:"select";N;s:4:"like";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"old_table";s:6:"column";N;s:4:"expr";s:11:"`old_table`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableSelect.in000066400000000000000000000000541363525634600240740ustar00rootroot00000000000000CREATE TABLE new_tbl SELECT * FROM orig_tbl sql-parser-4.6.1/tests/data/parser/parseCreateTableSelect.out000066400000000000000000000103661363525634600243040ustar00rootroot00000000000000a:4:{s:5:"query";s:44:"CREATE TABLE new_tbl SELECT * FROM orig_tbl ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:44:"CREATE TABLE new_tbl SELECT * FROM orig_tbl ";s:3:"len";i:44;s:4:"last";i:44;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"new_tbl";s:5:"value";s:7:"new_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:28;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"orig_tbl";s:5:"value";s:8:"orig_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:35;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"new_tbl";s:6:"column";N;s:4:"expr";s:7:"new_tbl";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";N;s:6:"select";O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"orig_tbl";s:6:"column";N;s:4:"expr";s:8:"orig_tbl";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:6;s:4:"last";i:13;}s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableSpatial.in000066400000000000000000000001001363525634600242420ustar00rootroot00000000000000CREATE TABLE `xss`.`gis` ( `x` POINT NOT NULL ) ENGINE = InnoDB;sql-parser-4.6.1/tests/data/parser/parseCreateTableSpatial.out000066400000000000000000000132211363525634600244530ustar00rootroot00000000000000a:4:{s:5:"query";s:64:"CREATE TABLE `xss`.`gis` ( `x` POINT NOT NULL ) ENGINE = InnoDB;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:64:"CREATE TABLE `xss`.`gis` ( `x` POINT NOT NULL ) ENGINE = InnoDB;";s:3:"len";i:64;s:4:"last";i:64;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:25:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`xss`";s:5:"value";s:3:"xss";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`gis`";s:5:"value";s:3:"gis";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`x`";s:5:"value";s:1:"x";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"POINT";s:5:"value";s:5:"POINT";s:7:"keyword";s:5:"POINT";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:37;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:46;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:48;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:57;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:63;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:25;s:3:"idx";i:25;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:3:"xss";s:5:"table";s:3:"gis";s:6:"column";N;s:4:"expr";s:11:"`xss`.`gis`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}}}s:6:"fields";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:1:"x";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:5:"POINT";s:10:"parameters";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:23;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTableTimestampWithPrecision.in000066400000000000000000000003131363525634600273260ustar00rootroot00000000000000CREATE TABLE `aa` ( `id` int(11) NOT NULL, `rTime` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000' ON UPDATE CURRENT_TIMESTAMP(3), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;sql-parser-4.6.1/tests/data/parser/parseCreateTableTimestampWithPrecision.out000066400000000000000000000305701363525634600275370ustar00rootroot00000000000000a:4:{s:5:"query";s:203:"CREATE TABLE `aa` ( `id` int(11) NOT NULL, `rTime` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000' ON UPDATE CURRENT_TIMESTAMP(3), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:203:"CREATE TABLE `aa` ( `id` int(11) NOT NULL, `rTime` timestamp(3) NOT NULL DEFAULT '0000-00-00 00:00:00.000' ON UPDATE CURRENT_TIMESTAMP(3), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;";s:3:"len";i:203;s:4:"last";i:203;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:56:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`aa`";s:5:"value";s:2:"aa";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"int";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"11";s:5:"value";i:11;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:35;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:43;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`rTime`";s:5:"value";s:5:"rTime";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"timestamp";s:5:"value";s:9:"timestamp";s:7:"keyword";s:9:"TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:64;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:65;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:66;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:7:"keyword";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:68;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:77;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:25:"'0000-00-00 00:00:00.000'";s:5:"value";s:23:"0000-00-00 00:00:00.000";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:85;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:110;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:7:"keyword";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:111;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"CURRENT_TIMESTAMP";s:5:"value";s:17:"CURRENT_TIMESTAMP";s:7:"keyword";s:17:"CURRENT_TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:121;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:138;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:139;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:140;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:141;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:7:"keyword";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:145;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:156;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:157;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:158;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:162;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:163;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:164;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:165;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:7:"keyword";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:166;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:172;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:173;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:179;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"DEFAULT CHARSET";s:5:"value";s:15:"DEFAULT CHARSET";s:7:"keyword";s:15:"DEFAULT CHARSET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:180;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:195;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"latin1";s:5:"value";s:6:"latin1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:196;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:202;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:56;s:3:"idx";i:56;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"aa";s:6:"column";N;s:4:"expr";s:4:"`aa`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:6:"equals";b:1;s:4:"expr";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";}i:4;a:4:{s:4:"name";s:15:"DEFAULT CHARSET";s:6:"equals";b:1;s:4:"expr";s:6:"latin1";s:5:"value";s:6:"latin1";}}}s:6:"fields";a:3:{i:0;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;s:2:"11";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:1;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";s:5:"rTime";s:12:"isConstraint";N;s:4:"type";O:40:"PhpMyAdmin\SqlParser\Components\DataType":3:{s:4:"name";s:9:"TIMESTAMP";s:10:"parameters";a:1:{i:0;s:1:"3";}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:3:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:23:"0000-00-00 00:00:00.000";s:4:"expr";s:25:"'0000-00-00 00:00:00.000'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:25:"'0000-00-00 00:00:00.000'";}i:7;a:4:{s:4:"name";s:9:"ON UPDATE";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:20:"CURRENT_TIMESTAMP(3)";s:5:"alias";N;s:8:"function";s:17:"CURRENT_TIMESTAMP";s:8:"subquery";N;}s:5:"value";s:20:"CURRENT_TIMESTAMP(3)";}}}}i:2;O:48:"PhpMyAdmin\SqlParser\Components\CreateDefinition":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:35:"PhpMyAdmin\SqlParser\Components\Key":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;a:1:{s:4:"name";s:2:"id";}}s:4:"type";s:11:"PRIMARY KEY";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:54;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateTrigger.in000066400000000000000000000001431363525634600233070ustar00rootroot00000000000000CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW BEGIN SET @sum = @sum + NEW.amount ENDsql-parser-4.6.1/tests/data/parser/parseCreateTrigger.out000066400000000000000000000157741363525634600235300ustar00rootroot00000000000000a:4:{s:5:"query";s:99:"CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW BEGIN SET @sum = @sum + NEW.amount END";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:99:"CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW BEGIN SET @sum = @sum + NEW.amount END";s:3:"len";i:99;s:4:"last";i:99;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:34:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"TRIGGER";s:5:"value";s:7:"TRIGGER";s:7:"keyword";s:7:"TRIGGER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"ins_sum";s:5:"value";s:7:"ins_sum";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:15;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BEFORE";s:5:"value";s:6:"BEFORE";s:7:"keyword";s:6:"BEFORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:30;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:37;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"account";s:5:"value";s:7:"account";s:7:"keyword";s:7:"ACCOUNT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:40;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"FOR EACH ROW";s:5:"value";s:12:"FOR EACH ROW";s:7:"keyword";s:12:"FOR EACH ROW";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:48;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:7:"keyword";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:61;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:67;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@sum";s:5:"value";s:3:"sum";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:76;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@sum";s:5:"value";s:3:"sum";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:78;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:83;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"NEW";s:5:"value";s:3:"NEW";s:7:"keyword";s:3:"NEW";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:85;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"amount";s:5:"value";s:6:"amount";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:89;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:96;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:34;s:3:"idx";i:35;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"ins_sum";s:6:"column";N;s:4:"expr";s:7:"ins_sum";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:6:"BEFORE";i:2;s:6:"INSERT";}}s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"account";s:6:"column";N;s:4:"expr";s:7:"account";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:6:"return";N;s:10:"parameters";N;s:4:"body";a:18:{i:0;r:121;i:1;r:128;i:2;r:135;i:3;r:142;i:4;r:149;i:5;r:156;i:6;r:163;i:7;r:170;i:8;r:177;i:9;r:184;i:10;r:191;i:11;r:198;i:12;r:205;i:13;r:212;i:14;r:219;i:15;r:226;i:16;r:233;i:17;r:240;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:7:"TRIGGER";}}s:5:"first";i:0;s:4:"last";i:34;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateUser.in000066400000000000000000000000201363525634600226140ustar00rootroot00000000000000CREATE USER testsql-parser-4.6.1/tests/data/parser/parseCreateUser.out000066400000000000000000000040651363525634600230320ustar00rootroot00000000000000a:4:{s:5:"query";s:16:"CREATE USER test";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:16:"CREATE USER test";s:3:"len";i:16;s:4:"last";i:16;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"USER";s:5:"value";s:4:"USER";s:7:"keyword";s:4:"USER";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:6;s:3:"idx";i:6;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:4:"USER";}}s:5:"first";i:0;s:4:"last";i:5;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateView.in000066400000000000000000000017001363525634600226160ustar00rootroot00000000000000CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `sakila`.`actor_info` AS select `a`.`actor_id` AS `actor_id`,`a`.`first_name` AS `first_name`,`a`.`last_name` AS `last_name`,group_concat(distinct concat(`c`.`name`,': ',(select group_concat(`f`.`title` order by `f`.`title` ASC separator ', ') from ((`sakila`.`film` `f` join `sakila`.`film_category` `fc` on((`f`.`film_id` = `fc`.`film_id`))) join `sakila`.`film_actor` `fa` on((`f`.`film_id` = `fa`.`film_id`))) where ((`fc`.`category_id` = `c`.`category_id`) and (`fa`.`actor_id` = `a`.`actor_id`)))) order by `c`.`name` ASC separator '; ') AS `film_info` from (((`sakila`.`actor` `a` left join `sakila`.`film_actor` `fa` on((`a`.`actor_id` = `fa`.`actor_id`))) left join `sakila`.`film_category` `fc` on((`fa`.`film_id` = `fc`.`film_id`))) left join `sakila`.`category` `c` on((`fc`.`category_id` = `c`.`category_id`))) group by `a`.`actor_id`,`a`.`first_name`,`a`.`last_name`sql-parser-4.6.1/tests/data/parser/parseCreateView.out000066400000000000000000001453061363525634600230320ustar00rootroot00000000000000a:4:{s:5:"query";s:960:"CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `sakila`.`actor_info` AS select `a`.`actor_id` AS `actor_id`,`a`.`first_name` AS `first_name`,`a`.`last_name` AS `last_name`,group_concat(distinct concat(`c`.`name`,': ',(select group_concat(`f`.`title` order by `f`.`title` ASC separator ', ') from ((`sakila`.`film` `f` join `sakila`.`film_category` `fc` on((`f`.`film_id` = `fc`.`film_id`))) join `sakila`.`film_actor` `fa` on((`f`.`film_id` = `fa`.`film_id`))) where ((`fc`.`category_id` = `c`.`category_id`) and (`fa`.`actor_id` = `a`.`actor_id`)))) order by `c`.`name` ASC separator '; ') AS `film_info` from (((`sakila`.`actor` `a` left join `sakila`.`film_actor` `fa` on((`a`.`actor_id` = `fa`.`actor_id`))) left join `sakila`.`film_category` `fc` on((`fa`.`film_id` = `fc`.`film_id`))) left join `sakila`.`category` `c` on((`fc`.`category_id` = `c`.`category_id`))) group by `a`.`actor_id`,`a`.`first_name`,`a`.`last_name`";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:960:"CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY INVOKER VIEW `sakila`.`actor_info` AS select `a`.`actor_id` AS `actor_id`,`a`.`first_name` AS `first_name`,`a`.`last_name` AS `last_name`,group_concat(distinct concat(`c`.`name`,': ',(select group_concat(`f`.`title` order by `f`.`title` ASC separator ', ') from ((`sakila`.`film` `f` join `sakila`.`film_category` `fc` on((`f`.`film_id` = `fc`.`film_id`))) join `sakila`.`film_actor` `fa` on((`f`.`film_id` = `fa`.`film_id`))) where ((`fc`.`category_id` = `c`.`category_id`) and (`fa`.`actor_id` = `a`.`actor_id`)))) order by `c`.`name` ASC separator '; ') AS `film_info` from (((`sakila`.`actor` `a` left join `sakila`.`film_actor` `fa` on((`a`.`actor_id` = `fa`.`actor_id`))) left join `sakila`.`film_category` `fc` on((`fa`.`film_id` = `fc`.`film_id`))) left join `sakila`.`category` `c` on((`fc`.`category_id` = `c`.`category_id`))) group by `a`.`actor_id`,`a`.`first_name`,`a`.`last_name`";s:3:"len";i:960;s:4:"last";i:960;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:286:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ALGORITHM";s:5:"value";s:9:"ALGORITHM";s:7:"keyword";s:9:"ALGORITHM";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"UNDEFINED";s:5:"value";s:9:"UNDEFINED";s:7:"keyword";s:9:"UNDEFINED";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFINER";s:5:"value";s:7:"DEFINER";s:7:"keyword";s:7:"DEFINER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:34;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"`root`@`localhost`";s:5:"value";s:14:"root@localhost";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:4;s:8:"position";i:35;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SQL SECURITY";s:5:"value";s:12:"SQL SECURITY";s:7:"keyword";s:12:"SQL SECURITY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:54;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"INVOKER";s:5:"value";s:7:"INVOKER";s:7:"keyword";s:7:"INVOKER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:67;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"VIEW";s:5:"value";s:4:"VIEW";s:7:"keyword";s:4:"VIEW";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:75;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:80;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`actor_info`";s:5:"value";s:10:"actor_info";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:89;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:102;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:104;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:105;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:112;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:115;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:116;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:126;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:127;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:130;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:140;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:141;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:144;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`first_name`";s:5:"value";s:10:"first_name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:145;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:157;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:158;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`first_name`";s:5:"value";s:10:"first_name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:161;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:173;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:174;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:177;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`last_name`";s:5:"value";s:9:"last_name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:178;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:189;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:190;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:192;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`last_name`";s:5:"value";s:9:"last_name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:193;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:204;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"group_concat";s:5:"value";s:12:"group_concat";s:7:"keyword";s:12:"GROUP_CONCAT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:205;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:217;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"distinct";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:218;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:226;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"concat";s:5:"value";s:6:"concat";s:7:"keyword";s:6:"CONCAT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:227;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:233;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:234;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:237;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`name`";s:5:"value";s:4:"name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:238;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:244;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"': '";s:5:"value";s:2:": ";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:245;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:249;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:250;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:251;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:257;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"group_concat";s:5:"value";s:12:"group_concat";s:7:"keyword";s:12:"GROUP_CONCAT";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:258;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:270;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:271;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:274;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`title`";s:5:"value";s:5:"title";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:275;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:282;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"order by";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:283;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:291;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:292;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:295;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`title`";s:5:"value";s:5:"title";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:296;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:303;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:304;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:307;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"separator";s:5:"value";s:9:"SEPARATOR";s:7:"keyword";s:9:"SEPARATOR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:308;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:317;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"', '";s:5:"value";s:2:", ";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:318;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:322;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:323;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:324;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:328;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:329;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:330;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:331;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:339;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`film`";s:5:"value";s:4:"film";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:340;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:346;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:347;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:350;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"join";s:5:"value";s:4:"JOIN";s:7:"keyword";s:4:"JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:351;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:355;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:356;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:364;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`film_category`";s:5:"value";s:13:"film_category";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:365;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:380;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:381;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:385;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:386;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:388;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:389;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:390;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:393;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:394;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:403;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:404;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:405;}i:109;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:406;}i:110;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:410;}i:111;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:411;}i:112;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:420;}i:113;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:421;}i:114;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:422;}i:115;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:423;}i:116;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"join";s:5:"value";s:4:"JOIN";s:7:"keyword";s:4:"JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:424;}i:117;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:428;}i:118;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:429;}i:119;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:437;}i:120;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`film_actor`";s:5:"value";s:10:"film_actor";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:438;}i:121;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:450;}i:122;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:451;}i:123;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:455;}i:124;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:456;}i:125;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:458;}i:126;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:459;}i:127;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:460;}i:128;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:463;}i:129;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:464;}i:130;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:473;}i:131;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:474;}i:132;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:475;}i:133;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:476;}i:134;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:480;}i:135;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:481;}i:136;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:490;}i:137;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:491;}i:138;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:492;}i:139;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:493;}i:140;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"where";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:494;}i:141;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:499;}i:142;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:500;}i:143;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:501;}i:144;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:502;}i:145;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:506;}i:146;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`category_id`";s:5:"value";s:11:"category_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:507;}i:147;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:520;}i:148;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:521;}i:149;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:522;}i:150;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:523;}i:151;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:526;}i:152;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`category_id`";s:5:"value";s:11:"category_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:527;}i:153;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:540;}i:154;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:541;}i:155;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"and";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:542;}i:156;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:545;}i:157;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:546;}i:158;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:547;}i:159;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:551;}i:160;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:552;}i:161;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:562;}i:162;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:563;}i:163;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:564;}i:164;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:565;}i:165;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:568;}i:166;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:569;}i:167;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:579;}i:168;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:580;}i:169;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:581;}i:170;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:582;}i:171;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:583;}i:172;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"order by";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:584;}i:173;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:592;}i:174;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:593;}i:175;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:596;}i:176;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`name`";s:5:"value";s:4:"name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:597;}i:177;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:603;}i:178;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:604;}i:179;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:607;}i:180;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"separator";s:5:"value";s:9:"SEPARATOR";s:7:"keyword";s:9:"SEPARATOR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:608;}i:181;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:617;}i:182;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'; '";s:5:"value";s:2:"; ";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:618;}i:183;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:622;}i:184;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:623;}i:185;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:624;}i:186;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:626;}i:187;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`film_info`";s:5:"value";s:9:"film_info";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:627;}i:188;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:638;}i:189;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:639;}i:190;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:643;}i:191;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:644;}i:192;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:645;}i:193;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:646;}i:194;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:647;}i:195;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:655;}i:196;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`actor`";s:5:"value";s:5:"actor";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:656;}i:197;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:663;}i:198;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:664;}i:199;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:667;}i:200;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"left join";s:5:"value";s:9:"LEFT JOIN";s:7:"keyword";s:9:"LEFT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:668;}i:201;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:677;}i:202;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:678;}i:203;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:686;}i:204;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`film_actor`";s:5:"value";s:10:"film_actor";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:687;}i:205;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:699;}i:206;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:700;}i:207;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:704;}i:208;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:705;}i:209;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:707;}i:210;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:708;}i:211;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:709;}i:212;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:712;}i:213;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:713;}i:214;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:723;}i:215;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:724;}i:216;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:725;}i:217;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:726;}i:218;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:730;}i:219;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:731;}i:220;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:741;}i:221;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:742;}i:222;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:743;}i:223;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:744;}i:224;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"left join";s:5:"value";s:9:"LEFT JOIN";s:7:"keyword";s:9:"LEFT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:745;}i:225;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:754;}i:226;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:755;}i:227;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:763;}i:228;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`film_category`";s:5:"value";s:13:"film_category";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:764;}i:229;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:779;}i:230;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:780;}i:231;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:784;}i:232;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:785;}i:233;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:787;}i:234;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:788;}i:235;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:789;}i:236;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:793;}i:237;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:794;}i:238;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:803;}i:239;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:804;}i:240;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:805;}i:241;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:806;}i:242;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:810;}i:243;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:811;}i:244;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:820;}i:245;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:821;}i:246;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:822;}i:247;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:823;}i:248;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"left join";s:5:"value";s:9:"LEFT JOIN";s:7:"keyword";s:9:"LEFT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:824;}i:249;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:833;}i:250;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:834;}i:251;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:842;}i:252;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`category`";s:5:"value";s:8:"category";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:843;}i:253;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:853;}i:254;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:854;}i:255;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:857;}i:256;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:858;}i:257;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:860;}i:258;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:861;}i:259;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:862;}i:260;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:866;}i:261;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`category_id`";s:5:"value";s:11:"category_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:867;}i:262;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:880;}i:263;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:881;}i:264;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:882;}i:265;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:883;}i:266;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:886;}i:267;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`category_id`";s:5:"value";s:11:"category_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:887;}i:268;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:900;}i:269;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:901;}i:270;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:902;}i:271;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:903;}i:272;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"group by";s:5:"value";s:8:"GROUP BY";s:7:"keyword";s:8:"GROUP BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:904;}i:273;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:912;}i:274;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:913;}i:275;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:916;}i:276;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:917;}i:277;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:927;}i:278;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:928;}i:279;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:931;}i:280;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`first_name`";s:5:"value";s:10:"first_name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:932;}i:281;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:944;}i:282;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:945;}i:283;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:948;}i:284;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`last_name`";s:5:"value";s:9:"last_name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:949;}i:285;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:286;s:3:"idx";i:286;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:6:"sakila";s:5:"table";s:10:"actor_info";s:6:"column";N;s:4:"expr";s:21:"`sakila`.`actor_info`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:264:{i:0;r:156;i:1;r:163;i:2;r:170;i:3;r:177;i:4;r:184;i:5;r:191;i:6;r:198;i:7;r:205;i:8;r:212;i:9;r:219;i:10;r:226;i:11;r:233;i:12;r:240;i:13;r:247;i:14;r:254;i:15;r:261;i:16;r:268;i:17;r:275;i:18;r:282;i:19;r:289;i:20;r:296;i:21;r:303;i:22;r:310;i:23;r:317;i:24;r:324;i:25;r:331;i:26;r:338;i:27;r:345;i:28;r:352;i:29;r:359;i:30;r:366;i:31;r:373;i:32;r:380;i:33;r:387;i:34;r:394;i:35;r:401;i:36;r:408;i:37;r:415;i:38;r:422;i:39;r:429;i:40;r:436;i:41;r:443;i:42;r:450;i:43;r:457;i:44;r:464;i:45;r:471;i:46;r:478;i:47;r:485;i:48;r:492;i:49;r:499;i:50;r:506;i:51;r:513;i:52;r:520;i:53;r:527;i:54;r:534;i:55;r:541;i:56;r:548;i:57;r:555;i:58;r:562;i:59;r:569;i:60;r:576;i:61;r:583;i:62;r:590;i:63;r:597;i:64;r:604;i:65;r:611;i:66;r:618;i:67;r:625;i:68;r:632;i:69;r:639;i:70;r:646;i:71;r:653;i:72;r:660;i:73;r:667;i:74;r:674;i:75;r:681;i:76;r:688;i:77;r:695;i:78;r:702;i:79;r:709;i:80;r:716;i:81;r:723;i:82;r:730;i:83;r:737;i:84;r:744;i:85;r:751;i:86;r:758;i:87;r:765;i:88;r:772;i:89;r:779;i:90;r:786;i:91;r:793;i:92;r:800;i:93;r:807;i:94;r:814;i:95;r:821;i:96;r:828;i:97;r:835;i:98;r:842;i:99;r:849;i:100;r:856;i:101;r:863;i:102;r:870;i:103;r:877;i:104;r:884;i:105;r:891;i:106;r:898;i:107;r:905;i:108;r:912;i:109;r:919;i:110;r:926;i:111;r:933;i:112;r:940;i:113;r:947;i:114;r:954;i:115;r:961;i:116;r:968;i:117;r:975;i:118;r:982;i:119;r:989;i:120;r:996;i:121;r:1003;i:122;r:1010;i:123;r:1017;i:124;r:1024;i:125;r:1031;i:126;r:1038;i:127;r:1045;i:128;r:1052;i:129;r:1059;i:130;r:1066;i:131;r:1073;i:132;r:1080;i:133;r:1087;i:134;r:1094;i:135;r:1101;i:136;r:1108;i:137;r:1115;i:138;r:1122;i:139;r:1129;i:140;r:1136;i:141;r:1143;i:142;r:1150;i:143;r:1157;i:144;r:1164;i:145;r:1171;i:146;r:1178;i:147;r:1185;i:148;r:1192;i:149;r:1199;i:150;r:1206;i:151;r:1213;i:152;r:1220;i:153;r:1227;i:154;r:1234;i:155;r:1241;i:156;r:1248;i:157;r:1255;i:158;r:1262;i:159;r:1269;i:160;r:1276;i:161;r:1283;i:162;r:1290;i:163;r:1297;i:164;r:1304;i:165;r:1311;i:166;r:1318;i:167;r:1325;i:168;r:1332;i:169;r:1339;i:170;r:1346;i:171;r:1353;i:172;r:1360;i:173;r:1367;i:174;r:1374;i:175;r:1381;i:176;r:1388;i:177;r:1395;i:178;r:1402;i:179;r:1409;i:180;r:1416;i:181;r:1423;i:182;r:1430;i:183;r:1437;i:184;r:1444;i:185;r:1451;i:186;r:1458;i:187;r:1465;i:188;r:1472;i:189;r:1479;i:190;r:1486;i:191;r:1493;i:192;r:1500;i:193;r:1507;i:194;r:1514;i:195;r:1521;i:196;r:1528;i:197;r:1535;i:198;r:1542;i:199;r:1549;i:200;r:1556;i:201;r:1563;i:202;r:1570;i:203;r:1577;i:204;r:1584;i:205;r:1591;i:206;r:1598;i:207;r:1605;i:208;r:1612;i:209;r:1619;i:210;r:1626;i:211;r:1633;i:212;r:1640;i:213;r:1647;i:214;r:1654;i:215;r:1661;i:216;r:1668;i:217;r:1675;i:218;r:1682;i:219;r:1689;i:220;r:1696;i:221;r:1703;i:222;r:1710;i:223;r:1717;i:224;r:1724;i:225;r:1731;i:226;r:1738;i:227;r:1745;i:228;r:1752;i:229;r:1759;i:230;r:1766;i:231;r:1773;i:232;r:1780;i:233;r:1787;i:234;r:1794;i:235;r:1801;i:236;r:1808;i:237;r:1815;i:238;r:1822;i:239;r:1829;i:240;r:1836;i:241;r:1843;i:242;r:1850;i:243;r:1857;i:244;r:1864;i:245;r:1871;i:246;r:1878;i:247;r:1885;i:248;r:1892;i:249;r:1899;i:250;r:1906;i:251;r:1913;i:252;r:1920;i:253;r:1927;i:254;r:1934;i:255;r:1941;i:256;r:1948;i:257;r:1955;i:258;r:1962;i:259;r:1969;i:260;r:1976;i:261;r:1983;i:262;r:1990;i:263;r:1997;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:4:{i:3;a:4:{s:4:"name";s:9:"ALGORITHM";s:6:"equals";b:1;s:4:"expr";s:9:"UNDEFINED";s:5:"value";s:9:"UNDEFINED";}i:4;a:4:{s:4:"name";s:7:"DEFINER";s:6:"equals";b:1;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:14:"root@localhost";s:4:"expr";s:18:"`root`@`localhost`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:18:"`root`@`localhost`";}i:5;a:4:{s:4:"name";s:12:"SQL SECURITY";s:6:"equals";b:0;s:4:"expr";s:7:"INVOKER";s:5:"value";s:7:"INVOKER";}i:6;s:4:"VIEW";}}s:5:"first";i:0;s:4:"last";i:285;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateView2.in000066400000000000000000000001311363525634600226750ustar00rootroot00000000000000CREATE VIEW myView (vid, vfirstname) AS SELECT id, first_name FROM employee WHERE id = 1;sql-parser-4.6.1/tests/data/parser/parseCreateView2.out000066400000000000000000000156561363525634600231200ustar00rootroot00000000000000a:4:{s:5:"query";s:89:"CREATE VIEW myView (vid, vfirstname) AS SELECT id, first_name FROM employee WHERE id = 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:89:"CREATE VIEW myView (vid, vfirstname) AS SELECT id, first_name FROM employee WHERE id = 1;";s:3:"len";i:89;s:4:"last";i:89;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:35:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"VIEW";s:5:"value";s:4:"VIEW";s:7:"keyword";s:4:"VIEW";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"myView";s:5:"value";s:6:"myView";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"vid";s:5:"value";s:3:"vid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"vfirstname";s:5:"value";s:10:"vfirstname";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:35;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:49;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"first_name";s:5:"value";s:10:"first_name";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:62;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"employee";s:5:"value";s:8:"employee";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:67;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:76;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:82;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:85;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:88;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:35;s:3:"idx";i:35;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"myView";s:6:"column";N;s:4:"expr";s:6:"myView";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:3:"vid";i:1;s:10:"vfirstname";}s:6:"values";a:2:{i:0;s:3:"vid";i:1;s:10:"vfirstname";}}s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:19:{i:0;r:107;i:1;r:114;i:2;r:121;i:3;r:128;i:4;r:135;i:5;r:142;i:6;r:149;i:7;r:156;i:8;r:163;i:9;r:170;i:10;r:177;i:11;r:184;i:12;r:191;i:13;r:198;i:14;r:205;i:15;r:212;i:16;r:219;i:17;r:226;i:18;r:233;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:6;s:4:"VIEW";}}s:5:"first";i:0;s:4:"last";i:33;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateViewWithQuotes.in000066400000000000000000000003231363525634600246530ustar00rootroot00000000000000CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test_view` AS select `email_content`.`content_id` AS `content_id`, `email_content`.`brand_id` AS `brand_id` from `email_content`;sql-parser-4.6.1/tests/data/parser/parseCreateViewWithQuotes.out000066400000000000000000000223151363525634600250610ustar00rootroot00000000000000a:4:{s:5:"query";s:211:"CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test_view` AS select `email_content`.`content_id` AS `content_id`, `email_content`.`brand_id` AS `brand_id` from `email_content`;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:211:"CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test_view` AS select `email_content`.`content_id` AS `content_id`, `email_content`.`brand_id` AS `brand_id` from `email_content`;";s:3:"len";i:211;s:4:"last";i:211;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:44:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ALGORITHM";s:5:"value";s:9:"ALGORITHM";s:7:"keyword";s:9:"ALGORITHM";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"UNDEFINED";s:5:"value";s:9:"UNDEFINED";s:7:"keyword";s:9:"UNDEFINED";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFINER";s:5:"value";s:7:"DEFINER";s:7:"keyword";s:7:"DEFINER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:34;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"`root`@`localhost`";s:5:"value";s:14:"root@localhost";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:4;s:8:"position";i:35;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SQL SECURITY";s:5:"value";s:12:"SQL SECURITY";s:7:"keyword";s:12:"SQL SECURITY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:54;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFINER";s:5:"value";s:7:"DEFINER";s:7:"keyword";s:7:"DEFINER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:67;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"VIEW";s:5:"value";s:4:"VIEW";s:7:"keyword";s:4:"VIEW";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:75;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`test_view`";s:5:"value";s:9:"test_view";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:80;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:93;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`email_content`";s:5:"value";s:13:"email_content";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:103;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:118;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`content_id`";s:5:"value";s:10:"content_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:119;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:132;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:134;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`content_id`";s:5:"value";s:10:"content_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:135;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:147;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`email_content`";s:5:"value";s:13:"email_content";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:149;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:164;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`brand_id`";s:5:"value";s:8:"brand_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:165;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:175;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:176;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:178;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`brand_id`";s:5:"value";s:8:"brand_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:179;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:189;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:190;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:194;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`email_content`";s:5:"value";s:13:"email_content";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:195;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:210;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:44;s:3:"idx";i:44;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"test_view";s:6:"column";N;s:4:"expr";s:11:"`test_view`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:23:{i:0;r:142;i:1;r:149;i:2;r:156;i:3;r:163;i:4;r:170;i:5;r:177;i:6;r:184;i:7;r:191;i:8;r:198;i:9;r:205;i:10;r:212;i:11;r:219;i:12;r:226;i:13;r:233;i:14;r:240;i:15;r:247;i:16;r:254;i:17;r:261;i:18;r:268;i:19;r:275;i:20;r:282;i:21;r:289;i:22;r:296;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:4:{i:3;a:4:{s:4:"name";s:9:"ALGORITHM";s:6:"equals";b:1;s:4:"expr";s:9:"UNDEFINED";s:5:"value";s:9:"UNDEFINED";}i:4;a:4:{s:4:"name";s:7:"DEFINER";s:6:"equals";b:1;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:14:"root@localhost";s:4:"expr";s:18:"`root`@`localhost`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:18:"`root`@`localhost`";}i:5;a:4:{s:4:"name";s:12:"SQL SECURITY";s:6:"equals";b:0;s:4:"expr";s:7:"DEFINER";s:5:"value";s:7:"DEFINER";}i:6;s:4:"VIEW";}}s:5:"first";i:0;s:4:"last";i:42;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseCreateViewWithoutQuotes.in000066400000000000000000000003171363525634600254060ustar00rootroot00000000000000CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW `test_view` AS select `email_content`.`content_id` AS `content_id`, `email_content`.`brand_id` AS `brand_id` from `email_content`;sql-parser-4.6.1/tests/data/parser/parseCreateViewWithoutQuotes.out000066400000000000000000000224761363525634600256210ustar00rootroot00000000000000a:4:{s:5:"query";s:207:"CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW `test_view` AS select `email_content`.`content_id` AS `content_id`, `email_content`.`brand_id` AS `brand_id` from `email_content`;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:207:"CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW `test_view` AS select `email_content`.`content_id` AS `content_id`, `email_content`.`brand_id` AS `brand_id` from `email_content`;";s:3:"len";i:207;s:4:"last";i:207;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:45:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:7:"keyword";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"ALGORITHM";s:5:"value";s:9:"ALGORITHM";s:7:"keyword";s:9:"ALGORITHM";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"UNDEFINED";s:5:"value";s:9:"UNDEFINED";s:7:"keyword";s:9:"UNDEFINED";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFINER";s:5:"value";s:7:"DEFINER";s:7:"keyword";s:7:"DEFINER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:27;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:34;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"root";s:5:"value";s:4:"root";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:35;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"@localhost";s:5:"value";s:9:"localhost";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:39;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"SQL SECURITY";s:5:"value";s:12:"SQL SECURITY";s:7:"keyword";s:12:"SQL SECURITY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:50;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFINER";s:5:"value";s:7:"DEFINER";s:7:"keyword";s:7:"DEFINER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:63;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"VIEW";s:5:"value";s:4:"VIEW";s:7:"keyword";s:4:"VIEW";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:71;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`test_view`";s:5:"value";s:9:"test_view";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:76;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:92;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`email_content`";s:5:"value";s:13:"email_content";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:99;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:114;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`content_id`";s:5:"value";s:10:"content_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:115;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:128;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`content_id`";s:5:"value";s:10:"content_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:131;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:143;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:144;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`email_content`";s:5:"value";s:13:"email_content";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:145;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:160;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`brand_id`";s:5:"value";s:8:"brand_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:161;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:171;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:172;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:174;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`brand_id`";s:5:"value";s:8:"brand_id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:175;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:185;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:186;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:190;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"`email_content`";s:5:"value";s:13:"email_content";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:191;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:206;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:45;s:3:"idx";i:45;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\CreateStatement":17:{s:4:"name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"test_view";s:6:"column";N;s:4:"expr";s:11:"`test_view`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:13:"entityOptions";N;s:6:"fields";N;s:6:"select";N;s:4:"like";N;s:11:"partitionBy";N;s:13:"partitionsNum";N;s:14:"subpartitionBy";N;s:16:"subpartitionsNum";N;s:10:"partitions";N;s:5:"table";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";a:23:{i:0;r:149;i:1;r:156;i:2;r:163;i:3;r:170;i:4;r:177;i:5;r:184;i:6;r:191;i:7;r:198;i:8;r:205;i:9;r:212;i:10;r:219;i:11;r:226;i:12;r:233;i:13;r:240;i:14;r:247;i:15;r:254;i:16;r:261;i:17;r:268;i:18;r:275;i:19;r:282;i:20;r:289;i:21;r:296;i:22;r:303;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:4:{i:3;a:4:{s:4:"name";s:9:"ALGORITHM";s:6:"equals";b:1;s:4:"expr";s:9:"UNDEFINED";s:5:"value";s:9:"UNDEFINED";}i:4;a:4:{s:4:"name";s:7:"DEFINER";s:6:"equals";b:1;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"root";s:4:"expr";s:14:"root@localhost";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:14:"root@localhost";}i:5;a:4:{s:4:"name";s:12:"SQL SECURITY";s:6:"equals";b:0;s:4:"expr";s:7:"DEFINER";s:5:"value";s:7:"DEFINER";}i:6;s:4:"VIEW";}}s:5:"first";i:0;s:4:"last";i:43;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete.in000066400000000000000000000001721363525634600217640ustar00rootroot00000000000000DELETE LOW_PRIORITY /* */ FROM `test`.users WHERE `id`<3 AND (username="Dan" or username="Paul") ORDER BY id ;sql-parser-4.6.1/tests/data/parser/parseDelete.out000066400000000000000000000200241363525634600221630ustar00rootroot00000000000000a:4:{s:5:"query";s:122:"DELETE LOW_PRIORITY /* */ FROM `test`.users WHERE `id`<3 AND (username="Dan" or username="Paul") ORDER BY id ;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:122:"DELETE LOW_PRIORITY /* */ FROM `test`.users WHERE `id`<3 AND (username="Dan" or username="Paul") ORDER BY id ;";s:3:"len";i:122;s:4:"last";i:122;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:38:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"LOW_PRIORITY";s:5:"value";s:12:"LOW_PRIORITY";s:7:"keyword";s:12:"LOW_PRIORITY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:20;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:26;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`test`";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:35;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:42;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:48;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:58;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"<";s:5:"value";s:1:"<";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:62;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:63;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:65;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:69;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:70;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:78;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:""Dan"";s:5:"value";s:3:"Dan";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:79;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"or";s:5:"value";s:2:"OR";s:7:"keyword";s:2:"OR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:85;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:88;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:96;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Paul"";s:5:"value";s:4:"Paul";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:97;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:103;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:104;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:105;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:118;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:121;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:38;s:3:"idx";i:38;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:4:"test";s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:12:"`test`.users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";a:5:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:2:"id";}s:10:"isOperator";b:0;s:4:"expr";s:6:"`id`<3";}i:1;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:2;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:8:"username";i:1;s:3:"Dan";}s:10:"isOperator";b:0;s:4:"expr";s:15:"(username="Dan"";}i:3;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:2:"OR";}i:4;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:8:"username";i:1;s:4:"Paul";}s:10:"isOperator";b:0;s:4:"expr";s:16:"username="Paul")";}}s:5:"order";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:12:"LOW_PRIORITY";}}s:5:"first";i:0;s:4:"last";i:35;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete10.in000066400000000000000000000001071363525634600221230ustar00rootroot00000000000000DELETE QUICK table1, table2.* FROM table1 as t1, table2 as t2 WHERE 1=1sql-parser-4.6.1/tests/data/parser/parseDelete10.out000066400000000000000000000151741363525634600223360ustar00rootroot00000000000000a:4:{s:5:"query";s:71:"DELETE QUICK table1, table2.* FROM table1 as t1, table2 as t2 WHERE 1=1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:71:"DELETE QUICK table1, table2.* FROM table1 as t1, table2 as t2 WHERE 1=1";s:3:"len";i:71;s:4:"last";i:71;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:32:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:35;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:59;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:62;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:68;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:69;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:32;s:3:"idx";i:32;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";s:2:"t2";s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"table1";s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:8:"table2.*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:30;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete11.in000066400000000000000000000001211363525634600221200ustar00rootroot00000000000000DELETE QUICK FROM table1, table2.* USING table1 AS `t1`, table2 AS `t2` WHERE 1=1sql-parser-4.6.1/tests/data/parser/parseDelete11.out000066400000000000000000000157221363525634600223360ustar00rootroot00000000000000a:4:{s:5:"query";s:81:"DELETE QUICK FROM table1, table2.* USING table1 AS `t1`, table2 AS `t2` WHERE 1=1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:81:"DELETE QUICK FROM table1, table2.* USING table1 AS `t1`, table2 AS `t2` WHERE 1=1";s:3:"len";i:81;s:4:"last";i:81;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:34:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:35;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:41;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:48;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:51;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:57;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:64;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t2`";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:67;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:72;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:78;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:79;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:80;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:34;s:3:"idx";i:34;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:6:"table2";s:5:"table";N;s:6:"column";N;s:4:"expr";s:8:"table2.*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"table1";s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"table2";s:4:"expr";s:6:"table2";s:5:"alias";s:2:"t2";s:8:"function";N;s:8:"subquery";N;}}s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:32;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete12.in000066400000000000000000000000561363525634600221300ustar00rootroot00000000000000DELETE QUICK FROM table1 WHERE 1=1 LIMIT 0, 25sql-parser-4.6.1/tests/data/parser/parseDelete12.out000066400000000000000000000106741363525634600223400ustar00rootroot00000000000000a:4:{s:5:"query";s:46:"DELETE QUICK FROM table1 WHERE 1=1 LIMIT 0, 25";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:46:"DELETE QUICK FROM table1 WHERE 1=1 LIMIT 0, 25";s:3:"len";i:46;s:4:"last";i:46;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:35;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:41;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:42;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"25";s:5:"value";i:25;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:44;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";N;s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:0;s:8:"rowCount";i:25;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:19;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete2.in000066400000000000000000000000251363525634600220430ustar00rootroot00000000000000DELETE IGNORE FROM t1sql-parser-4.6.1/tests/data/parser/parseDelete2.out000066400000000000000000000043621363525634600222540ustar00rootroot00000000000000a:4:{s:5:"query";s:21:"DELETE IGNORE FROM t1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:21:"DELETE IGNORE FROM t1";s:3:"len";i:21;s:4:"last";i:21;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:8:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:8;s:3:"idx";i:8;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:6:"IGNORE";}}s:5:"first";i:0;s:4:"last";i:6;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete3.in000066400000000000000000000000371363525634600220470ustar00rootroot00000000000000DELETE IGNORE FROM t1 WHERE 1=1sql-parser-4.6.1/tests/data/parser/parseDelete3.out000066400000000000000000000064271363525634600222610ustar00rootroot00000000000000a:4:{s:5:"query";s:31:"DELETE IGNORE FROM t1 WHERE 1=1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:31:"DELETE IGNORE FROM t1 WHERE 1=1";s:3:"len";i:31;s:4:"last";i:31;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:14:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:14;s:3:"idx";i:14;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:6:"IGNORE";}}s:5:"first";i:0;s:4:"last";i:12;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete4.in000066400000000000000000000000531363525634600220460ustar00rootroot00000000000000DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY idsql-parser-4.6.1/tests/data/parser/parseDelete4.out000066400000000000000000000102631363525634600222530ustar00rootroot00000000000000a:4:{s:5:"query";s:43:"DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:43:"DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id";s:3:"len";i:43;s:4:"last";i:43;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:18:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:32;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:41;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:18;s:3:"idx";i:18;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:6:"IGNORE";}}s:5:"first";i:0;s:4:"last";i:16;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete5.in000066400000000000000000000000661363525634600220530ustar00rootroot00000000000000DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id LIMIT 0,25sql-parser-4.6.1/tests/data/parser/parseDelete5.out000066400000000000000000000122561363525634600222600ustar00rootroot00000000000000a:4:{s:5:"query";s:54:"DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id LIMIT 0,25";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:54:"DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id LIMIT 0,25";s:3:"len";i:54;s:4:"last";i:54;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:24:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:32;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:41;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:44;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:50;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:51;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"25";s:5:"value";i:25;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:52;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:24;s:3:"idx";i:24;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:0;s:8:"rowCount";i:25;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:6:"IGNORE";}}s:5:"first";i:0;s:4:"last";i:22;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete6.in000066400000000000000000000000411363525634600220450ustar00rootroot00000000000000DELETE IGNORE FROM t1 ORDER BY idsql-parser-4.6.1/tests/data/parser/parseDelete6.out000066400000000000000000000062201363525634600222530ustar00rootroot00000000000000a:4:{s:5:"query";s:33:"DELETE IGNORE FROM t1 ORDER BY id";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:33:"DELETE IGNORE FROM t1 ORDER BY id";s:3:"len";i:33;s:4:"last";i:33;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:12:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:12;s:3:"idx";i:12;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:6:"IGNORE";}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete7.in000066400000000000000000000000541363525634600220520ustar00rootroot00000000000000DELETE IGNORE FROM t1 ORDER BY id LIMIT 0,25sql-parser-4.6.1/tests/data/parser/parseDelete7.out000066400000000000000000000102131363525634600222510ustar00rootroot00000000000000a:4:{s:5:"query";s:44:"DELETE IGNORE FROM t1 ORDER BY id LIMIT 0,25";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:44:"DELETE IGNORE FROM t1 ORDER BY id LIMIT 0,25";s:3:"len";i:44;s:4:"last";i:44;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:18:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:40;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"25";s:5:"value";i:25;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:42;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:18;s:3:"idx";i:18;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:0;s:8:"rowCount";i:25;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:6:"IGNORE";}}s:5:"first";i:0;s:4:"last";i:16;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete8.in000066400000000000000000000000411363525634600220470ustar00rootroot00000000000000DELETE IGNORE FROM t1 LIMIT 0, 25sql-parser-4.6.1/tests/data/parser/parseDelete8.out000066400000000000000000000066071363525634600222660ustar00rootroot00000000000000a:4:{s:5:"query";s:33:"DELETE IGNORE FROM t1 LIMIT 0, 25";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:33:"DELETE IGNORE FROM t1 LIMIT 0, 25";s:3:"len";i:33;s:4:"last";i:33;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"25";s:5:"value";i:25;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:31;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:0;s:8:"rowCount";i:25;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;s:6:"IGNORE";}}s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelete9.in000066400000000000000000000000751363525634600220570ustar00rootroot00000000000000DELETE QUICK table1, table2.* FROM table1 as t1, table2 as t2sql-parser-4.6.1/tests/data/parser/parseDelete9.out000066400000000000000000000131311363525634600222550ustar00rootroot00000000000000a:4:{s:5:"query";s:61:"DELETE QUICK table1, table2.* FROM table1 as t1, table2 as t2";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:61:"DELETE QUICK table1, table2.* FROM table1 as t1, table2 as t2";s:3:"len";i:61;s:4:"last";i:61;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:26:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:35;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:59;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:26;s:3:"idx";i:26;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";s:2:"t2";s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"table1";s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:8:"table2.*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:24;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr1.in000066400000000000000000000000431363525634600225130ustar00rootroot00000000000000DELETE QUICK USING table1, table2.*sql-parser-4.6.1/tests/data/parser/parseDeleteErr1.out000066400000000000000000000057261363525634600227310ustar00rootroot00000000000000a:4:{s:5:"query";s:35:"DELETE QUICK USING table1, table2.*";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:35:"DELETE QUICK USING table1, table2.*";s:3:"len";i:35;s:4:"last";i:35;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:25;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:34;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:14;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";N;s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:37;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:37;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr10.in000066400000000000000000000001011363525634600225660ustar00rootroot00000000000000DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt ASC a =1;sql-parser-4.6.1/tests/data/parser/parseDeleteErr10.out000066400000000000000000000153551363525634600230100ustar00rootroot00000000000000a:4:{s:5:"query";s:65:"DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt ASC a =1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:65:"DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt ASC a =1;";s:3:"len";i:65;s:4:"last";i:65;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:33:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"t";s:5:"value";s:1:"t";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:46;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:50;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"tt";s:5:"value";s:2:"tt";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:53;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:60;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:62;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:63;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:64;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:33;s:3:"idx";i:33;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"t1";s:4:"expr";s:2:"t1";s:5:"alias";s:1:"t";s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"t2";s:4:"expr";s:2:"t2";s:5:"alias";s:2:"tt";s:8:"function";N;s:8:"subquery";N;}}s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:24;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:184;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:184;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr11.in000066400000000000000000000000501363525634600225720ustar00rootroot00000000000000DELETE QUICK FROM table1 WHERE a = 1 ASCsql-parser-4.6.1/tests/data/parser/parseDeleteErr11.out000066400000000000000000000100521363525634600227760ustar00rootroot00000000000000a:4:{s:5:"query";s:40:"DELETE QUICK FROM table1 WHERE a = 1 ASC";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:40:"DELETE QUICK FROM table1 WHERE a = 1 ASC";s:3:"len";i:40;s:4:"last";i:40;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:18:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:35;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:37;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:18;s:3:"idx";i:19;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:1:"a";}s:10:"isOperator";b:0;s:4:"expr";s:5:"a = 1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:15;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:121;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:121;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr12.in000066400000000000000000000001121363525634600225720ustar00rootroot00000000000000DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt as ttt WHEE a =1; sql-parser-4.6.1/tests/data/parser/parseDeleteErr12.out000066400000000000000000000175321363525634600230110ustar00rootroot00000000000000a:4:{s:5:"query";s:74:"DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt as ttt WHEE a =1; ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:74:"DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt as ttt WHEE a =1; ";s:3:"len";i:74;s:4:"last";i:74;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:38:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"t";s:5:"value";s:1:"t";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:46;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:50;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"tt";s:5:"value";s:2:"tt";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:53;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ttt";s:5:"value";s:3:"ttt";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:59;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"WHEE";s:5:"value";s:4:"WHEE";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:63;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:68;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:70;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:71;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:72;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:73;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:38;s:3:"idx";i:38;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"t1";s:4:"expr";s:2:"t1";s:5:"alias";s:1:"t";s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"t2";s:4:"expr";s:2:"t2";s:5:"alias";s:2:"tt";s:8:"function";N;s:8:"subquery";N;}}s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:26;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:7:{i:0;a:3:{i:0;s:30:"An alias was previously found.";i:1;r:198;i:2;i:0;}i:1;a:3:{i:0;s:22:"An alias was expected.";i:1;r:191;i:2;i:0;}i:2;a:3:{i:0;s:17:"Unexpected token.";i:1;r:198;i:2;i:0;}i:3;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:198;i:2;i:0;}i:4;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:212;i:2;i:0;}i:5;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:226;i:2;i:0;}i:6;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:247;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr2.in000066400000000000000000000001141363525634600225130ustar00rootroot00000000000000DELETE QUICK table1, table2.* USING table1 AS `t1`, table2 AS `t2` WHERE 1=1sql-parser-4.6.1/tests/data/parser/parseDeleteErr2.out000066400000000000000000000144011363525634600227200ustar00rootroot00000000000000a:4:{s:5:"query";s:76:"DELETE QUICK table1, table2.* USING table1 AS `t1`, table2 AS `t2` WHERE 1=1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:76:"DELETE QUICK table1, table2.* USING table1 AS `t1`, table2 AS `t2` WHERE 1=1";s:3:"len";i:76;s:4:"last";i:76;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:32:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:36;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:43;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:50;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:52;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:59;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t2`";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:62;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:67;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:73;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:74;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:75;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:32;s:3:"idx";i:33;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";N;s:4:"join";N;s:5:"using";N;s:7:"columns";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"table1";s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:8:"table2.*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:86;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:86;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr3.in000066400000000000000000000001051363525634600225140ustar00rootroot00000000000000DELETE QUICK table1, table2.* table1 AS `t1` table2 AS `t2` WHERE 1=1sql-parser-4.6.1/tests/data/parser/parseDeleteErr3.out000066400000000000000000000136741363525634600227340ustar00rootroot00000000000000a:4:{s:5:"query";s:69:"DELETE QUICK table1, table2.* table1 AS `t1` table2 AS `t2` WHERE 1=1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:69:"DELETE QUICK table1, table2.* table1 AS `t1` table2 AS `t2` WHERE 1=1";s:3:"len";i:69;s:4:"last";i:69;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:29:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:27;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:40;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t2`";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:55;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:60;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:66;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:67;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:68;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:29;s:3:"idx";i:30;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";N;s:4:"join";N;s:5:"using";N;s:7:"columns";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"table1";s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:15:"table2.* table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}}s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:16;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:30:"An alias was previously found.";i:1;r:128;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:128;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:128;i:2;i:0;}i:3;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:142;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr4.in000066400000000000000000000001401363525634600225140ustar00rootroot00000000000000DELETE QUICK FROM table1, table2.* table1 AS `t1` USING table2 AS `t2` WHERE 1=1 ORDER BY id ASCsql-parser-4.6.1/tests/data/parser/parseDeleteErr4.out000066400000000000000000000173661363525634600227370ustar00rootroot00000000000000a:4:{s:5:"query";s:96:"DELETE QUICK FROM table1, table2.* table1 AS `t1` USING table2 AS `t2` WHERE 1=1 ORDER BY id ASC";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:96:"DELETE QUICK FROM table1, table2.* table1 AS `t1` USING table2 AS `t2` WHERE 1=1 ORDER BY id ASC";s:3:"len";i:96;s:4:"last";i:96;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:39:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:35;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:50;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:63;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t2`";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:66;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:71;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:77;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:78;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:79;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:81;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:90;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:93;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:39;s:3:"idx";i:40;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:6:"table2";s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"table2.* table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"table2";s:4:"expr";s:6:"table2";s:5:"alias";s:2:"t2";s:8:"function";N;s:8:"subquery";N;}}s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:32;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:56:"This type of clause is not valid in Multi-table queries.";i:1;r:240;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:240;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr5.in000066400000000000000000000000741363525634600225230ustar00rootroot00000000000000DELETE QUICK FROM table1 WHERE 1=1 ORDER BY id ASC WHERE 1=1sql-parser-4.6.1/tests/data/parser/parseDeleteErr5.out000066400000000000000000000130461363525634600227270ustar00rootroot00000000000000a:4:{s:5:"query";s:60:"DELETE QUICK FROM table1 WHERE 1=1 ORDER BY id ASC WHERE 1=1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:60:"DELETE QUICK FROM table1 WHERE 1=1 ORDER BY id ASC WHERE 1=1";s:3:"len";i:60;s:4:"last";i:60;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:26:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:35;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:51;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:57;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:58;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:59;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:26;s:3:"idx";i:27;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:19;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:149;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:149;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr6.in000066400000000000000000000001341363525634600225210ustar00rootroot00000000000000DELETE QUICK FROM table1, table2.* table1 AS `t1` USING table2 AS `t2` WHERE 1=1 LIMIT 0, 25sql-parser-4.6.1/tests/data/parser/parseDeleteErr6.out000066400000000000000000000175501363525634600227340ustar00rootroot00000000000000a:4:{s:5:"query";s:92:"DELETE QUICK FROM table1, table2.* table1 AS `t1` USING table2 AS `t2` WHERE 1=1 LIMIT 0, 25";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:92:"DELETE QUICK FROM table1, table2.* table1 AS `t1` USING table2 AS `t2` WHERE 1=1 LIMIT 0, 25";s:3:"len";i:92;s:4:"last";i:92;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:40:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:35;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:50;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:63;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t2`";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:66;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:71;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:77;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:78;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:79;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:81;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"25";s:5:"value";i:25;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:90;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:40;s:3:"idx";i:41;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:6:"table2";s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"table2.* table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:6:"table2";s:4:"expr";s:6:"table2";s:5:"alias";s:2:"t2";s:8:"function";N;s:8:"subquery";N;}}s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:32;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:56:"This type of clause is not valid in Multi-table queries.";i:1;r:240;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:240;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr7.in000066400000000000000000000000721363525634600225230ustar00rootroot00000000000000DELETE QUICK FROM table1 WHERE a = 1 ORDER BY id ASC WHEREsql-parser-4.6.1/tests/data/parser/parseDeleteErr7.out000066400000000000000000000124201363525634600227240ustar00rootroot00000000000000a:4:{s:5:"query";s:58:"DELETE QUICK FROM table1 WHERE a = 1 ORDER BY id ASC WHERE";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:58:"DELETE QUICK FROM table1 WHERE a = 1 ORDER BY id ASC WHERE";s:3:"len";i:58;s:4:"last";i:58;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:24:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:35;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:37;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:46;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:53;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:24;s:3:"idx";i:25;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:1:"a";}s:10:"isOperator";b:0;s:4:"expr";s:5:"a = 1";}}s:5:"order";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:21;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:163;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:163;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr8.in000066400000000000000000000000341363525634600225220ustar00rootroot00000000000000DELETE QUICK FROM table1 ASCsql-parser-4.6.1/tests/data/parser/parseDeleteErr8.out000066400000000000000000000053021363525634600227260ustar00rootroot00000000000000a:4:{s:5:"query";s:28:"DELETE QUICK FROM table1 ASC";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:28:"DELETE QUICK FROM table1 ASC";s:3:"len";i:28;s:4:"last";i:28;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";N;s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:7;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:65;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:65;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteErr9.in000066400000000000000000000001021363525634600225170ustar00rootroot00000000000000DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt WHEE a =1;sql-parser-4.6.1/tests/data/parser/parseDeleteErr9.out000066400000000000000000000157071363525634600227410ustar00rootroot00000000000000a:4:{s:5:"query";s:66:"DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt WHEE a =1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:66:"DELETE QUICK FROM table1, table2 USING t1 as t,t2 as tt WHEE a =1;";s:3:"len";i:66;s:4:"last";i:66;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:33:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"QUICK";s:5:"value";s:5:"QUICK";s:7:"keyword";s:5:"QUICK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"USING";s:5:"value";s:5:"USING";s:7:"keyword";s:5:"USING";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"t";s:5:"value";s:1:"t";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:46;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:50;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"tt";s:5:"value";s:2:"tt";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:53;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"WHEE";s:5:"value";s:4:"WHEE";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:56;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:61;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:63;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:64;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:65;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:33;s:3:"idx";i:33;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";N;s:5:"using";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"t1";s:4:"expr";s:2:"t1";s:5:"alias";s:1:"t";s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"t2";s:4:"expr";s:2:"t2";s:5:"alias";s:2:"tt";s:8:"function";N;s:8:"subquery";N;}}s:7:"columns";N;s:9:"partition";N;s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;s:5:"QUICK";}}s:5:"first";i:0;s:4:"last";i:24;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:5:{i:0;a:3:{i:0;s:30:"An alias was previously found.";i:1;r:184;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:184;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:184;i:2;i:0;}i:3;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:198;i:2;i:0;}i:4;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:219;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseDeleteJoin.in000066400000000000000000000001231363525634600226000ustar00rootroot00000000000000DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.idsql-parser-4.6.1/tests/data/parser/parseDeleteJoin.out000066400000000000000000000206111363525634600230050ustar00rootroot00000000000000a:4:{s:5:"query";s:83:"DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:83:"DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id";s:3:"len";i:83;s:4:"last";i:83;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:39:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"DELETE";s:5:"value";s:6:"DELETE";s:7:"keyword";s:6:"DELETE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:11;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:14;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"INNER JOIN";s:5:"value";s:10:"INNER JOIN";s:7:"keyword";s:10:"INNER JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:22;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"INNER JOIN";s:5:"value";s:10:"INNER JOIN";s:7:"keyword";s:10:"INNER JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:36;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t3";s:5:"value";s:2:"t3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:50;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:58;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:59;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:61;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:62;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:64;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:65;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:68;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:72;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:74;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:75;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:77;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t3";s:5:"value";s:2:"t3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:78;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:81;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:39;s:3:"idx";i:39;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\DeleteStatement":11:{s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"join";a:2:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:5:"INNER";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t2";s:6:"column";N;s:4:"expr";s:2:"t2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}i:1;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:5:"INNER";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t3";s:6:"column";N;s:4:"expr";s:2:"t3";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"using";N;s:7:"columns";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"t1";s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"t2";s:4:"expr";s:2:"t2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:9:"partition";N;s:5:"where";a:3:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:2:"t1";i:1;s:2:"id";i:2;s:2:"t2";}s:10:"isOperator";b:0;s:4:"expr";s:11:"t1.id=t2.id";}i:1;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:2;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:2:"t2";i:1;s:2:"id";i:2;s:2:"t3";}s:10:"isOperator";b:0;s:4:"expr";s:11:"t2.id=t3.id";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:37;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDelimiter.in000066400000000000000000000001221363525634600224730ustar00rootroot00000000000000SELECT * FROM foo; DELIMITER $$ SELECT * FROM bar$$ DELIMITER ; SELECT * FROM baz;sql-parser-4.6.1/tests/data/parser/parseDelimiter.out000066400000000000000000000202441363525634600227030ustar00rootroot00000000000000a:4:{s:5:"query";s:82:"SELECT * FROM foo; DELIMITER $$ SELECT * FROM bar$$ DELIMITER ; SELECT * FROM baz;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:82:"SELECT * FROM foo; DELIMITER $$ SELECT * FROM bar$$ DELIMITER ; SELECT * FROM baz;";s:3:"len";i:82;s:4:"last";i:82;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:35:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DELIMITER";s:5:"value";s:9:"DELIMITER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"$$";s:5:"value";s:2:"$$";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:32;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:39;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:41;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:46;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"$$";s:5:"value";s:2:"$$";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DELIMITER";s:5:"value";s:9:"DELIMITER";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:52;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:62;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:64;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"baz";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:78;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:81;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:35;s:3:"idx";i:35;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:3:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:6;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"bar";s:6:"column";N;s:4:"expr";s:3:"bar";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:13;s:4:"last";i:19;}i:2;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"baz";s:6:"column";N;s:4:"expr";s:3:"baz";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:26;s:4:"last";i:32;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDrop.in000066400000000000000000000000431363525634600214630ustar00rootroot00000000000000DROP USER IF EXISTS 'testtest'@'%';sql-parser-4.6.1/tests/data/parser/parseDrop.out000066400000000000000000000046121363525634600216720ustar00rootroot00000000000000a:4:{s:5:"query";s:35:"DROP USER IF EXISTS 'testtest'@'%';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:35:"DROP USER IF EXISTS 'testtest'@'%';";s:3:"len";i:35;s:4:"last";i:35;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DROP";s:5:"value";s:4:"DROP";s:7:"keyword";s:4:"DROP";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"USER";s:5:"value";s:4:"USER";s:7:"keyword";s:4:"USER";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"IF EXISTS";s:5:"value";s:9:"IF EXISTS";s:7:"keyword";s:9:"IF EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"'testtest'@'%'";s:5:"value";s:10:"testtest@%";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:4;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:34;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\DropStatement":5:{s:6:"fields";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"testtest@%";s:6:"column";N;s:4:"expr";s:14:"'testtest'@'%'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:5:"table";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:4:"USER";i:3;s:9:"IF EXISTS";}}s:5:"first";i:0;s:4:"last";i:6;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseDrop2.in000066400000000000000000000000311363525634600215420ustar00rootroot00000000000000DROP USER 'testtest'@'%';sql-parser-4.6.1/tests/data/parser/parseDrop2.out000066400000000000000000000040321363525634600217500ustar00rootroot00000000000000a:4:{s:5:"query";s:25:"DROP USER 'testtest'@'%';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:25:"DROP USER 'testtest'@'%';";s:3:"len";i:25;s:4:"last";i:25;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:7:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DROP";s:5:"value";s:4:"DROP";s:7:"keyword";s:4:"DROP";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"USER";s:5:"value";s:4:"USER";s:7:"keyword";s:4:"USER";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"'testtest'@'%'";s:5:"value";s:10:"testtest@%";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:4;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:24;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:7;s:3:"idx";i:7;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\DropStatement":5:{s:6:"fields";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"testtest@%";s:6:"column";N;s:4:"expr";s:14:"'testtest'@'%'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:5:"table";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:4:"USER";}}s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseExplain.in000066400000000000000000000000331363525634600221560ustar00rootroot00000000000000EXPLAIN SELECT * FROM test;sql-parser-4.6.1/tests/data/parser/parseExplain.out000066400000000000000000000046471363525634600223760ustar00rootroot00000000000000a:4:{s:5:"query";s:27:"EXPLAIN SELECT * FROM test;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:27:"EXPLAIN SELECT * FROM test;";s:3:"len";i:27;s:4:"last";i:27;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"EXPLAIN";s:5:"value";s:7:"EXPLAIN";s:7:"keyword";s:7:"EXPLAIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:15;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ExplainStatement":4:{s:7:"unknown";a:9:{i:0;r:9;i:1;r:16;i:2;r:23;i:3;r:30;i:4;r:37;i:5;r:44;i:6;r:51;i:7;r:58;i:8;r:65;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:9;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseInsert.in000066400000000000000000000002601363525634600220240ustar00rootroot00000000000000INSERT LOW_PRIORITY INTO users(`id`, `username`, `password`) VALUES (1, "Dan", "5d41402abc4b2a76b9719d911017c592"), (2, "Paul", "7d793037a0760186574b0282f2f435e7");sql-parser-4.6.1/tests/data/parser/parseInsert.out000066400000000000000000000204611363525634600222320ustar00rootroot00000000000000a:4:{s:5:"query";s:176:"INSERT LOW_PRIORITY INTO users(`id`, `username`, `password`) VALUES (1, "Dan", "5d41402abc4b2a76b9719d911017c592"), (2, "Paul", "7d793037a0760186574b0282f2f435e7");";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:176:"INSERT LOW_PRIORITY INTO users(`id`, `username`, `password`) VALUES (1, "Dan", "5d41402abc4b2a76b9719d911017c592"), (2, "Paul", "7d793037a0760186574b0282f2f435e7");";s:3:"len";i:176;s:4:"last";i:176;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:41:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"LOW_PRIORITY";s:5:"value";s:12:"LOW_PRIORITY";s:7:"keyword";s:12:"LOW_PRIORITY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:29;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:35;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:39;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`username`";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:51;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"`password`";s:5:"value";s:8:"password";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:53;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:63;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:65;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:76;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:77;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:78;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:""Dan"";s:5:"value";s:3:"Dan";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:80;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:85;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:34:""5d41402abc4b2a76b9719d911017c592"";s:5:"value";s:32:"5d41402abc4b2a76b9719d911017c592";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:87;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:121;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:122;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:123;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:128;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:129;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:130;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Paul"";s:5:"value";s:4:"Paul";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:132;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:138;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:34:""7d793037a0760186574b0282f2f435e7"";s:5:"value";s:32:"7d793037a0760186574b0282f2f435e7";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:140;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:174;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:175;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:41;s:3:"idx";i:41;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:3:{i:0;s:2:"id";i:1;s:8:"username";i:2;s:8:"password";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";a:2:{i:0;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:3:{i:0;s:1:"1";i:1;s:5:""Dan"";i:2;s:34:""5d41402abc4b2a76b9719d911017c592"";}s:6:"values";a:3:{i:0;s:1:"1";i:1;s:3:"Dan";i:2;s:32:"5d41402abc4b2a76b9719d911017c592";}}i:1;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:3:{i:0;s:1:"2";i:1;s:6:""Paul"";i:2;s:34:""7d793037a0760186574b0282f2f435e7"";}s:6:"values";a:3:{i:0;s:1:"2";i:1;s:4:"Paul";i:2;s:32:"7d793037a0760186574b0282f2f435e7";}}}s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:12:"LOW_PRIORITY";}}s:5:"first";i:0;s:4:"last";i:38;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseInsertErr.in000066400000000000000000000000161363525634600224740ustar00rootroot00000000000000INSERT SELECT sql-parser-4.6.1/tests/data/parser/parseInsertErr.out000066400000000000000000000040771363525634600227100ustar00rootroot00000000000000a:4:{s:5:"query";s:14:"INSERT SELECT ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:14:"INSERT SELECT ";s:3:"len";i:14;s:4:"last";i:14;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:2:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";N;s:6:"values";N;s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:1;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:0:{}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:2;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:23;i:2;i:0;}i:1;a:3:{i:0;s:27:"An expression was expected.";i:1;r:37;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseInsertErr2.in000066400000000000000000000000301363525634600225520ustar00rootroot00000000000000INSERT INTO x "string" sql-parser-4.6.1/tests/data/parser/parseInsertErr2.out000066400000000000000000000051761363525634600227730ustar00rootroot00000000000000a:4:{s:5:"query";s:24:"INSERT INTO x "string" ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:24:"INSERT INTO x "string" ";s:3:"len";i:24;s:4:"last";i:24;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"x";s:5:"value";s:1:"x";s:7:"keyword";s:1:"X";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:""string"";s:5:"value";s:6:"string";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"x";s:6:"column";N;s:4:"expr";s:1:"x";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";N;s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:5;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:51;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseInsertIntoErr.in000066400000000000000000000000261363525634600233270ustar00rootroot00000000000000INSERT INTO x INSERT sql-parser-4.6.1/tests/data/parser/parseInsertIntoErr.out000066400000000000000000000055041363525634600235360ustar00rootroot00000000000000a:4:{s:5:"query";s:22:"INSERT INTO x INSERT ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:22:"INSERT INTO x INSERT ";s:3:"len";i:22;s:4:"last";i:22;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"x";s:5:"value";s:1:"x";s:7:"keyword";s:1:"X";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:2:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"x";s:6:"column";N;s:4:"expr";s:1:"x";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";N;s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:5;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";N;s:6:"values";N;s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:6;s:4:"last";i:7;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseInsertIntoSet.in000066400000000000000000000000621363525634600233320ustar00rootroot00000000000000INSERT INTO aa SET = INET6_ATON('::ffff:8.8.8.8')sql-parser-4.6.1/tests/data/parser/parseInsertIntoSet.out000066400000000000000000000071771363525634600235510ustar00rootroot00000000000000a:4:{s:5:"query";s:50:"INSERT INTO aa SET = INET6_ATON('::ffff:8.8.8.8')";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:50:"INSERT INTO aa SET = INET6_ATON('::ffff:8.8.8.8')";s:3:"len";i:50;s:4:"last";i:50;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"aa";s:5:"value";s:2:"aa";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"INET6_ATON";s:5:"value";s:10:"INET6_ATON";s:7:"keyword";s:10:"INET6_ATON";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:22;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"'::ffff:8.8.8.8'";s:5:"value";s:14:"::ffff:8.8.8.8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:49;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"aa";s:6:"column";N;s:4:"expr";s:2:"aa";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";N;s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:0:"";s:5:"value";s:28:"INET6_ATON('::ffff:8.8.8.8')";}}s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseInsertOnDuplicateKey.in000066400000000000000000000001471363525634600246310ustar00rootroot00000000000000INSERT INTO `champs` (`id`,`val`) VALUES (412,'Thresh') ON DUPLICATE KEY UPDATE `id`=412,`val`='Thresh'sql-parser-4.6.1/tests/data/parser/parseInsertOnDuplicateKey.out000066400000000000000000000162461363525634600250410ustar00rootroot00000000000000a:4:{s:5:"query";s:103:"INSERT INTO `champs` (`id`,`val`) VALUES (412,'Thresh') ON DUPLICATE KEY UPDATE `id`=412,`val`='Thresh'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:103:"INSERT INTO `champs` (`id`,`val`) VALUES (412,'Thresh') ON DUPLICATE KEY UPDATE `id`=412,`val`='Thresh'";s:3:"len";i:103;s:4:"last";i:103;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:36:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`champs`";s:5:"value";s:6:"champs";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:26;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`val`";s:5:"value";s:3:"val";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"412";s:5:"value";i:412;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:45;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'Thresh'";s:5:"value";s:6:"Thresh";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:54;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DUPLICATE";s:5:"value";s:9:"DUPLICATE";s:7:"keyword";s:9:"DUPLICATE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:59;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:69;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:80;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:84;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"412";s:5:"value";i:412;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:85;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`val`";s:5:"value";s:3:"val";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:89;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'Thresh'";s:5:"value";s:6:"Thresh";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:36;s:3:"idx";i:36;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"champs";s:6:"column";N;s:4:"expr";s:8:"`champs`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:2:{i:0;s:2:"id";i:1;s:3:"val";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";a:1:{i:0;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:3:"412";i:1;s:8:"'Thresh'";}s:6:"values";a:2:{i:0;s:3:"412";i:1;s:6:"Thresh";}}}s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";a:2:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:4:"`id`";s:5:"value";s:3:"412";}i:1;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:5:"`val`";s:5:"value";s:8:"'Thresh'";}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:34;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseInsertOnDuplicateKeyErr.in000066400000000000000000000001401363525634600252730ustar00rootroot00000000000000INSERT INTO `champs` (`id`,`val`) VALUES (412,'Thresh') ON DUPLICATE KEY `id`=412,`val`='Thresh'sql-parser-4.6.1/tests/data/parser/parseInsertOnDuplicateKeyErr.out000066400000000000000000000157261363525634600255140ustar00rootroot00000000000000a:4:{s:5:"query";s:96:"INSERT INTO `champs` (`id`,`val`) VALUES (412,'Thresh') ON DUPLICATE KEY `id`=412,`val`='Thresh'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:96:"INSERT INTO `champs` (`id`,`val`) VALUES (412,'Thresh') ON DUPLICATE KEY `id`=412,`val`='Thresh'";s:3:"len";i:96;s:4:"last";i:96;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:34:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"`champs`";s:5:"value";s:6:"champs";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:26;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`val`";s:5:"value";s:3:"val";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"412";s:5:"value";i:412;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:45;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'Thresh'";s:5:"value";s:6:"Thresh";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:54;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DUPLICATE";s:5:"value";s:9:"DUPLICATE";s:7:"keyword";s:9:"DUPLICATE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:59;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:69;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:73;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:77;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"412";s:5:"value";i:412;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:78;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:81;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"`val`";s:5:"value";s:3:"val";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:82;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:87;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"'Thresh'";s:5:"value";s:6:"Thresh";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:88;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:34;s:3:"idx";i:34;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"champs";s:6:"column";N;s:4:"expr";s:8:"`champs`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:2:{i:0;s:2:"id";i:1;s:3:"val";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";a:1:{i:0;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:3:"412";i:1;s:8:"'Thresh'";}s:6:"values";a:2:{i:0;s:3:"412";i:1;s:6:"Thresh";}}}s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:25;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:5:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:191;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:191;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:205;i:2;i:0;}i:3;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:219;i:2;i:0;}i:4;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:233;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseInsertSelect.in000066400000000000000000000000651363525634600231670ustar00rootroot00000000000000INSERT INTO `a` (`value`) SELECT `b`.`value` FROM `b`sql-parser-4.6.1/tests/data/parser/parseInsertSelect.out000066400000000000000000000120001363525634600233600ustar00rootroot00000000000000a:4:{s:5:"query";s:53:"INSERT INTO `a` (`value`) SELECT `b`.`value` FROM `b`";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:53:"INSERT INTO `a` (`value`) SELECT `b`.`value` FROM `b`";s:3:"len";i:53;s:4:"last";i:53;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:20:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:16;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:26;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`b`";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:36;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:37;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`b`";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:50;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:20;s:3:"idx";i:20;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:3:"`a`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:5:"value";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";N;s:6:"select";O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"b";s:6:"column";s:5:"value";s:4:"expr";s:11:"`b`.`value`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"b";s:6:"column";N;s:4:"expr";s:3:"`b`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:10;s:4:"last";i:18;}s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:18;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseInsertSelectOnDuplicateKey.in000066400000000000000000000001011363525634600257570ustar00rootroot00000000000000INSERT INTO tbl SELECT * FROM bar ON DUPLICATE KEY UPDATE baz = 1sql-parser-4.6.1/tests/data/parser/parseInsertSelectOnDuplicateKey.out000066400000000000000000000144741363525634600262020ustar00rootroot00000000000000a:4:{s:5:"query";s:65:"INSERT INTO tbl SELECT * FROM bar ON DUPLICATE KEY UPDATE baz = 1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:65:"INSERT INTO tbl SELECT * FROM bar ON DUPLICATE KEY UPDATE baz = 1";s:3:"len";i:65;s:4:"last";i:65;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:28:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"tbl";s:5:"value";s:3:"tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:16;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:34;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DUPLICATE";s:5:"value";s:9:"DUPLICATE";s:7:"keyword";s:9:"DUPLICATE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:37;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:51;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"baz";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:58;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:62;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:64;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:28;s:3:"idx";i:28;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"tbl";s:6:"column";N;s:4:"expr";s:3:"tbl";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";N;s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";N;s:6:"select";O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"bar";s:6:"column";N;s:4:"expr";s:3:"bar";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:6;s:4:"last";i:13;}s:14:"onDuplicateSet";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:3:"baz";s:5:"value";s:1:"1";}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:26;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseInsertSet.in000066400000000000000000000000551363525634600225020ustar00rootroot00000000000000INSERT INTO `a` (`value`) SET `value` = '123'sql-parser-4.6.1/tests/data/parser/parseInsertSet.out000066400000000000000000000100201363525634600226740ustar00rootroot00000000000000a:4:{s:5:"query";s:45:"INSERT INTO `a` (`value`) SET `value` = '123'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:45:"INSERT INTO `a` (`value`) SET `value` = '123'";s:3:"len";i:45;s:4:"last";i:45;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:18:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:16;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:26;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'123'";s:5:"value";s:3:"123";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:40;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:18;s:3:"idx";i:18;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:3:"`a`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:5:"value";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:7:"`value`";s:5:"value";s:5:"'123'";}}s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:16;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseInsertSetOnDuplicateKey.in000066400000000000000000000001261363525634600253020ustar00rootroot00000000000000INSERT INTO `a` (`value`) SET `value` = '123' ON DUPLICATE KEY UPDATE `value` = '1234'sql-parser-4.6.1/tests/data/parser/parseInsertSetOnDuplicateKey.out000066400000000000000000000145451363525634600255150ustar00rootroot00000000000000a:4:{s:5:"query";s:86:"INSERT INTO `a` (`value`) SET `value` = '123' ON DUPLICATE KEY UPDATE `value` = '1234'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:86:"INSERT INTO `a` (`value`) SET `value` = '123' ON DUPLICATE KEY UPDATE `value` = '1234'";s:3:"len";i:86;s:4:"last";i:86;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:32:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:16;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:26;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'123'";s:5:"value";s:3:"123";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:40;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:46;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"DUPLICATE";s:5:"value";s:9:"DUPLICATE";s:7:"keyword";s:9:"DUPLICATE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:49;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:59;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:63;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:70;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:78;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'1234'";s:5:"value";s:4:"1234";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:80;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:32;s:3:"idx";i:32;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:3:"`a`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:5:"value";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:7:"`value`";s:5:"value";s:5:"'123'";}}s:6:"select";N;s:14:"onDuplicateSet";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:7:"`value`";s:5:"value";s:6:"'1234'";}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:30;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLimitErr1.in000066400000000000000000000000531363525634600223700ustar00rootroot00000000000000SELECT * FROM test LIMIT 1 OFFSET OFFSET 2;sql-parser-4.6.1/tests/data/parser/parseLimitErr1.out000066400000000000000000000105171363525634600225770ustar00rootroot00000000000000a:4:{s:5:"query";s:43:"SELECT * FROM test LIMIT 1 OFFSET OFFSET 2;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:43:"SELECT * FROM test LIMIT 1 OFFSET OFFSET 2;";s:3:"len";i:43;s:4:"last";i:43;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:19:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:25;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"OFFSET";s:5:"value";s:6:"OFFSET";s:7:"keyword";s:6:"OFFSET";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:27;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"OFFSET";s:5:"value";s:6:"OFFSET";s:7:"keyword";s:6:"OFFSET";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:34;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:41;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:42;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:19;s:3:"idx";i:19;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:2;s:8:"rowCount";i:1;}s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:16;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:23:"An offset was expected.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLimitErr2.in000066400000000000000000000000411363525634600223660ustar00rootroot00000000000000SELECT * FROM test LIMIT 1 OFFSETsql-parser-4.6.1/tests/data/parser/parseLimitErr2.out000066400000000000000000000070731363525634600226030ustar00rootroot00000000000000a:4:{s:5:"query";s:33:"SELECT * FROM test LIMIT 1 OFFSET";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:33:"SELECT * FROM test LIMIT 1 OFFSET";s:3:"len";i:33;s:4:"last";i:33;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:14:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:25;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"OFFSET";s:5:"value";s:6:"OFFSET";s:7:"keyword";s:6:"OFFSET";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:27;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:14;s:3:"idx";i:14;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:0;s:8:"rowCount";i:1;}s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:12;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:23:"An offset was expected.";i:1;r:93;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLoad1.in000066400000000000000000000001001363525634600215110ustar00rootroot00000000000000LOAD DATA CONCURRENT INFILE 'employee1.txt' INTO TABLE employee;sql-parser-4.6.1/tests/data/parser/parseLoad1.out000066400000000000000000000074551363525634600217360ustar00rootroot00000000000000a:4:{s:5:"query";s:64:"LOAD DATA CONCURRENT INFILE 'employee1.txt' INTO TABLE employee;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:64:"LOAD DATA CONCURRENT INFILE 'employee1.txt' INTO TABLE employee;";s:3:"len";i:64;s:4:"last";i:64;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CONCURRENT";s:5:"value";s:10:"CONCURRENT";s:7:"keyword";s:10:"CONCURRENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'employee1.txt'";s:5:"value";s:13:"employee1.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:28;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:44;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:49;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"employee";s:5:"value";s:8:"employee";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:55;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:63;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'employee1.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"employee1.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"employee";s:6:"column";N;s:4:"expr";s:8:"employee";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";N;s:14:"replace_ignore";N;s:10:"lines_rows";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:10:"CONCURRENT";}}s:5:"first";i:0;s:4:"last";i:12;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLoad2.in000066400000000000000000000001311363525634600215160ustar00rootroot00000000000000LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test FIELDS TERMINATED BY ',' IGNORE 1 LINES;sql-parser-4.6.1/tests/data/parser/parseLoad2.out000066400000000000000000000135471363525634600217360ustar00rootroot00000000000000a:4:{s:5:"query";s:89:"LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test FIELDS TERMINATED BY ',' IGNORE 1 LINES;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:89:"LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test FIELDS TERMINATED BY ',' IGNORE 1 LINES;";s:3:"len";i:89;s:4:"last";i:89;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:25:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'/tmp/test.txt'";s:5:"value";s:13:"/tmp/test.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:38;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:44;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"FIELDS";s:5:"value";s:6:"FIELDS";s:7:"keyword";s:6:"FIELDS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:49;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:56;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"','";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:70;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:73;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:74;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:81;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LINES";s:5:"value";s:5:"LINES";s:7:"keyword";s:5:"LINES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:83;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:88;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:25;s:3:"idx";i:25;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'/tmp/test.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"/tmp/test.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:",";s:4:"expr";s:3:"','";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"','";}}}s:14:"fields_keyword";s:6:"FIELDS";s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:14:"replace_ignore";N;s:10:"lines_rows";s:5:"LINES";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:23;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLoad3.in000066400000000000000000000001361363525634600215240ustar00rootroot00000000000000LOAD DATA INFILE 'employee3.txt' INTO TABLE employee FIELDS TERMINATED BY ',' ENCLOSED BY '"';sql-parser-4.6.1/tests/data/parser/parseLoad3.out000066400000000000000000000132651363525634600217340ustar00rootroot00000000000000a:4:{s:5:"query";s:94:"LOAD DATA INFILE 'employee3.txt' INTO TABLE employee FIELDS TERMINATED BY ',' ENCLOSED BY '"';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:94:"LOAD DATA INFILE 'employee3.txt' INTO TABLE employee FIELDS TERMINATED BY ',' ENCLOSED BY '"';";s:3:"len";i:94;s:4:"last";i:94;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:23:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'employee3.txt'";s:5:"value";s:13:"employee3.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:38;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"employee";s:5:"value";s:8:"employee";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:44;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"FIELDS";s:5:"value";s:6:"FIELDS";s:7:"keyword";s:6:"FIELDS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:53;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:60;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:73;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"','";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:74;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:77;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"ENCLOSED BY";s:5:"value";s:11:"ENCLOSED BY";s:7:"keyword";s:11:"ENCLOSED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:78;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"'"'";s:5:"value";s:1:""";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:90;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:93;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:23;s:3:"idx";i:23;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'employee3.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"employee3.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"employee";s:6:"column";N;s:4:"expr";s:8:"employee";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:",";s:4:"expr";s:3:"','";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"','";}i:3;a:4:{s:4:"name";s:11:"ENCLOSED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:""";s:4:"expr";s:3:"'"'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"'"'";}}}s:14:"fields_keyword";s:6:"FIELDS";s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";N;s:14:"replace_ignore";N;s:10:"lines_rows";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:20;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLoad4.in000066400000000000000000000002461363525634600215270ustar00rootroot00000000000000LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test CHARACTER SET 'utf8' COLUMNS TERMINATED BY ',' LINES TERMINATED BY ';' IGNORE 1 LINES (col1, col2) SET @a = 1;sql-parser-4.6.1/tests/data/parser/parseLoad4.out000066400000000000000000000257231363525634600217370ustar00rootroot00000000000000a:4:{s:5:"query";s:166:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test CHARACTER SET 'utf8' COLUMNS TERMINATED BY ',' LINES TERMINATED BY ';' IGNORE 1 LINES (col1, col2) SET @a = 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:166:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test CHARACTER SET 'utf8' COLUMNS TERMINATED BY ',' LINES TERMINATED BY ';' IGNORE 1 LINES (col1, col2) SET @a = 1;";s:3:"len";i:166;s:4:"last";i:166;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:52:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'/tmp/test.txt'";s:5:"value";s:13:"/tmp/test.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"CHARACTER SET";s:5:"value";s:13:"CHARACTER SET";s:7:"keyword";s:13:"CHARACTER SET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:56;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:70;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COLUMNS";s:5:"value";s:7:"COLUMNS";s:7:"keyword";s:7:"COLUMNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:77;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:85;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"','";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:99;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LINES";s:5:"value";s:5:"LINES";s:7:"keyword";s:5:"LINES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:103;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:108;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:109;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"';'";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:123;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:126;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:127;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:133;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:134;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:135;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LINES";s:5:"value";s:5:"LINES";s:7:"keyword";s:5:"LINES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:136;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:141;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:142;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"col1";s:5:"value";s:4:"col1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:143;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:147;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"col2";s:5:"value";s:4:"col2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:149;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:153;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:154;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:155;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:158;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:159;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:161;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:162;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:163;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:164;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:165;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:52;s:3:"idx";i:52;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'/tmp/test.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"/tmp/test.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";N;s:12:"charset_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"utf8";s:4:"expr";s:6:"'utf8'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:14:"fields_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:",";s:4:"expr";s:3:"','";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"','";}}}s:14:"fields_keyword";s:7:"COLUMNS";s:13:"lines_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:";";s:4:"expr";s:3:"';'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"';'";}}}s:20:"col_name_or_user_var";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:12:"(col1, col2)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:3:"set";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:2:"@a";s:5:"value";s:1:"1";}}s:13:"ignore_number";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:14:"replace_ignore";s:6:"IGNORE";s:10:"lines_rows";s:5:"LINES";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:49;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLoad5.in000066400000000000000000000001421363525634600215230ustar00rootroot00000000000000LOAD DATA INFILE '/tmp/test.txt' REPLACE INTO TABLE test COLUMNS TERMINATED BY ',' IGNORE 1 ROWS;sql-parser-4.6.1/tests/data/parser/parseLoad5.out000066400000000000000000000143131363525634600217310ustar00rootroot00000000000000a:4:{s:5:"query";s:98:"LOAD DATA INFILE '/tmp/test.txt' REPLACE INTO TABLE test COLUMNS TERMINATED BY ',' IGNORE 1 ROWS;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:98:"LOAD DATA INFILE '/tmp/test.txt' REPLACE INTO TABLE test COLUMNS TERMINATED BY ',' IGNORE 1 ROWS;";s:3:"len";i:98;s:4:"last";i:98;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:27:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'/tmp/test.txt'";s:5:"value";s:13:"/tmp/test.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:34;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:47;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:53;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COLUMNS";s:5:"value";s:7:"COLUMNS";s:7:"keyword";s:7:"COLUMNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:58;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:66;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"','";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:80;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:83;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:84;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:91;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"ROWS";s:5:"value";s:4:"ROWS";s:7:"keyword";s:4:"ROWS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:93;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:97;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:27;s:3:"idx";i:27;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'/tmp/test.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"/tmp/test.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:",";s:4:"expr";s:3:"','";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"','";}}}s:14:"fields_keyword";s:7:"COLUMNS";s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:14:"replace_ignore";s:7:"REPLACE";s:10:"lines_rows";s:4:"ROWS";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:25;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLoad6.in000066400000000000000000000002751363525634600215330ustar00rootroot00000000000000LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test PARTITION (p0, p1, p2) CHARACTER SET 'utf8' COLUMNS TERMINATED BY ',' LINES TERMINATED BY ';' IGNORE 1 LINES (col1, col2) SET @a = 1;sql-parser-4.6.1/tests/data/parser/parseLoad6.out000066400000000000000000000317311363525634600217350ustar00rootroot00000000000000a:4:{s:5:"query";s:189:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test PARTITION (p0, p1, p2) CHARACTER SET 'utf8' COLUMNS TERMINATED BY ',' LINES TERMINATED BY ';' IGNORE 1 LINES (col1, col2) SET @a = 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:189:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test PARTITION (p0, p1, p2) CHARACTER SET 'utf8' COLUMNS TERMINATED BY ',' LINES TERMINATED BY ';' IGNORE 1 LINES (col1, col2) SET @a = 1;";s:3:"len";i:189;s:4:"last";i:189;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:64:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'/tmp/test.txt'";s:5:"value";s:13:"/tmp/test.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:66;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p0";s:5:"value";s:2:"p0";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:67;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:73;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p2";s:5:"value";s:2:"p2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:77;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"CHARACTER SET";s:5:"value";s:13:"CHARACTER SET";s:7:"keyword";s:13:"CHARACTER SET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:79;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:93;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COLUMNS";s:5:"value";s:7:"COLUMNS";s:7:"keyword";s:7:"COLUMNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:100;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:108;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:121;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"','";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:122;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LINES";s:5:"value";s:5:"LINES";s:7:"keyword";s:5:"LINES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:126;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:132;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"';'";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:146;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:149;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:150;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:156;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:157;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:158;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LINES";s:5:"value";s:5:"LINES";s:7:"keyword";s:5:"LINES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:159;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:164;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:165;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"col1";s:5:"value";s:4:"col1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:166;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:170;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:171;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"col2";s:5:"value";s:4:"col2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:172;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:176;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:177;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:178;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:181;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:182;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:184;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:185;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:186;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:187;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:188;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:64;s:3:"idx";i:64;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'/tmp/test.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"/tmp/test.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:3:{i:0;s:2:"p0";i:1;s:2:"p1";i:2;s:2:"p2";}s:6:"values";a:3:{i:0;s:2:"p0";i:1;s:2:"p1";i:2;s:2:"p2";}}s:12:"charset_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"utf8";s:4:"expr";s:6:"'utf8'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:14:"fields_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:",";s:4:"expr";s:3:"','";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"','";}}}s:14:"fields_keyword";s:7:"COLUMNS";s:13:"lines_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:";";s:4:"expr";s:3:"';'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"';'";}}}s:20:"col_name_or_user_var";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:12:"(col1, col2)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:3:"set";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:2:"@a";s:5:"value";s:1:"1";}}s:13:"ignore_number";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:14:"replace_ignore";s:6:"IGNORE";s:10:"lines_rows";s:5:"LINES";s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:61;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLoadErr1.in000066400000000000000000000000761363525634600221760ustar00rootroot00000000000000LOAD DATA CONCURRENT FROM 'employee1.txt' INTO TABLE employee;sql-parser-4.6.1/tests/data/parser/parseLoadErr1.out000066400000000000000000000070221363525634600223750ustar00rootroot00000000000000a:4:{s:5:"query";s:62:"LOAD DATA CONCURRENT FROM 'employee1.txt' INTO TABLE employee;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:62:"LOAD DATA CONCURRENT FROM 'employee1.txt' INTO TABLE employee;";s:3:"len";i:62;s:4:"last";i:62;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CONCURRENT";s:5:"value";s:10:"CONCURRENT";s:7:"keyword";s:10:"CONCURRENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'employee1.txt'";s:5:"value";s:13:"employee1.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:26;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:47;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"employee";s:5:"value";s:8:"employee";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:53;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:61;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";N;s:5:"table";N;s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";N;s:14:"replace_ignore";N;s:10:"lines_rows";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:10:"CONCURRENT";}}s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:37;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:37;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLoadErr2.in000066400000000000000000000000751363525634600221760ustar00rootroot00000000000000LOAD DATA CONCURRENT ABC 'employee1.txt' INTO TABLE employee;sql-parser-4.6.1/tests/data/parser/parseLoadErr2.out000066400000000000000000000072251363525634600224030ustar00rootroot00000000000000a:4:{s:5:"query";s:61:"LOAD DATA CONCURRENT ABC 'employee1.txt' INTO TABLE employee;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:61:"LOAD DATA CONCURRENT ABC 'employee1.txt' INTO TABLE employee;";s:3:"len";i:61;s:4:"last";i:61;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CONCURRENT";s:5:"value";s:10:"CONCURRENT";s:7:"keyword";s:10:"CONCURRENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ABC";s:5:"value";s:3:"ABC";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:21;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'employee1.txt'";s:5:"value";s:13:"employee1.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:25;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:41;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:46;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"employee";s:5:"value";s:8:"employee";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:52;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:60;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";N;s:5:"table";N;s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";N;s:14:"replace_ignore";N;s:10:"lines_rows";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:10:"CONCURRENT";}}s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:37;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:37;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:51;i:2;i:0;}i:3;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:65;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLoadErr3.in000066400000000000000000000001041363525634600221700ustar00rootroot00000000000000LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test DATA @a = 1;sql-parser-4.6.1/tests/data/parser/parseLoadErr3.out000066400000000000000000000120131363525634600223730ustar00rootroot00000000000000a:4:{s:5:"query";s:68:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test DATA @a = 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:68:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test DATA @a = 1;";s:3:"len";i:68;s:4:"last";i:68;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:23:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'/tmp/test.txt'";s:5:"value";s:13:"/tmp/test.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DATA";s:5:"value";s:4:"DATA";s:7:"keyword";s:4:"DATA";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:56;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:61;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:64;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:66;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:67;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:23;s:3:"idx";i:23;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'/tmp/test.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"/tmp/test.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";N;s:14:"replace_ignore";s:6:"IGNORE";s:10:"lines_rows";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLoadErr4.in000066400000000000000000000000761363525634600222010ustar00rootroot00000000000000LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO test DATA @a = 1;sql-parser-4.6.1/tests/data/parser/parseLoadErr4.out000066400000000000000000000112171363525634600224010ustar00rootroot00000000000000a:4:{s:5:"query";s:62:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO test DATA @a = 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:62:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO test DATA @a = 1;";s:3:"len";i:62;s:4:"last";i:62;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'/tmp/test.txt'";s:5:"value";s:13:"/tmp/test.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DATA";s:5:"value";s:4:"DATA";s:7:"keyword";s:4:"DATA";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:50;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:55;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:58;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:60;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:61;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'/tmp/test.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"/tmp/test.txt";}s:5:"table";N;s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";N;s:14:"replace_ignore";s:6:"IGNORE";s:10:"lines_rows";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:9;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:3:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:79;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:79;i:2;i:0;}i:2;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:93;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLoadErr5.in000066400000000000000000000000771363525634600222030ustar00rootroot00000000000000LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test @a = 1;sql-parser-4.6.1/tests/data/parser/parseLoadErr5.out000066400000000000000000000115171363525634600224050ustar00rootroot00000000000000a:4:{s:5:"query";s:63:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test @a = 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:63:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test @a = 1;";s:3:"len";i:63;s:4:"last";i:63;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'/tmp/test.txt'";s:5:"value";s:13:"/tmp/test.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:56;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:59;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:61;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:62;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'/tmp/test.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"/tmp/test.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";N;s:14:"replace_ignore";s:6:"IGNORE";s:10:"lines_rows";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:3:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:107;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:107;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:135;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLoadErr6.in000066400000000000000000000001041363525634600221730ustar00rootroot00000000000000LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test DATA @a = 1;sql-parser-4.6.1/tests/data/parser/parseLoadErr6.out000066400000000000000000000120131363525634600223760ustar00rootroot00000000000000a:4:{s:5:"query";s:68:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test DATA @a = 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:68:"LOAD DATA INFILE '/tmp/test.txt' IGNORE INTO TABLE test DATA @a = 1;";s:3:"len";i:68;s:4:"last";i:68;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:23:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LOAD DATA";s:5:"value";s:9:"LOAD DATA";s:7:"keyword";s:9:"LOAD DATA";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INFILE";s:5:"value";s:6:"INFILE";s:7:"keyword";s:6:"INFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'/tmp/test.txt'";s:5:"value";s:13:"/tmp/test.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DATA";s:5:"value";s:4:"DATA";s:7:"keyword";s:4:"DATA";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:56;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:61;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:64;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:66;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:67;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:23;s:3:"idx";i:23;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LoadStatement":15:{s:9:"file_name";O:42:"PhpMyAdmin\SqlParser\Components\Expression":8:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"'/tmp/test.txt'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;s:4:"file";s:13:"/tmp/test.txt";}s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:9:"partition";N;s:12:"charset_name";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;s:20:"col_name_or_user_var";N;s:3:"set";N;s:13:"ignore_number";N;s:14:"replace_ignore";s:6:"IGNORE";s:10:"lines_rows";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLock1.in000066400000000000000000000000531363525634600215310ustar00rootroot00000000000000LOCK TABLES table1 AS `t1` READ LOCAL;sql-parser-4.6.1/tests/data/parser/parseLock1.out000066400000000000000000000064401363525634600217400ustar00rootroot00000000000000a:4:{s:5:"query";s:43:"LOCK TABLES table1 AS `t1` READ LOCAL;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:43:"LOCK TABLES table1 AS `t1` READ LOCAL;";s:3:"len";i:43;s:4:"last";i:43;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LOCAL";s:5:"value";s:5:"LOCAL";s:7:"keyword";s:5:"LOCAL";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:37;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:42;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:10:"READ LOCAL";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLock2.in000066400000000000000000000000401363525634600215260ustar00rootroot00000000000000LOCK TABLES table1 AS `t1` READ;sql-parser-4.6.1/tests/data/parser/parseLock2.out000066400000000000000000000057001363525634600217370ustar00rootroot00000000000000a:4:{s:5:"query";s:32:"LOCK TABLES table1 AS `t1` READ;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:32:"LOCK TABLES table1 AS `t1` READ;";s:3:"len";i:32;s:4:"last";i:32;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:13;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:4:"READ";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:11;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLock3.in000066400000000000000000000000561363525634600215360ustar00rootroot00000000000000LOCK TABLES table1 AS `t1` LOW_PRIORITY WRITE;sql-parser-4.6.1/tests/data/parser/parseLock3.out000066400000000000000000000065041363525634600217430ustar00rootroot00000000000000a:4:{s:5:"query";s:46:"LOCK TABLES table1 AS `t1` LOW_PRIORITY WRITE;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:46:"LOCK TABLES table1 AS `t1` LOW_PRIORITY WRITE;";s:3:"len";i:46;s:4:"last";i:46;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"LOW_PRIORITY";s:5:"value";s:12:"LOW_PRIORITY";s:7:"keyword";s:12:"LOW_PRIORITY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WRITE";s:5:"value";s:5:"WRITE";s:7:"keyword";s:5:"WRITE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:18:"LOW_PRIORITY WRITE";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLock4.in000066400000000000000000000000411363525634600215310ustar00rootroot00000000000000LOCK TABLES table1 AS `t1` WRITE;sql-parser-4.6.1/tests/data/parser/parseLock4.out000066400000000000000000000057061363525634600217470ustar00rootroot00000000000000a:4:{s:5:"query";s:33:"LOCK TABLES table1 AS `t1` WRITE;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:33:"LOCK TABLES table1 AS `t1` WRITE;";s:3:"len";i:33;s:4:"last";i:33;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WRITE";s:5:"value";s:5:"WRITE";s:7:"keyword";s:5:"WRITE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:13;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:5:"WRITE";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:11;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLock5.in000066400000000000000000000000741363525634600215400ustar00rootroot00000000000000LOCK TABLES table1 AS `t1` READ LOCAL, table2 AS `t2` WRITE;sql-parser-4.6.1/tests/data/parser/parseLock5.out000066400000000000000000000117141363525634600217440ustar00rootroot00000000000000a:4:{s:5:"query";s:60:"LOCK TABLES table1 AS `t1` READ LOCAL, table2 AS `t2` WRITE;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:60:"LOCK TABLES table1 AS `t1` READ LOCAL, table2 AS `t2` WRITE;";s:3:"len";i:60;s:4:"last";i:60;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:24:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LOCAL";s:5:"value";s:5:"LOCAL";s:7:"keyword";s:5:"LOCAL";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:32;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t2`";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:49;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WRITE";s:5:"value";s:5:"WRITE";s:7:"keyword";s:5:"WRITE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:54;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:59;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:24;s:3:"idx";i:24;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:2:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:10:"READ LOCAL";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";s:2:"t2";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:5:"WRITE";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:22;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLock6.in000066400000000000000000000000641363525634600215400ustar00rootroot00000000000000LOCK TABLES table1 READ LOCAL, table2 AS `t2` WRITE;sql-parser-4.6.1/tests/data/parser/parseLock6.out000066400000000000000000000105201363525634600217370ustar00rootroot00000000000000a:4:{s:5:"query";s:52:"LOCK TABLES table1 READ LOCAL, table2 AS `t2` WRITE;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:52:"LOCK TABLES table1 READ LOCAL, table2 AS `t2` WRITE;";s:3:"len";i:52;s:4:"last";i:52;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:20:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LOCAL";s:5:"value";s:5:"LOCAL";s:7:"keyword";s:5:"LOCAL";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:29;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:38;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t2`";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:41;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WRITE";s:5:"value";s:5:"WRITE";s:7:"keyword";s:5:"WRITE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:51;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:20;s:3:"idx";i:20;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:2:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:10:"READ LOCAL";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";s:2:"t2";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:5:"WRITE";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:18;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseLockErr1.in000066400000000000000000000000221363525634600221760ustar00rootroot00000000000000LOCK TABLES table1sql-parser-4.6.1/tests/data/parser/parseLockErr1.out000066400000000000000000000036471363525634600224170ustar00rootroot00000000000000a:4:{s:5:"query";s:18:"LOCK TABLES table1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:18:"LOCK TABLES table1";s:3:"len";i:18;s:4:"last";i:18;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:6;s:3:"idx";i:6;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";N;}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:5;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:34:"Unexpected end of LOCK expression.";i:1;r:37;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr10.in000066400000000000000000000000631363525634600222630ustar00rootroot00000000000000LOCK TABLES table1 AS table1 LOW_PRIORITY WRITE abcsql-parser-4.6.1/tests/data/parser/parseLockErr10.out000066400000000000000000000070531363525634600224720ustar00rootroot00000000000000a:4:{s:5:"query";s:51:"LOCK TABLES table1 AS table1 LOW_PRIORITY WRITE abc";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:51:"LOCK TABLES table1 AS table1 LOW_PRIORITY WRITE abc";s:3:"len";i:51;s:4:"last";i:51;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:16:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"LOW_PRIORITY";s:5:"value";s:12:"LOW_PRIORITY";s:7:"keyword";s:12:"LOW_PRIORITY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WRITE";s:5:"value";s:5:"WRITE";s:7:"keyword";s:5:"WRITE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"abc";s:5:"value";s:3:"abc";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:48;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:16;s:3:"idx";i:16;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:6:"table1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:18:"LOW_PRIORITY WRITE";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:15;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr2.in000066400000000000000000000000401363525634600221770ustar00rootroot00000000000000LOCK TABLES table1 AS `t1` LOCALsql-parser-4.6.1/tests/data/parser/parseLockErr2.out000066400000000000000000000056511363525634600224150ustar00rootroot00000000000000a:4:{s:5:"query";s:32:"LOCK TABLES table1 AS `t1` LOCAL";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:32:"LOCK TABLES table1 AS `t1` LOCAL";s:3:"len";i:32;s:4:"last";i:32;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:12:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`t1`";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LOCAL";s:5:"value";s:5:"LOCAL";s:7:"keyword";s:5:"LOCAL";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:12;s:3:"idx";i:12;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:0:"";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:11;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:79;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected end of Lock expression.";i:1;N;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr3.in000066400000000000000000000000611363525634600222030ustar00rootroot00000000000000-- TABLES misspelled LOCK TABLE table1 AS t1 READsql-parser-4.6.1/tests/data/parser/parseLockErr3.out000066400000000000000000000061041363525634600224100ustar00rootroot00000000000000a:4:{s:5:"query";s:49:"-- TABLES misspelled LOCK TABLE table1 AS t1 READ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:49:"-- TABLES misspelled LOCK TABLE table1 AS t1 READ";s:3:"len";i:49;s:4:"last";i:49;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:14:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"-- TABLES misspelled";s:5:"value";s:20:"-- TABLES misspelled";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:26;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:32;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:39;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:42;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:14;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:0:{}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:3:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:37;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:51;i:2;i:0;}i:2;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:65;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr4.in000066400000000000000000000000601363525634600222030ustar00rootroot00000000000000-- missing TABLES keyword LOCK table1 READ LOCALsql-parser-4.6.1/tests/data/parser/parseLockErr4.out000066400000000000000000000046361363525634600224210ustar00rootroot00000000000000a:4:{s:5:"query";s:48:"-- missing TABLES keyword LOCK table1 READ LOCAL";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:48:"-- missing TABLES keyword LOCK table1 READ LOCAL";s:3:"len";i:48;s:4:"last";i:48;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:25:"-- missing TABLES keyword";s:5:"value";s:25:"-- missing TABLES keyword";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:26;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:38;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LOCAL";s:5:"value";s:5:"LOCAL";s:7:"keyword";s:5:"LOCAL";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:43;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:0:{}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:37;i:2;i:0;}i:1;a:3:{i:0;s:28:"Unrecognized statement type.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr5.in000066400000000000000000000000621363525634600222060ustar00rootroot00000000000000-- extraneous comma LOCK TABLES table1 READ LOCAL,sql-parser-4.6.1/tests/data/parser/parseLockErr5.out000066400000000000000000000061321363525634600224130ustar00rootroot00000000000000a:4:{s:5:"query";s:50:"-- extraneous comma LOCK TABLES table1 READ LOCAL,";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:50:"-- extraneous comma LOCK TABLES table1 READ LOCAL,";s:3:"len";i:50;s:4:"last";i:50;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:19:"-- extraneous comma";s:5:"value";s:19:"-- extraneous comma";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:25;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:32;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:39;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LOCAL";s:5:"value";s:5:"LOCAL";s:7:"keyword";s:5:"LOCAL";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:44;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:49;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:13;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:10:"READ LOCAL";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:12;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:33:"Unexpected end of LOCK statement.";i:1;r:86;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr6.in000066400000000000000000000000471363525634600222120ustar00rootroot00000000000000-- missing lock type LOCK TABLES table1sql-parser-4.6.1/tests/data/parser/parseLockErr6.out000066400000000000000000000044451363525634600224210ustar00rootroot00000000000000a:4:{s:5:"query";s:39:"-- missing lock type LOCK TABLES table1";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:39:"-- missing lock type LOCK TABLES table1";s:3:"len";i:39;s:4:"last";i:39;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:8:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:20:"-- missing lock type";s:5:"value";s:20:"-- missing lock type";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:26;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:33;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:8;s:3:"idx";i:8;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";N;}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:7;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:34:"Unexpected end of LOCK expression.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr7.in000066400000000000000000000000501363525634600222050ustar00rootroot00000000000000LOCK TABLES table1 AS table1 non_keywordsql-parser-4.6.1/tests/data/parser/parseLockErr7.out000066400000000000000000000060121363525634600224120ustar00rootroot00000000000000a:4:{s:5:"query";s:40:"LOCK TABLES table1 AS table1 non_keyword";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:40:"LOCK TABLES table1 AS table1 non_keyword";s:3:"len";i:40;s:4:"last";i:40;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:12:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"non_keyword";s:5:"value";s:11:"non_keyword";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:12;s:3:"idx";i:12;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:6:"table1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:0:"";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:11;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:3:{i:0;a:3:{i:0;s:30:"An alias was previously found.";i:1;r:79;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:79;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected end of Lock expression.";i:1;N;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr8.in000066400000000000000000000000601363525634600222070ustar00rootroot00000000000000LOCK TABLES table1 AS table1 READ AUTO_INCREMENTsql-parser-4.6.1/tests/data/parser/parseLockErr8.out000066400000000000000000000063521363525634600224220ustar00rootroot00000000000000a:4:{s:5:"query";s:48:"LOCK TABLES table1 AS table1 READ AUTO_INCREMENT";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:48:"LOCK TABLES table1 AS table1 READ AUTO_INCREMENT";s:3:"len";i:48;s:4:"last";i:48;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:14:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:7:"keyword";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:14;s:3:"idx";i:14;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:6:"table1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:4:"READ";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:93;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseLockErr9.in000066400000000000000000000000561363525634600222150ustar00rootroot00000000000000LOCK TABLES table1 AS table1 LOW_PRIORITY READsql-parser-4.6.1/tests/data/parser/parseLockErr9.out000066400000000000000000000064621363525634600224250ustar00rootroot00000000000000a:4:{s:5:"query";s:46:"LOCK TABLES table1 AS table1 LOW_PRIORITY READ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:46:"LOCK TABLES table1 AS table1 LOW_PRIORITY READ";s:3:"len";i:46;s:4:"last";i:46;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:14:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOCK";s:5:"value";s:4:"LOCK";s:7:"keyword";s:4:"LOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:4;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:5;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"LOW_PRIORITY";s:5:"value";s:12:"LOW_PRIORITY";s:7:"keyword";s:12:"LOW_PRIORITY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"READ";s:5:"value";s:4:"READ";s:7:"keyword";s:4:"READ";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:14;s:3:"idx";i:14;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\LockExpression":2:{s:5:"table";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";s:6:"table1";s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:12:"LOW_PRIORITY";}}s:6:"isLock";b:1;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:93;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected end of Lock expression.";i:1;r:79;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parsePurge.in000066400000000000000000000000451363525634600216430ustar00rootroot00000000000000PURGE BINARY LOGS TO 'mysql-bin.010';sql-parser-4.6.1/tests/data/parser/parsePurge.out000066400000000000000000000051751363525634600220550ustar00rootroot00000000000000a:4:{s:5:"query";s:37:"PURGE BINARY LOGS TO 'mysql-bin.010';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:37:"PURGE BINARY LOGS TO 'mysql-bin.010';";s:3:"len";i:37;s:4:"last";i:37;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"PURGE";s:5:"value";s:5:"PURGE";s:7:"keyword";s:5:"PURGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BINARY";s:5:"value";s:6:"BINARY";s:7:"keyword";s:6:"BINARY";s:4:"type";i:1;s:5:"flags";i:43;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOGS";s:5:"value";s:4:"LOGS";s:7:"keyword";s:4:"LOGS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'mysql-bin.010'";s:5:"value";s:13:"mysql-bin.010";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:36;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\PurgeStatement":6:{s:8:"log_type";s:6:"BINARY";s:10:"end_option";s:2:"TO";s:8:"end_expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:13:"mysql-bin.010";s:4:"expr";s:15:"'mysql-bin.010'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:9;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parsePurge2.in000066400000000000000000000000571363525634600217300ustar00rootroot00000000000000PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';sql-parser-4.6.1/tests/data/parser/parsePurge2.out000066400000000000000000000052711363525634600221340ustar00rootroot00000000000000a:4:{s:5:"query";s:47:"PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:47:"PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';";s:3:"len";i:47;s:4:"last";i:47;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"PURGE";s:5:"value";s:5:"PURGE";s:7:"keyword";s:5:"PURGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BINARY";s:5:"value";s:6:"BINARY";s:7:"keyword";s:6:"BINARY";s:4:"type";i:1;s:5:"flags";i:43;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOGS";s:5:"value";s:4:"LOGS";s:7:"keyword";s:4:"LOGS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BEFORE";s:5:"value";s:6:"BEFORE";s:7:"keyword";s:6:"BEFORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:21:"'2008-04-02 22:46:26'";s:5:"value";s:19:"2008-04-02 22:46:26";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:46;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\PurgeStatement":6:{s:8:"log_type";s:6:"BINARY";s:10:"end_option";s:6:"BEFORE";s:8:"end_expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:19:"2008-04-02 22:46:26";s:4:"expr";s:21:"'2008-04-02 22:46:26'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:9;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parsePurge3.in000066400000000000000000000000571363525634600217310ustar00rootroot00000000000000PURGE MASTER LOGS BEFORE '2008-04-02 22:46:26';sql-parser-4.6.1/tests/data/parser/parsePurge3.out000066400000000000000000000052701363525634600221340ustar00rootroot00000000000000a:4:{s:5:"query";s:47:"PURGE MASTER LOGS BEFORE '2008-04-02 22:46:26';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:47:"PURGE MASTER LOGS BEFORE '2008-04-02 22:46:26';";s:3:"len";i:47;s:4:"last";i:47;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"PURGE";s:5:"value";s:5:"PURGE";s:7:"keyword";s:5:"PURGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"MASTER";s:5:"value";s:6:"MASTER";s:7:"keyword";s:6:"MASTER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOGS";s:5:"value";s:4:"LOGS";s:7:"keyword";s:4:"LOGS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BEFORE";s:5:"value";s:6:"BEFORE";s:7:"keyword";s:6:"BEFORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:21:"'2008-04-02 22:46:26'";s:5:"value";s:19:"2008-04-02 22:46:26";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:46;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\PurgeStatement":6:{s:8:"log_type";s:6:"MASTER";s:10:"end_option";s:6:"BEFORE";s:8:"end_expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:19:"2008-04-02 22:46:26";s:4:"expr";s:21:"'2008-04-02 22:46:26'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:9;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parsePurge4.in000066400000000000000000000000451363525634600217270ustar00rootroot00000000000000PURGE MASTER LOGS TO 'mysql-bin.010';sql-parser-4.6.1/tests/data/parser/parsePurge4.out000066400000000000000000000051741363525634600221400ustar00rootroot00000000000000a:4:{s:5:"query";s:37:"PURGE MASTER LOGS TO 'mysql-bin.010';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:37:"PURGE MASTER LOGS TO 'mysql-bin.010';";s:3:"len";i:37;s:4:"last";i:37;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"PURGE";s:5:"value";s:5:"PURGE";s:7:"keyword";s:5:"PURGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"MASTER";s:5:"value";s:6:"MASTER";s:7:"keyword";s:6:"MASTER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOGS";s:5:"value";s:4:"LOGS";s:7:"keyword";s:4:"LOGS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'mysql-bin.010'";s:5:"value";s:13:"mysql-bin.010";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:36;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\PurgeStatement":6:{s:8:"log_type";s:6:"MASTER";s:10:"end_option";s:2:"TO";s:8:"end_expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:13:"mysql-bin.010";s:4:"expr";s:15:"'mysql-bin.010'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:9;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parsePurgeErr.in000066400000000000000000000000361363525634600223140ustar00rootroot00000000000000PURGE LOGS TO 'mysql-bin.010';sql-parser-4.6.1/tests/data/parser/parsePurgeErr.out000066400000000000000000000044641363525634600225260ustar00rootroot00000000000000a:4:{s:5:"query";s:30:"PURGE LOGS TO 'mysql-bin.010';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:30:"PURGE LOGS TO 'mysql-bin.010';";s:3:"len";i:30;s:4:"last";i:30;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"PURGE";s:5:"value";s:5:"PURGE";s:7:"keyword";s:5:"PURGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOGS";s:5:"value";s:4:"LOGS";s:7:"keyword";s:4:"LOGS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"'mysql-bin.010'";s:5:"value";s:13:"mysql-bin.010";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:29;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\PurgeStatement":6:{s:8:"log_type";N;s:10:"end_option";N;s:8:"end_expr";N;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:7;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:18:"Unexpected keyword";i:1;r:23;i:2;i:0;}i:1;a:3:{i:0;s:18:"Unexpected keyword";i:1;r:37;i:2;i:0;}i:2;a:3:{i:0;s:17:"Unexpected token.";i:1;r:51;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parsePurgeErr2.in000066400000000000000000000000271363525634600223760ustar00rootroot00000000000000PURGE BINARY LOGS INTO;sql-parser-4.6.1/tests/data/parser/parsePurgeErr2.out000066400000000000000000000043001363525634600225750ustar00rootroot00000000000000a:4:{s:5:"query";s:23:"PURGE BINARY LOGS INTO;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:23:"PURGE BINARY LOGS INTO;";s:3:"len";i:23;s:4:"last";i:23;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"PURGE";s:5:"value";s:5:"PURGE";s:7:"keyword";s:5:"PURGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BINARY";s:5:"value";s:6:"BINARY";s:7:"keyword";s:6:"BINARY";s:4:"type";i:1;s:5:"flags";i:43;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOGS";s:5:"value";s:4:"LOGS";s:7:"keyword";s:4:"LOGS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\PurgeStatement":6:{s:8:"log_type";s:6:"BINARY";s:10:"end_option";N;s:8:"end_expr";N;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:7;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:18:"Unexpected keyword";i:1;r:51;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parsePurgeErr3.in000066400000000000000000000000461363525634600224000ustar00rootroot00000000000000PURGE BINARY LOGS TO 'mysql.bin' INTO;sql-parser-4.6.1/tests/data/parser/parsePurgeErr3.out000066400000000000000000000060311363525634600226010ustar00rootroot00000000000000a:4:{s:5:"query";s:38:"PURGE BINARY LOGS TO 'mysql.bin' INTO;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:38:"PURGE BINARY LOGS TO 'mysql.bin' INTO;";s:3:"len";i:38;s:4:"last";i:38;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"PURGE";s:5:"value";s:5:"PURGE";s:7:"keyword";s:5:"PURGE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BINARY";s:5:"value";s:6:"BINARY";s:7:"keyword";s:6:"BINARY";s:4:"type";i:1;s:5:"flags";i:43;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"LOGS";s:5:"value";s:4:"LOGS";s:7:"keyword";s:4:"LOGS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"'mysql.bin'";s:5:"value";s:9:"mysql.bin";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:37;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:13;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Statements\PurgeStatement":6:{s:8:"log_type";s:6:"BINARY";s:10:"end_option";s:2:"TO";s:8:"end_expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:9:"mysql.bin";s:4:"expr";s:11:"'mysql.bin'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:11;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:79;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:79;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseRename.in000066400000000000000000000000271363525634600217700ustar00rootroot00000000000000RENAME TABLE foo TO barsql-parser-4.6.1/tests/data/parser/parseRename.out000066400000000000000000000051421363525634600221740ustar00rootroot00000000000000a:4:{s:5:"query";s:23:"RENAME TABLE foo TO bar";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:23:"RENAME TABLE foo TO bar";s:3:"len";i:23;s:4:"last";i:23;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RENAME";s:5:"value";s:6:"RENAME";s:7:"keyword";s:6:"RENAME";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:10;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\RenameStatement":4:{s:7:"renames";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Components\RenameOperation":2:{s:3:"old";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:3:"new";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"bar";s:6:"column";N;s:4:"expr";s:3:"bar";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseRename2.in000066400000000000000000000000441363525634600220510ustar00rootroot00000000000000RENAME TABLE foo TO bar, baz TO qux;sql-parser-4.6.1/tests/data/parser/parseRename2.out000066400000000000000000000103641363525634600222600ustar00rootroot00000000000000a:4:{s:5:"query";s:36:"RENAME TABLE foo TO bar, baz TO qux;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:36:"RENAME TABLE foo TO bar, baz TO qux;";s:3:"len";i:36;s:4:"last";i:36;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:18:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RENAME";s:5:"value";s:6:"RENAME";s:7:"keyword";s:6:"RENAME";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"baz";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:29;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"qux";s:5:"value";s:3:"qux";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:32;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:35;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:18;s:3:"idx";i:18;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\RenameStatement":4:{s:7:"renames";a:2:{i:0;O:47:"PhpMyAdmin\SqlParser\Components\RenameOperation":2:{s:3:"old";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:3:"new";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"bar";s:6:"column";N;s:4:"expr";s:3:"bar";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}i:1;O:47:"PhpMyAdmin\SqlParser\Components\RenameOperation":2:{s:3:"old";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"baz";s:6:"column";N;s:4:"expr";s:3:"baz";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:3:"new";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"qux";s:6:"column";N;s:4:"expr";s:3:"qux";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:15;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseRenameErr1.in000066400000000000000000000000241363525634600225170ustar00rootroot00000000000000RENAME TABLE a TO TOsql-parser-4.6.1/tests/data/parser/parseRenameErr1.out000066400000000000000000000047701363525634600227340ustar00rootroot00000000000000a:4:{s:5:"query";s:20:"RENAME TABLE a TO TO";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:20:"RENAME TABLE a TO TO";s:3:"len";i:20;s:4:"last";i:20;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RENAME";s:5:"value";s:6:"RENAME";s:7:"keyword";s:6:"RENAME";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:10;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\RenameStatement":4:{s:7:"renames";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Components\RenameOperation":2:{s:3:"old";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:3:"new";N;}}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:39:"The new name of the table was expected.";i:1;r:65;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseRenameErr2.in000066400000000000000000000000221363525634600225160ustar00rootroot00000000000000RENAME TABLE TABLEsql-parser-4.6.1/tests/data/parser/parseRenameErr2.out000066400000000000000000000033421363525634600227270ustar00rootroot00000000000000a:4:{s:5:"query";s:18:"RENAME TABLE TABLE";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:18:"RENAME TABLE TABLE";s:3:"len";i:18;s:4:"last";i:18;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RENAME";s:5:"value";s:6:"RENAME";s:7:"keyword";s:6:"RENAME";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:6;s:3:"idx";i:6;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\RenameStatement":4:{s:7:"renames";a:0:{}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:39:"The old name of the table was expected.";i:1;r:37;i:2;i:0;}i:1;a:3:{i:0;s:32:"A rename operation was expected.";i:1;r:37;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseRenameErr3.in000066400000000000000000000000231363525634600225200ustar00rootroot00000000000000RENAME TABLE a FROMsql-parser-4.6.1/tests/data/parser/parseRenameErr3.out000066400000000000000000000045231363525634600227320ustar00rootroot00000000000000a:4:{s:5:"query";s:19:"RENAME TABLE a FROM";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:19:"RENAME TABLE a FROM";s:3:"len";i:19;s:4:"last";i:19;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:8:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RENAME";s:5:"value";s:6:"RENAME";s:7:"keyword";s:6:"RENAME";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:8;s:3:"idx";i:8;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\RenameStatement":5:{s:7:"renames";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Components\RenameOperation":2:{s:3:"old";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:3:"new";N;}}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:6;s:4:"from";a:0:{}}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:3:{i:0;a:3:{i:0;s:26:"Keyword "TO" was expected.";i:1;r:51;i:2;i:0;}i:1;a:3:{i:0;s:32:"A rename operation was expected.";i:1;r:44;i:2;i:0;}i:2;a:3:{i:0;s:27:"An expression was expected.";i:1;r:58;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseRenameErr4.in000066400000000000000000000000321363525634600225210ustar00rootroot00000000000000RENAME TABLE foo TO bar TOsql-parser-4.6.1/tests/data/parser/parseRenameErr4.out000066400000000000000000000057321363525634600227360ustar00rootroot00000000000000a:4:{s:5:"query";s:26:"RENAME TABLE foo TO bar TO";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:26:"RENAME TABLE foo TO bar TO";s:3:"len";i:26;s:4:"last";i:26;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:12:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RENAME";s:5:"value";s:6:"RENAME";s:7:"keyword";s:6:"RENAME";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"TO";s:5:"value";s:2:"TO";s:7:"keyword";s:2:"TO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:24;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:12;s:3:"idx";i:12;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\RenameStatement":4:{s:7:"renames";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Components\RenameOperation":2:{s:3:"old";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:3:"new";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"bar";s:6:"column";N;s:4:"expr";s:3:"bar";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:79;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseRenameErr5.in000066400000000000000000000000071363525634600225240ustar00rootroot00000000000000RENAME sql-parser-4.6.1/tests/data/parser/parseRenameErr5.out000066400000000000000000000022171363525634600227320ustar00rootroot00000000000000a:4:{s:5:"query";s:7:"RENAME ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:7:"RENAME ";s:3:"len";i:7;s:4:"last";i:7;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:3:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"RENAME";s:5:"value";s:6:"RENAME";s:7:"keyword";s:6:"RENAME";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:3;s:3:"idx";i:4;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\RenameStatement":4:{s:7:"renames";N;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:28:"Keyword at end of statement.";i:1;r:9;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseReplace.in000066400000000000000000000001131363525634600221300ustar00rootroot00000000000000REPLACE LOW_PRIORITY INTO users(id, username) VALUES (1, 'Foo'), (2, 'Bar')sql-parser-4.6.1/tests/data/parser/parseReplace.out000066400000000000000000000143621363525634600223440ustar00rootroot00000000000000a:4:{s:5:"query";s:75:"REPLACE LOW_PRIORITY INTO users(id, username) VALUES (1, 'Foo'), (2, 'Bar')";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:75:"REPLACE LOW_PRIORITY INTO users(id, username) VALUES (1, 'Foo'), (2, 'Bar')";s:3:"len";i:75;s:4:"last";i:75;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:31:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"LOW_PRIORITY";s:5:"value";s:12:"LOW_PRIORITY";s:7:"keyword";s:12:"LOW_PRIORITY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:31;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:32;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:36;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:46;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:53;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:54;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:55;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'Foo'";s:5:"value";s:3:"Foo";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:57;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:62;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:63;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:65;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:66;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:67;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'Bar'";s:5:"value";s:3:"Bar";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:69;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:74;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:31;s:3:"idx";i:31;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:2:{i:0;s:2:"id";i:1;s:8:"username";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";a:2:{i:0;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:1:"1";i:1;s:5:"'Foo'";}s:6:"values";a:2:{i:0;s:1:"1";i:1;s:3:"Foo";}}i:1;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:1:"2";i:1;s:5:"'Bar'";}s:6:"values";a:2:{i:0;s:1:"2";i:1;s:3:"Bar";}}}s:3:"set";N;s:6:"select";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:12:"LOW_PRIORITY";}}s:5:"first";i:0;s:4:"last";i:29;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseReplace2.in000066400000000000000000000001011363525634600222070ustar00rootroot00000000000000REPLACE LOW_PRIORITY INTO users SET id = 1, username = 'Bar';sql-parser-4.6.1/tests/data/parser/parseReplace2.out000066400000000000000000000121041363525634600224160ustar00rootroot00000000000000a:4:{s:5:"query";s:65:"REPLACE LOW_PRIORITY INTO users SET id = 1, username = 'Bar';";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:65:"REPLACE LOW_PRIORITY INTO users SET id = 1, username = 'Bar';";s:3:"len";i:65;s:4:"last";i:65;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:24:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"LOW_PRIORITY";s:5:"value";s:12:"LOW_PRIORITY";s:7:"keyword";s:12:"LOW_PRIORITY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:32;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:36;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:39;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:48;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:57;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'Bar'";s:5:"value";s:3:"Bar";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:59;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:64;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:24;s:3:"idx";i:24;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";N;s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";a:2:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:2:"id";s:5:"value";s:1:"1";}i:1;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:8:"username";s:5:"value";s:5:"'Bar'";}}s:6:"select";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:12:"LOW_PRIORITY";}}s:5:"first";i:0;s:4:"last";i:21;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseReplaceErr.in000066400000000000000000000001041363525634600226010ustar00rootroot00000000000000REPLACE LOW_PRIORITY INTO users(id, username) (1, 'Foo'), (2, 'Bar')sql-parser-4.6.1/tests/data/parser/parseReplaceErr.out000066400000000000000000000137351363525634600230200ustar00rootroot00000000000000a:4:{s:5:"query";s:68:"REPLACE LOW_PRIORITY INTO users(id, username) (1, 'Foo'), (2, 'Bar')";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:68:"REPLACE LOW_PRIORITY INTO users(id, username) (1, 'Foo'), (2, 'Bar')";s:3:"len";i:68;s:4:"last";i:68;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:29:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"LOW_PRIORITY";s:5:"value";s:12:"LOW_PRIORITY";s:7:"keyword";s:12:"LOW_PRIORITY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:26;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:31;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:32;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:36;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:46;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:47;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:48;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'Foo'";s:5:"value";s:3:"Foo";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:50;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:55;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:56;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:58;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:59;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:60;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'Bar'";s:5:"value";s:3:"Bar";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:62;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:67;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:29;s:3:"idx";i:29;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:2:{i:0;s:2:"id";i:1;s:8:"username";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";N;s:6:"select";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:12:"LOW_PRIORITY";}}s:5:"first";i:0;s:4:"last";i:13;}}s:8:"brackets";i:2;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:5:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:107;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:114;i:2;i:0;}i:2;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:135;i:2;i:0;}i:3;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:170;i:2;i:0;}i:4;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:191;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseReplaceErr2.in000066400000000000000000000000171363525634600226660ustar00rootroot00000000000000REPLACE SELECT sql-parser-4.6.1/tests/data/parser/parseReplaceErr2.out000066400000000000000000000040551363525634600230750ustar00rootroot00000000000000a:4:{s:5:"query";s:15:"REPLACE SELECT ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:15:"REPLACE SELECT ";s:3:"len";i:15;s:4:"last";i:15;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:2:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";N;s:6:"values";N;s:3:"set";N;s:6:"select";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:1;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:0:{}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:2;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:23;i:2;i:0;}i:1;a:3:{i:0;s:27:"An expression was expected.";i:1;r:37;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseReplaceErr3.in000066400000000000000000000000311363525634600226630ustar00rootroot00000000000000REPLACE INTO x "string" sql-parser-4.6.1/tests/data/parser/parseReplaceErr3.out000066400000000000000000000051541363525634600230770ustar00rootroot00000000000000a:4:{s:5:"query";s:25:"REPLACE INTO x "string" ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:25:"REPLACE INTO x "string" ";s:3:"len";i:25;s:4:"last";i:25;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"x";s:5:"value";s:1:"x";s:7:"keyword";s:1:"X";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:""string"";s:5:"value";s:6:"string";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"x";s:6:"column";N;s:4:"expr";s:1:"x";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";N;s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";N;s:6:"select";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:5;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:51;i:2;i:0;}i:1;a:3:{i:0;s:34:"Unexpected beginning of statement.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseReplaceIntoErr.in000066400000000000000000000000271363525634600234370ustar00rootroot00000000000000REPLACE INTO x INSERT sql-parser-4.6.1/tests/data/parser/parseReplaceIntoErr.out000066400000000000000000000054621363525634600236500ustar00rootroot00000000000000a:4:{s:5:"query";s:23:"REPLACE INTO x INSERT ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:23:"REPLACE INTO x INSERT ";s:3:"len";i:23;s:4:"last";i:23;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"x";s:5:"value";s:1:"x";s:7:"keyword";s:1:"X";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"INSERT";s:5:"value";s:6:"INSERT";s:7:"keyword";s:6:"INSERT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:2:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"x";s:6:"column";N;s:4:"expr";s:1:"x";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";N;s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";N;s:6:"select";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:5;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\InsertStatement":8:{s:4:"into";N;s:6:"values";N;s:3:"set";N;s:6:"select";N;s:14:"onDuplicateSet";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:6;s:4:"last";i:7;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseReplaceSelect.in000066400000000000000000000000611363525634600232720ustar00rootroot00000000000000REPLACE INTO `a` (`value`) SELECT value from `b`sql-parser-4.6.1/tests/data/parser/parseReplaceSelect.out000066400000000000000000000112611363525634600234770ustar00rootroot00000000000000a:4:{s:5:"query";s:49:"REPLACE INTO `a` (`value`) SELECT value from `b`";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:49:"REPLACE INTO `a` (`value`) SELECT value from `b`";s:3:"len";i:49;s:4:"last";i:49;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:18:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"value";s:5:"value";s:5:"value";s:7:"keyword";s:5:"VALUE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`b`";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:46;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:18;s:3:"idx";i:18;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:3:"`a`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:5:"value";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";N;s:6:"select";O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"value";s:4:"expr";s:5:"value";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"b";s:6:"column";N;s:4:"expr";s:3:"`b`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:10;s:4:"last";i:16;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:16;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseReplaceSet.in000066400000000000000000000000541363525634600226100ustar00rootroot00000000000000REPLACE INTO `a` (`value`) SET value = '123'sql-parser-4.6.1/tests/data/parser/parseReplaceSet.out000066400000000000000000000100001363525634600230010ustar00rootroot00000000000000a:4:{s:5:"query";s:44:"REPLACE INTO `a` (`value`) SET value = '123'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:44:"REPLACE INTO `a` (`value`) SET value = '123'";s:3:"len";i:44;s:4:"last";i:44;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:18:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"value";s:5:"value";s:5:"value";s:7:"keyword";s:5:"VALUE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:37;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'123'";s:5:"value";s:3:"123";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:39;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:18;s:3:"idx";i:18;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:3:"`a`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:5:"value";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";N;s:3:"set";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:5:"value";s:5:"value";s:5:"'123'";}}s:6:"select";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:16;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseReplaceValues.in000066400000000000000000000000621363525634600233130ustar00rootroot00000000000000REPLACE INTO `a` (`value`) VALUES ('123'), ('123')sql-parser-4.6.1/tests/data/parser/parseReplaceValues.out000066400000000000000000000111251363525634600235160ustar00rootroot00000000000000a:4:{s:5:"query";s:50:"REPLACE INTO `a` (`value`) VALUES ('123'), ('123')";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:50:"REPLACE INTO `a` (`value`) VALUES ('123'), ('123')";s:3:"len";i:50;s:4:"last";i:50;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"REPLACE";s:5:"value";s:7:"REPLACE";s:7:"keyword";s:7:"REPLACE";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`value`";s:5:"value";s:5:"value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"VALUES";s:5:"value";s:6:"VALUES";s:7:"keyword";s:6:"VALUES";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'123'";s:5:"value";s:3:"123";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:35;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:43;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'123'";s:5:"value";s:3:"123";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:44;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:49;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\ReplaceStatement":7:{s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";N;s:4:"dest";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:3:"`a`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:7:"columns";a:1:{i:0;s:5:"value";}s:6:"values";N;s:14:"fields_options";N;s:14:"fields_keyword";N;s:13:"lines_options";N;}s:6:"values";a:2:{i:0;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:1:{i:0;s:5:"'123'";}s:6:"values";a:1:{i:0;s:3:"123";}}i:1;O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:1:{i:0;s:5:"'123'";}s:6:"values";a:1:{i:0;s:3:"123";}}}s:3:"set";N;s:6:"select";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:19;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseRestore.in000066400000000000000000000000671363525634600222100ustar00rootroot00000000000000RESTORE TABLE my_table FROM "/path/to/backup/directory"sql-parser-4.6.1/tests/data/parser/parseRestore.out000066400000000000000000000053251363525634600224130ustar00rootroot00000000000000a:4:{s:5:"query";s:55:"RESTORE TABLE my_table FROM "/path/to/backup/directory"";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:55:"RESTORE TABLE my_table FROM "/path/to/backup/directory"";s:3:"len";i:55;s:4:"last";i:55;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"RESTORE";s:5:"value";s:7:"RESTORE";s:7:"keyword";s:7:"RESTORE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:7:"keyword";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"my_table";s:5:"value";s:8:"my_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:27:""/path/to/backup/directory"";s:5:"value";s:25:"/path/to/backup/directory";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:28;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:10;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:48:"PhpMyAdmin\SqlParser\Statements\RestoreStatement":4:{s:6:"tables";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"my_table";s:6:"column";N;s:4:"expr";s:8:"my_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:0;s:5:"TABLE";i:1;a:4:{s:4:"name";s:4:"FROM";s:6:"equals";b:0;s:4:"expr";s:27:""/path/to/backup/directory"";s:5:"value";s:25:"/path/to/backup/directory";}}}s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect.in000066400000000000000000000003471363525634600220050ustar00rootroot00000000000000SELECT ALL MAX_STATEMENT_TIME = 10 1 + 2 AS result, @idx, id, test.`users`.username AS `name` FROM `test`.users, posts PARTITION (p1, p2) WHERE id > 0 ORDER BY username DESC, id LIMIT 3 OFFSET 2;sql-parser-4.6.1/tests/data/parser/parseSelect.out000066400000000000000000000374141363525634600222130ustar00rootroot00000000000000a:4:{s:5:"query";s:231:"SELECT ALL MAX_STATEMENT_TIME = 10 1 + 2 AS result, @idx, id, test.`users`.username AS `name` FROM `test`.users, posts PARTITION (p1, p2) WHERE id > 0 ORDER BY username DESC, id LIMIT 3 OFFSET 2;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:231:"SELECT ALL MAX_STATEMENT_TIME = 10 1 + 2 AS result, @idx, id, test.`users`.username AS `name` FROM `test`.users, posts PARTITION (p1, p2) WHERE id > 0 ORDER BY username DESC, id LIMIT 3 OFFSET 2;";s:3:"len";i:231;s:4:"last";i:231;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:81:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ALL";s:5:"value";s:3:"ALL";s:7:"keyword";s:3:"ALL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"MAX_STATEMENT_TIME";s:5:"value";s:18:"MAX_STATEMENT_TIME";s:7:"keyword";s:18:"MAX_STATEMENT_TIME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:30;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:32;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:39;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:41;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:43;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"result";s:5:"value";s:6:"result";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:48;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:54;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@idx";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:60;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:64;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:70;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:72;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:73;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:78;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:82;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`users`";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:83;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:90;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:91;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:100;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`name`";s:5:"value";s:4:"name";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:103;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:109;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:110;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:114;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`test`";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:119;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:125;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:126;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:131;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"posts";s:5:"value";s:5:"posts";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:133;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:138;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:143;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:152;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:153;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:154;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:156;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:157;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p2";s:5:"value";s:2:"p2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:158;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:160;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:161;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:162;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:167;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:172;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:174;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:">";s:5:"value";s:1:">";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:175;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:176;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:177;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:178;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:179;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:187;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:192;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:200;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DESC";s:5:"value";s:4:"DESC";s:7:"keyword";s:4:"DESC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:201;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:205;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:206;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:211;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:213;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:214;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:219;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:220;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:221;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"OFFSET";s:5:"value";s:6:"OFFSET";s:7:"keyword";s:6:"OFFSET";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:222;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:228;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:229;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:230;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:81;s:3:"idx";i:81;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:4:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:5:"1 + 2";s:5:"alias";s:6:"result";s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:4:"@idx";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:3;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:4:"test";s:5:"table";s:5:"users";s:6:"column";s:8:"username";s:4:"expr";s:21:"test.`users`.username";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:4:"test";s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:12:"`test`.users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"posts";s:6:"column";N;s:4:"expr";s:5:"posts";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:2:"p1";i:1;s:2:"p2";}s:6:"values";a:2:{i:0;s:2:"p1";i:1;s:2:"p2";}}s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:2:"id";}s:10:"isOperator";b:0;s:4:"expr";s:6:"id > 0";}}s:5:"group";N;s:6:"having";N;s:5:"order";a:2:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:8:"username";s:4:"expr";s:8:"username";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:4:"DESC";}i:1;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:2;s:8:"rowCount";i:3;}s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:3:"ALL";i:3;a:4:{s:4:"name";s:18:"MAX_STATEMENT_TIME";s:6:"equals";b:1;s:4:"expr";s:2:"10";s:5:"value";s:2:"10";}}}s:5:"first";i:0;s:4:"last";i:78;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect10.in000066400000000000000000000001231363525634600221360ustar00rootroot00000000000000SELECT my_column FROM my_table WHERE BINARY(my_column) != BINARY(UPPER(my_column)) sql-parser-4.6.1/tests/data/parser/parseSelect10.out000066400000000000000000000131631363525634600223470ustar00rootroot00000000000000a:4:{s:5:"query";s:83:"SELECT my_column FROM my_table WHERE BINARY(my_column) != BINARY(UPPER(my_column)) ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:83:"SELECT my_column FROM my_table WHERE BINARY(my_column) != BINARY(UPPER(my_column)) ";s:3:"len";i:83;s:4:"last";i:83;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:26:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"my_column";s:5:"value";s:9:"my_column";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"my_table";s:5:"value";s:8:"my_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:31;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BINARY";s:5:"value";s:6:"BINARY";s:7:"keyword";s:6:"BINARY";s:4:"type";i:1;s:5:"flags";i:43;s:8:"position";i:37;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:43;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"my_column";s:5:"value";s:9:"my_column";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:53;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"!=";s:5:"value";s:2:"!=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:55;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"BINARY";s:5:"value";s:6:"BINARY";s:7:"keyword";s:6:"BINARY";s:4:"type";i:1;s:5:"flags";i:43;s:8:"position";i:58;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:64;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"UPPER";s:5:"value";s:5:"UPPER";s:7:"keyword";s:5:"UPPER";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:65;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:70;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"my_column";s:5:"value";s:9:"my_column";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:71;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:81;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:26;s:3:"idx";i:26;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:9:"my_column";s:4:"expr";s:9:"my_column";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"my_table";s:6:"column";N;s:4:"expr";s:8:"my_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:9:"my_column";i:1;s:5:"UPPER";}s:10:"isOperator";b:0;s:4:"expr";s:45:"BINARY(my_column) != BINARY(UPPER(my_column))";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:24;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect11.in000066400000000000000000000000231363525634600221360ustar00rootroot00000000000000SELECT 1 AND NOT 1 sql-parser-4.6.1/tests/data/parser/parseSelect11.out000066400000000000000000000053661363525634600223560ustar00rootroot00000000000000a:4:{s:5:"query";s:19:"SELECT 1 AND NOT 1 ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:19:"SELECT 1 AND NOT 1 ";s:3:"len";i:19;s:4:"last";i:19;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"NOT";s:5:"value";s:3:"NOT";s:7:"keyword";s:3:"NOT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:13;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:17;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:11;s:3:"idx";i:11;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:11:"1 AND NOT 1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:9;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect2.in000066400000000000000000000001031363525634600220550ustar00rootroot00000000000000SELECT (SELECT 'foo') bar, (SELECT 'baz') AS qux, a as b FROM tabl;sql-parser-4.6.1/tests/data/parser/parseSelect2.out000066400000000000000000000153471363525634600222760ustar00rootroot00000000000000a:4:{s:5:"query";s:67:"SELECT (SELECT 'foo') bar, (SELECT 'baz') AS qux, a as b FROM tabl;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:67:"SELECT (SELECT 'foo') bar, (SELECT 'baz') AS qux, a as b FROM tabl;";s:3:"len";i:67;s:4:"last";i:67;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:33:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'foo'";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:27;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:28;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'baz'";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:35;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"qux";s:5:"value";s:3:"qux";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:48;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:55;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:57;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"tabl";s:5:"value";s:4:"tabl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:62;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:66;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:33;s:3:"idx";i:33;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:3:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:14:"(SELECT 'foo')";s:5:"alias";s:3:"bar";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:14:"(SELECT 'baz')";s:5:"alias";s:3:"qux";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:1:"a";s:5:"alias";s:1:"b";s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"tabl";s:6:"column";N;s:4:"expr";s:4:"tabl";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:30;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect3.in000066400000000000000000000001551363525634600220650ustar00rootroot00000000000000SELECT left_tbl.* FROM left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id WHERE right_tbl.id IS NULL;sql-parser-4.6.1/tests/data/parser/parseSelect3.out000066400000000000000000000174511363525634600222750ustar00rootroot00000000000000a:4:{s:5:"query";s:109:"SELECT left_tbl.* FROM left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id WHERE right_tbl.id IS NULL;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:109:"SELECT left_tbl.* FROM left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id WHERE right_tbl.id IS NULL;";s:3:"len";i:109;s:4:"last";i:109;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:37:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"left_tbl";s:5:"value";s:8:"left_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"left_tbl";s:5:"value";s:8:"left_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LEFT JOIN";s:5:"value";s:9:"LEFT JOIN";s:7:"keyword";s:9:"LEFT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"right_tbl";s:5:"value";s:9:"right_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:42;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"left_tbl";s:5:"value";s:8:"left_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:55;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:63;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:64;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:67;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"right_tbl";s:5:"value";s:9:"right_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:69;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:78;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:79;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"right_tbl";s:5:"value";s:9:"right_tbl";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:88;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:97;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:98;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IS";s:5:"value";s:2:"IS";s:7:"keyword";s:2:"IS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:101;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:103;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:104;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:108;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:37;s:3:"idx";i:37;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"left_tbl";s:6:"column";N;s:4:"expr";s:10:"left_tbl.*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"left_tbl";s:6:"column";N;s:4:"expr";s:8:"left_tbl";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:9:"right_tbl";i:1;s:2:"id";}s:10:"isOperator";b:0;s:4:"expr";s:20:"right_tbl.id IS NULL";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:4:"LEFT";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"right_tbl";s:6:"column";N;s:4:"expr";s:9:"right_tbl";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:8:"left_tbl";i:1;s:2:"id";i:2;s:9:"right_tbl";}s:10:"isOperator";b:0;s:4:"expr";s:26:"left_tbl.id = right_tbl.id";}}s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:34;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect4.in000066400000000000000000000000661363525634600220670ustar00rootroot00000000000000SELECT * FROM test WHERE RIGHT(name, 2) = 'AB'; sql-parser-4.6.1/tests/data/parser/parseSelect4.out000066400000000000000000000121731363525634600222720ustar00rootroot00000000000000a:4:{s:5:"query";s:54:"SELECT * FROM test WHERE RIGHT(name, 2) = 'AB'; ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:54:"SELECT * FROM test WHERE RIGHT(name, 2) = 'AB'; ";s:3:"len";i:54;s:4:"last";i:54;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:24:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"RIGHT";s:5:"value";s:5:"RIGHT";s:7:"keyword";s:5:"RIGHT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:31;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:36;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:37;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:43;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:46;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'AB'";s:5:"value";s:2:"AB";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:48;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:52;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:24;s:3:"idx";i:24;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"test";s:6:"column";N;s:4:"expr";s:4:"test";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:4:"name";i:1;s:2:"AB";}s:10:"isOperator";b:0;s:4:"expr";s:21:"RIGHT(name, 2) = 'AB'";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:20;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect5.in000066400000000000000000000001731363525634600220670ustar00rootroot00000000000000SELECT c1, c2, c3 /* Subquery in FROM list */ FROM (SELECT C1, c2, c3 FROM test2) t1 WHERE RIGHT(name, 2) = 'AB'; sql-parser-4.6.1/tests/data/parser/parseSelect5.out000066400000000000000000000224521363525634600222740ustar00rootroot00000000000000a:4:{s:5:"query";s:123:"SELECT c1, c2, c3 /* Subquery in FROM list */ FROM (SELECT C1, c2, c3 FROM test2) t1 WHERE RIGHT(name, 2) = 'AB'; ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:123:"SELECT c1, c2, c3 /* Subquery in FROM list */ FROM (SELECT C1, c2, c3 FROM test2) t1 WHERE RIGHT(name, 2) = 'AB'; ";s:3:"len";i:123;s:4:"last";i:123;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:48:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"c1";s:5:"value";s:2:"c1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"c2";s:5:"value";s:2:"c2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:11;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:13;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"c3";s:5:"value";s:2:"c3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:15;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:27:"/* Subquery in FROM list */";s:5:"value";s:27:"/* Subquery in FROM list */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:21;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:57;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:58;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"C1";s:5:"value";s:2:"C1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:65;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:67;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:68;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"c2";s:5:"value";s:2:"c2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:69;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"c3";s:5:"value";s:2:"c3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:73;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:76;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"test2";s:5:"value";s:5:"test2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:81;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:94;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"RIGHT";s:5:"value";s:5:"RIGHT";s:7:"keyword";s:5:"RIGHT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:100;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:105;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:106;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:110;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:112;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:113;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:114;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:115;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:116;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'AB'";s:5:"value";s:2:"AB";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:117;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:121;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:48;s:3:"idx";i:48;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:3:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"c1";s:4:"expr";s:2:"c1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"c2";s:4:"expr";s:2:"c2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"c3";s:4:"expr";s:2:"c3";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:30:"(SELECT C1, c2, c3 FROM test2)";s:5:"alias";s:2:"t1";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:4:"name";i:1;s:2:"AB";}s:10:"isOperator";b:0;s:4:"expr";s:21:"RIGHT(name, 2) = 'AB'";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:44;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect6.in000066400000000000000000000001441363525634600220660ustar00rootroot00000000000000SELECT * FROM t1 LEFT JOIN (t2, t3, t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c) sql-parser-4.6.1/tests/data/parser/parseSelect6.out000066400000000000000000000245731363525634600223030ustar00rootroot00000000000000a:4:{s:5:"query";s:100:"SELECT * FROM t1 LEFT JOIN (t2, t3, t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c) ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:100:"SELECT * FROM t1 LEFT JOIN (t2, t3, t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c) ";s:3:"len";i:100;s:4:"last";i:100;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:53:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LEFT JOIN";s:5:"value";s:9:"LEFT JOIN";s:7:"keyword";s:9:"LEFT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:17;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t3";s:5:"value";s:2:"t3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:32;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t4";s:5:"value";s:2:"t4";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:36;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:38;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:57;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:60;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:61;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:63;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:64;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:65;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:66;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:68;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:69;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:71;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t3";s:5:"value";s:2:"t3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:75;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:77;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:78;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:79;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:80;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:82;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:83;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:85;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t4";s:5:"value";s:2:"t4";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:89;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:91;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"c";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:92;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:93;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:94;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:96;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"c";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:97;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:98;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:53;s:3:"idx";i:53;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:4:"LEFT";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:12:"(t2, t3, t4)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";a:5:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:2:"t2";i:1;s:1:"a";i:2;s:2:"t1";}s:10:"isOperator";b:0;s:4:"expr";s:10:"(t2.a=t1.a";}i:1;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:2;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:2:"t3";i:1;s:1:"b";i:2;s:2:"t1";}s:10:"isOperator";b:0;s:4:"expr";s:9:"t3.b=t1.b";}i:3;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:4;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:2:"t4";i:1;s:1:"c";i:2;s:2:"t1";}s:10:"isOperator";b:0;s:4:"expr";s:10:"t4.c=t1.c)";}}s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:51;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect7.in000066400000000000000000000001671363525634600220740ustar00rootroot00000000000000SELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)sql-parser-4.6.1/tests/data/parser/parseSelect7.out000066400000000000000000000252371363525634600223020ustar00rootroot00000000000000a:4:{s:5:"query";s:119:"SELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:119:"SELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)";s:3:"len";i:119;s:4:"last";i:119;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:54:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LEFT JOIN";s:5:"value";s:9:"LEFT JOIN";s:7:"keyword";s:9:"LEFT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:17;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CROSS JOIN";s:5:"value";s:10:"CROSS JOIN";s:7:"keyword";s:10:"CROSS JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:31;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t3";s:5:"value";s:2:"t3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CROSS JOIN";s:5:"value";s:10:"CROSS JOIN";s:7:"keyword";s:10:"CROSS JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t4";s:5:"value";s:2:"t4";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:56;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:58;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:77;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t2";s:5:"value";s:2:"t2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:81;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:83;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:84;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:85;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:86;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:91;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:94;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t3";s:5:"value";s:2:"t3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:95;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:97;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:98;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:99;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:100;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:102;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:103;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:104;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:105;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:108;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t4";s:5:"value";s:2:"t4";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:109;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:111;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"c";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:112;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:113;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"t1";s:5:"value";s:2:"t1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:114;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:116;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"c";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:117;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:118;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:54;s:3:"idx";i:54;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"t1";s:6:"column";N;s:4:"expr";s:2:"t1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:4:"LEFT";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:32:"(t2 CROSS JOIN t3 CROSS JOIN t4)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";a:5:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:2:"t2";i:1;s:1:"a";i:2;s:2:"t1";}s:10:"isOperator";b:0;s:4:"expr";s:10:"(t2.a=t1.a";}i:1;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:2;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:2:"t3";i:1;s:1:"b";i:2;s:2:"t1";}s:10:"isOperator";b:0;s:4:"expr";s:9:"t3.b=t1.b";}i:3;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:4;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:3:{i:0;s:2:"t4";i:1;s:1:"c";i:2;s:2:"t1";}s:10:"isOperator";b:0;s:4:"expr";s:10:"t4.c=t1.c)";}}s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:52;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect8.in000066400000000000000000000001041363525634600220640ustar00rootroot00000000000000select * FROM (select Pop FROM MyTable) p join tadaa t where p.x=t.ysql-parser-4.6.1/tests/data/parser/parseSelect8.out000066400000000000000000000157631363525634600223060ustar00rootroot00000000000000a:4:{s:5:"query";s:68:"select * FROM (select Pop FROM MyTable) p join tadaa t where p.x=t.y";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:68:"select * FROM (select Pop FROM MyTable) p join tadaa t where p.x=t.y";s:3:"len";i:68;s:4:"last";i:68;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:34:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"Pop";s:5:"value";s:3:"Pop";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:26;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"MyTable";s:5:"value";s:7:"MyTable";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"p";s:5:"value";s:1:"p";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:40;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"join";s:5:"value";s:4:"JOIN";s:7:"keyword";s:4:"JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"tadaa";s:5:"value";s:5:"tadaa";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"t";s:5:"value";s:1:"t";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:53;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"where";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:55;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"p";s:5:"value";s:1:"p";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:61;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:62;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"x";s:5:"value";s:1:"x";s:7:"keyword";s:1:"X";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:63;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:64;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"t";s:5:"value";s:1:"t";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:65;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:66;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"y";s:5:"value";s:1:"y";s:7:"keyword";s:1:"Y";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:67;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:34;s:3:"idx";i:34;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:25:"(select Pop FROM MyTable)";s:5:"alias";s:1:"p";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:4:{i:0;s:1:"p";i:1;s:1:"x";i:2;s:1:"t";i:3;s:1:"y";}s:10:"isOperator";b:0;s:4:"expr";s:7:"p.x=t.y";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:4:"JOIN";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"tadaa";s:6:"column";N;s:4:"expr";s:5:"tadaa";s:5:"alias";s:1:"t";s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:32;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelect9.in000066400000000000000000000004501363525634600220710ustar00rootroot00000000000000SELECT casein_pipe, email_cp, name_first_cp, name_last_cp, purpose_pipe FROM (tbl_comp_person INNER JOIN `tbl_pipelist` ON tbl_comp_person.IDp = tbl_pipelist.IDp) WHERE casein_pipe > '2016-03-01' AND `campaign_id_pipe` = 24569 AND `weeksonlist_pipe` = 1 ORDER BY `tbl_pipelist`.`casein_pipe` ASCsql-parser-4.6.1/tests/data/parser/parseSelect9.out000066400000000000000000000352061363525634600223010ustar00rootroot00000000000000a:4:{s:5:"query";s:296:"SELECT casein_pipe, email_cp, name_first_cp, name_last_cp, purpose_pipe FROM (tbl_comp_person INNER JOIN `tbl_pipelist` ON tbl_comp_person.IDp = tbl_pipelist.IDp) WHERE casein_pipe > '2016-03-01' AND `campaign_id_pipe` = 24569 AND `weeksonlist_pipe` = 1 ORDER BY `tbl_pipelist`.`casein_pipe` ASC";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:296:"SELECT casein_pipe, email_cp, name_first_cp, name_last_cp, purpose_pipe FROM (tbl_comp_person INNER JOIN `tbl_pipelist` ON tbl_comp_person.IDp = tbl_pipelist.IDp) WHERE casein_pipe > '2016-03-01' AND `campaign_id_pipe` = 24569 AND `weeksonlist_pipe` = 1 ORDER BY `tbl_pipelist`.`casein_pipe` ASC";s:3:"len";i:296;s:4:"last";i:296;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:70:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"casein_pipe";s:5:"value";s:11:"casein_pipe";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:18;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"email_cp";s:5:"value";s:8:"email_cp";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:28;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"name_first_cp";s:5:"value";s:13:"name_first_cp";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:30;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:43;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"name_last_cp";s:5:"value";s:12:"name_last_cp";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:57;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"purpose_pipe";s:5:"value";s:12:"purpose_pipe";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:59;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:72;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:77;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"tbl_comp_person";s:5:"value";s:15:"tbl_comp_person";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:78;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"INNER JOIN";s:5:"value";s:10:"INNER JOIN";s:7:"keyword";s:10:"INNER JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:94;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:104;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"`tbl_pipelist`";s:5:"value";s:12:"tbl_pipelist";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:105;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:119;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:120;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"tbl_comp_person";s:5:"value";s:15:"tbl_comp_person";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:123;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:138;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"IDp";s:5:"value";s:3:"IDp";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:139;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:143;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:144;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"tbl_pipelist";s:5:"value";s:12:"tbl_pipelist";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:145;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:157;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"IDp";s:5:"value";s:3:"IDp";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:158;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:161;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:162;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:163;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:168;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"casein_pipe";s:5:"value";s:11:"casein_pipe";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:169;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:180;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:">";s:5:"value";s:1:">";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:181;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:182;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"'2016-03-01'";s:5:"value";s:10:"2016-03-01";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:183;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:195;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:196;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:199;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"`campaign_id_pipe`";s:5:"value";s:16:"campaign_id_pipe";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:201;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:219;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:220;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:221;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"24569";s:5:"value";i:24569;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:222;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:227;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"AND";s:5:"value";s:3:"AND";s:7:"keyword";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:228;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:231;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"`weeksonlist_pipe`";s:5:"value";s:16:"weeksonlist_pipe";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:232;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:250;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:251;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:252;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:253;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:254;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:255;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:263;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"`tbl_pipelist`";s:5:"value";s:12:"tbl_pipelist";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:264;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:278;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`casein_pipe`";s:5:"value";s:11:"casein_pipe";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:279;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:292;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:293;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:70;s:3:"idx";i:70;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:5:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:11:"casein_pipe";s:4:"expr";s:11:"casein_pipe";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:8:"email_cp";s:4:"expr";s:8:"email_cp";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:13:"name_first_cp";s:4:"expr";s:13:"name_first_cp";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:3;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:12:"name_last_cp";s:4:"expr";s:12:"name_last_cp";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:4;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:12:"purpose_pipe";s:4:"expr";s:12:"purpose_pipe";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:85:"(tbl_comp_person INNER JOIN `tbl_pipelist` ON tbl_comp_person.IDp = tbl_pipelist.IDp)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:5:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:11:"casein_pipe";i:1;s:10:"2016-03-01";}s:10:"isOperator";b:0;s:4:"expr";s:26:"casein_pipe > '2016-03-01'";}i:1;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:2;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:16:"campaign_id_pipe";}s:10:"isOperator";b:0;s:4:"expr";s:26:"`campaign_id_pipe` = 24569";}i:3;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:1;s:4:"expr";s:3:"AND";}i:4;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:16:"weeksonlist_pipe";}s:10:"isOperator";b:0;s:4:"expr";s:22:"`weeksonlist_pipe` = 1";}}s:5:"group";N;s:6:"having";N;s:5:"order";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:12:"tbl_pipelist";s:6:"column";s:11:"casein_pipe";s:4:"expr";s:28:"`tbl_pipelist`.`casein_pipe`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:68;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCase1.in000066400000000000000000000002041363525634600226520ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCase1.out000066400000000000000000000241421363525634600230620ustar00rootroot00000000000000a:4:{s:5:"query";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end FROM a;";s:3:"len";i:132;s:4:"last";i:132;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:50:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:130;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:131;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:50;s:3:"idx";i:50;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"else_result";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"alias";N;s:4:"expr";s:42:"CASE 1 WHEN 1 THEN "Some" ELSE "Other" END";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:47;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCase2.in000066400000000000000000000002121363525634600226520ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" else "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCase2.out000066400000000000000000000243341363525634600230660ustar00rootroot00000000000000a:4:{s:5:"query";s:138:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" else "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:138:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" else "Other" end FROM a;";s:3:"len";i:138;s:4:"last";i:138;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:52:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:93;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:98;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:99;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:100;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:102;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:107;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:114;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:119;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:126;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:127;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:131;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:135;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:136;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:137;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:52;s:3:"idx";i:52;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";N;s:10:"conditions";a:1:{i:0;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:0:{}s:11:"else_result";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"alias";N;s:4:"expr";s:42:"CASE WHEN 1=1 THEN "Some" ELSE "Other" END";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:49;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCase3.in000066400000000000000000000002231363525634600226550ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCase3.out000066400000000000000000000264251363525634600230720ustar00rootroot00000000000000a:4:{s:5:"query";s:147:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:147:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end FROM a;";s:3:"len";i:147;s:4:"last";i:147;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:58:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:93;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:98;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:99;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:100;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:102;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:107;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:114;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:119;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:120;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:121;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:123;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:128;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:135;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:136;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:140;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:144;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:145;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:146;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:58;s:3:"idx";i:58;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";N;s:10:"conditions";a:2:{i:0;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}i:1;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"2=1";}}}s:7:"results";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:0:{}s:11:"else_result";N;s:5:"alias";N;s:4:"expr";s:51:"CASE WHEN 1=1 THEN "Some" WHEN 2=1 THEN "Other" END";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:55;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCase4.in000066400000000000000000000002211363525634600226540ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 /* */ when 1 then "Some" when 2 then "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCase4.out000066400000000000000000000263361363525634600230740ustar00rootroot00000000000000a:4:{s:5:"query";s:145:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 /* */ when 1 then "Some" when 2 then "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:145:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 /* */ when 1 then "Some" when 2 then "Other" end FROM a;";s:3:"len";i:145;s:4:"last";i:145;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:56:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:94;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:95;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:100;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:102;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:107;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:114;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:119;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:121;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:126;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:133;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:134;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:137;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:138;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:143;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:144;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:56;s:3:"idx";i:56;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:7:"1 /* */";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"else_result";N;s:5:"alias";N;s:4:"expr";s:55:"CASE 1 /* */ WHEN 1 THEN "Some" WHEN 2 THEN "Other" END";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:53;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCase5.in000066400000000000000000000002261363525634600226620ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCase5.out000066400000000000000000000252261363525634600230720ustar00rootroot00000000000000a:4:{s:5:"query";s:150:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:150:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end FROM a;";s:3:"len";i:150;s:4:"last";i:150;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:58:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:92;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:100;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:104;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:105;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:107;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:112;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:119;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:123;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:124;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:126;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:131;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:138;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:139;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:143;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:147;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:148;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:149;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:58;s:3:"idx";i:58;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"test";s:4:"expr";s:60:"test=CASE 1 /* */ WHEN 1 THEN "Some" WHEN 2 THEN "Other" END";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:55;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias1.in000066400000000000000000000002461363525634600236320ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end /* */ AS /* */ foo FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias1.out000066400000000000000000000310411363525634600240300ustar00rootroot00000000000000a:4:{s:5:"query";s:166:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end /* */ AS /* */ foo FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:166:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end /* */ AS /* */ foo FROM a;";s:3:"len";i:166;s:4:"last";i:166;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:66:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:93;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:98;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:99;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:100;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:102;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:107;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:114;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:119;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:120;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:121;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:123;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:128;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:135;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:136;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:140;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:146;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:149;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:154;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:155;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:158;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:159;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:163;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:164;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:165;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:66;s:3:"idx";i:66;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";N;s:10:"conditions";a:2:{i:0;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}i:1;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"2=1";}}}s:7:"results";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:0:{}s:11:"else_result";N;s:5:"alias";s:3:"foo";s:4:"expr";s:60:"CASE WHEN 1=1 THEN "Some" WHEN 2=1 THEN "Other" END AS `foo`";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:63;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias2.in000066400000000000000000000002351363525634600236310ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end /* */ foo FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias2.out000066400000000000000000000276421363525634600240450ustar00rootroot00000000000000a:4:{s:5:"query";s:157:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end /* */ foo FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:157:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case /* */ when 1=1 then "Some" when 2=1 then "Other" end /* */ foo FROM a;";s:3:"len";i:157;s:4:"last";i:157;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:62:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:92;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:93;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:98;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:99;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:100;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:102;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:107;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:114;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:119;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:120;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:121;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:123;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:128;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:135;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:136;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:140;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:146;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:149;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:150;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:154;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:155;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:156;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:62;s:3:"idx";i:62;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";N;s:10:"conditions";a:2:{i:0;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}i:1;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"2=1";}}}s:7:"results";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:0:{}s:11:"else_result";N;s:5:"alias";s:3:"foo";s:4:"expr";s:60:"CASE WHEN 1=1 THEN "Some" WHEN 2=1 THEN "Other" END AS `foo`";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:59;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias3.in000066400000000000000000000002511363525634600236300ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end /* */ AS /* */ foo FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias3.out000066400000000000000000000276321363525634600240450ustar00rootroot00000000000000a:4:{s:5:"query";s:169:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end /* */ AS /* */ foo FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:169:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end /* */ AS /* */ foo FROM a;";s:3:"len";i:169;s:4:"last";i:169;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:66:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:92;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:100;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:104;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:105;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:107;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:112;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:119;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:123;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:124;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:126;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:131;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:138;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:139;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:143;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:149;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:151;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:152;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:157;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:158;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:161;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:162;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:166;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:167;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:168;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:66;s:3:"idx";i:66;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"test";s:4:"expr";s:69:"test=CASE 1 /* */ WHEN 1 THEN "Some" WHEN 2 THEN "Other" END AS `foo`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:63;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias4.in000066400000000000000000000002401363525634600236270ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end /* */ foo FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias4.out000066400000000000000000000264331363525634600240440ustar00rootroot00000000000000a:4:{s:5:"query";s:160:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end /* */ foo FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:160:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, test=case 1 /* */ when 1 then "Some" when 2 then "Other" end /* */ foo FROM a;";s:3:"len";i:160;s:4:"last";i:160;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:62:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:92;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:99;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:100;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:104;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:105;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:106;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:107;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:112;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:119;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:123;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:124;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:126;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:131;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:138;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:139;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"/* */";s:5:"value";s:5:"/* */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:143;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:149;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:152;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:153;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:157;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:158;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:159;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:62;s:3:"idx";i:62;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"test";s:4:"expr";s:69:"test=CASE 1 /* */ WHEN 1 THEN "Some" WHEN 2 THEN "Other" END AS `foo`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:59;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias5.in000066400000000000000000000002261363525634600236340ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS "string value" FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias5.out000066400000000000000000000254511363525634600240440ustar00rootroot00000000000000a:4:{s:5:"query";s:150:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS "string value" FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:150:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS "string value" FROM a;";s:3:"len";i:150;s:4:"last";i:150;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:54:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:""string value"";s:5:"value";s:12:"string value";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:128;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:143;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:147;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:148;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:149;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:54;s:3:"idx";i:54;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"else_result";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"alias";s:12:"string value";s:4:"expr";s:60:"CASE 1 WHEN 1 THEN "Some" ELSE "Other" END AS `string value`";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:51;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias6.in000066400000000000000000000002261363525634600236350ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS `symbol_value` FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAlias6.out000066400000000000000000000254511363525634600240450ustar00rootroot00000000000000a:4:{s:5:"query";s:150:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS `symbol_value` FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:150:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS `symbol_value` FROM a;";s:3:"len";i:150;s:4:"last";i:150;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:54:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"`symbol_value`";s:5:"value";s:12:"symbol_value";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:128;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:143;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:147;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:148;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:149;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:54;s:3:"idx";i:54;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"else_result";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"alias";s:12:"symbol_value";s:4:"expr";s:60:"CASE 1 WHEN 1 THEN "Some" ELSE "Other" END AS `symbol_value`";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:51;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAliasErr1.in000066400000000000000000000002161363525634600243000ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS AS foo FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAliasErr1.out000066400000000000000000000264501363525634600245110ustar00rootroot00000000000000a:4:{s:5:"query";s:142:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS AS foo FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:142:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS AS foo FROM a;";s:3:"len";i:142;s:4:"last";i:142;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:56:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:128;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:130;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:131;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:134;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:135;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:140;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:141;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:56;s:3:"idx";i:56;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"else_result";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"alias";N;s:4:"expr";s:42:"CASE 1 WHEN 1 THEN "Some" ELSE "Other" END";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:53;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:45:"Potential duplicate alias of CASE expression.";i:1;r:338;i:2;i:0;}i:1;a:3:{i:0;s:31:"An alias was expected after AS.";i:1;r:331;i:2;i:0;}i:2;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:338;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:352;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAliasErr2.in000066400000000000000000000002071363525634600243010ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAliasErr2.out000066400000000000000000000247561363525634600245210ustar00rootroot00000000000000a:4:{s:5:"query";s:135:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:135:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS FROM a;";s:3:"len";i:135;s:4:"last";i:135;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:52:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:128;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:133;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:134;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:52;s:3:"idx";i:52;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"else_result";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"alias";N;s:4:"expr";s:42:"CASE 1 WHEN 1 THEN "Some" ELSE "Other" END";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:49;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:39:"An alias expected after AS but got FROM";i:1;r:338;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAliasErr3.in000066400000000000000000000002171363525634600243030ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS foo bar FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAliasErr3.out000066400000000000000000000262431363525634600245130ustar00rootroot00000000000000a:4:{s:5:"query";s:143:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS foo bar FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:143:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" else "Other" end AS foo bar FROM a;";s:3:"len";i:143;s:4:"last";i:143;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:56:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:128;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:132;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:135;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:136;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:140;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:141;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:142;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:56;s:3:"idx";i:56;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"else_result";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"Other";s:4:"expr";s:7:""Other"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"alias";s:3:"foo";s:4:"expr";s:51:"CASE 1 WHEN 1 THEN "Some" ELSE "Other" END AS `foo`";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:53;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:30:"An alias was previously found.";i:1;r:352;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:352;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseAliasErr4.in000066400000000000000000000001141363525634600243000ustar00rootroot00000000000000SELECT CASE WHEN 2 IS NULL THEN "this is true" ELSE "this is false" END AS ;sql-parser-4.6.1/tests/data/parser/parseSelectCaseAliasErr4.out000066400000000000000000000135721363525634600245150ustar00rootroot00000000000000a:4:{s:5:"query";s:76:"SELECT CASE WHEN 2 IS NULL THEN "this is true" ELSE "this is false" END AS ;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:76:"SELECT CASE WHEN 2 IS NULL THEN "this is true" ELSE "this is false" END AS ;";s:3:"len";i:76;s:4:"last";i:76;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:26:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"CASE";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"WHEN";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"IS";s:5:"value";s:2:"IS";s:7:"keyword";s:2:"IS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:7:"keyword";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"THEN";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:27;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:""this is true"";s:5:"value";s:12:"this is true";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:32;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"ELSE";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:47;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:""this is false"";s:5:"value";s:13:"this is false";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:52;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:68;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:72;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:75;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:26;s:3:"idx";i:26;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";N;s:10:"conditions";a:1:{i:0;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:9:"2 IS NULL";}}}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:12:"this is true";s:4:"expr";s:14:""this is true"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:0:{}s:11:"else_result";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:13:"this is false";s:4:"expr";s:15:""this is false"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"alias";N;s:4:"expr";s:64:"CASE WHEN 2 IS NULL THEN "this is true" ELSE "this is false" END";}}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:23;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:31:"An alias was expected after AS.";i:1;r:170;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr1.in000066400000000000000000000002041363525634600233230ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 then 1 then "Some" else "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr1.out000066400000000000000000000241011363525634600235260ustar00rootroot00000000000000a:4:{s:5:"query";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 then 1 then "Some" else "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 then 1 then "Some" else "Other" end FROM a;";s:3:"len";i:132;s:4:"last";i:132;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:50:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:130;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:131;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:50;s:3:"idx";i:50;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:0:{}s:14:"compare_values";a:0:{}s:11:"else_result";N;s:5:"alias";N;s:4:"expr";s:0:"";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:47;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:9:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:226;i:2;i:0;}i:1;a:3:{i:0;s:33:"Unexpected end of CASE expression";i:1;r:219;i:2;i:0;}i:2;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:226;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:240;i:2;i:0;}i:4;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:254;i:2;i:0;}i:5;a:3:{i:0;s:17:"Unexpected token.";i:1;r:268;i:2;i:0;}i:6;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:282;i:2;i:0;}i:7;a:3:{i:0;s:17:"Unexpected token.";i:1;r:296;i:2;i:0;}i:8;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:310;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr2.in000066400000000000000000000002041363525634600233240ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case then 1=1 then "Some" else "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr2.out000066400000000000000000000240201363525634600235270ustar00rootroot00000000000000a:4:{s:5:"query";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case then 1=1 then "Some" else "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case then 1=1 then "Some" else "Other" end FROM a;";s:3:"len";i:132;s:4:"last";i:132;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:50:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:92;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:130;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:131;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:50;s:3:"idx";i:50;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";N;s:10:"conditions";a:0:{}s:7:"results";a:0:{}s:14:"compare_values";a:0:{}s:11:"else_result";N;s:5:"alias";N;s:4:"expr";s:0:"";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:47;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:11:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:212;i:2;i:0;}i:1;a:3:{i:0;s:33:"Unexpected end of CASE expression";i:1;r:205;i:2;i:0;}i:2;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:212;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:226;i:2;i:0;}i:4;a:3:{i:0;s:17:"Unexpected token.";i:1;r:233;i:2;i:0;}i:5;a:3:{i:0;s:17:"Unexpected token.";i:1;r:240;i:2;i:0;}i:6;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:254;i:2;i:0;}i:7;a:3:{i:0;s:17:"Unexpected token.";i:1;r:268;i:2;i:0;}i:8;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:282;i:2;i:0;}i:9;a:3:{i:0;s:17:"Unexpected token.";i:1;r:296;i:2;i:0;}i:10;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:310;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr3.in000066400000000000000000000002041363525634600233250ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case when 1=1 when "Some" else "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr3.out000066400000000000000000000236551363525634600235450ustar00rootroot00000000000000a:4:{s:5:"query";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case when 1=1 when "Some" else "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case when 1=1 when "Some" else "Other" end FROM a;";s:3:"len";i:132;s:4:"last";i:132;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:50:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:92;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:130;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:131;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:50;s:3:"idx";i:50;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";N;s:10:"conditions";a:1:{i:0;a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}}s:7:"results";a:0:{}s:14:"compare_values";a:0:{}s:11:"else_result";N;s:5:"alias";N;s:4:"expr";s:0:"";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:47;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:7:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:254;i:2;i:0;}i:1;a:3:{i:0;s:33:"Unexpected end of CASE expression";i:1;r:247;i:2;i:0;}i:2;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:254;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:268;i:2;i:0;}i:4;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:282;i:2;i:0;}i:5;a:3:{i:0;s:17:"Unexpected token.";i:1;r:296;i:2;i:0;}i:6;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:310;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr4.in000066400000000000000000000002041363525634600233260ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 then 1 when "Some" else "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr4.out000066400000000000000000000241011363525634600235310ustar00rootroot00000000000000a:4:{s:5:"query";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 then 1 when "Some" else "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:132:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 then 1 when "Some" else "Other" end FROM a;";s:3:"len";i:132;s:4:"last";i:132;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:50:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"else";s:5:"value";s:4:"ELSE";s:7:"keyword";s:4:"ELSE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:120;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:121;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:124;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:125;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:130;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:131;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:50;s:3:"idx";i:50;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:0:{}s:14:"compare_values";a:0:{}s:11:"else_result";N;s:5:"alias";N;s:4:"expr";s:0:"";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:47;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:9:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:226;i:2;i:0;}i:1;a:3:{i:0;s:33:"Unexpected end of CASE expression";i:1;r:219;i:2;i:0;}i:2;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:226;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:240;i:2;i:0;}i:4;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:254;i:2;i:0;}i:5;a:3:{i:0;s:17:"Unexpected token.";i:1;r:268;i:2;i:0;}i:6;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:282;i:2;i:0;}i:7;a:3:{i:0;s:17:"Unexpected token.";i:1;r:296;i:2;i:0;}i:8;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:310;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr5.in000066400000000000000000000002131363525634600233270ustar00rootroot00000000000000select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" when 2 when "Other" end FROM a;sql-parser-4.6.1/tests/data/parser/parseSelectCaseErr5.out000066400000000000000000000257311363525634600235440ustar00rootroot00000000000000a:4:{s:5:"query";s:139:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" when 2 when "Other" end FROM a;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:139:"select (SELECT name FROM mysql.help_category WHERE help_category_id = 1) as name, case 1 when 1 then "Some" when 2 when "Other" end FROM a;";s:3:"len";i:139;s:4:"last";i:139;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:54:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"mysql";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"help_category";s:5:"value";s:13:"help_category";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:16:"help_category_id";s:5:"value";s:16:"help_category_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:68;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"name";s:5:"value";s:4:"name";s:7:"keyword";s:4:"NAME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"case";s:5:"value";s:4:"CASE";s:7:"keyword";s:4:"CASE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:88;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:89;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:93;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:95;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"then";s:5:"value";s:4:"THEN";s:7:"keyword";s:4:"THEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:96;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Some"";s:5:"value";s:4:"Some";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:101;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:113;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:114;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"when";s:5:"value";s:4:"WHEN";s:7:"keyword";s:4:"WHEN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:115;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:119;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:""Other"";s:5:"value";s:5:"Other";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:120;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"end";s:5:"value";s:3:"end";s:7:"keyword";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:128;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:132;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:136;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:137;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:138;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:54;s:3:"idx";i:54;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:65:"(SELECT name FROM mysql.help_category WHERE help_category_id = 1)";s:5:"alias";s:4:"name";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:46:"PhpMyAdmin\SqlParser\Components\CaseExpression":7:{s:5:"value";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:10:"conditions";a:0:{}s:7:"results";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Some";s:4:"expr";s:6:""Some"";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:14:"compare_values";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"else_result";N;s:5:"alias";N;s:4:"expr";s:0:"";}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"a";s:6:"column";N;s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:51;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:5:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:310;i:2;i:0;}i:1;a:3:{i:0;s:33:"Unexpected end of CASE expression";i:1;r:303;i:2;i:0;}i:2;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:310;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:324;i:2;i:0;}i:4;a:3:{i:0;s:21:"Unrecognized keyword.";i:1;r:338;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectEndOptions1.in000066400000000000000000000001261363525634600240640ustar00rootroot00000000000000SELECT pid, name2 FROM tablename WHERE pid = 20 /* FOR UPDATE end_option */ FOR UPDATEsql-parser-4.6.1/tests/data/parser/parseSelectEndOptions1.out000066400000000000000000000125761363525634600243010ustar00rootroot00000000000000a:4:{s:5:"query";s:86:"SELECT pid, name2 FROM tablename WHERE pid = 20 /* FOR UPDATE end_option */ FOR UPDATE";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:86:"SELECT pid, name2 FROM tablename WHERE pid = 20 /* FOR UPDATE end_option */ FOR UPDATE";s:3:"len";i:86;s:4:"last";i:86;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:23:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pid";s:5:"value";s:3:"pid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"name2";s:5:"value";s:5:"name2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"tablename";s:5:"value";s:9:"tablename";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pid";s:5:"value";s:3:"pid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:43;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"20";s:5:"value";i:20;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:27:"/* FOR UPDATE end_option */";s:5:"value";s:27:"/* FOR UPDATE end_option */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:48;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"FOR UPDATE";s:5:"value";s:10:"FOR UPDATE";s:7:"keyword";s:10:"FOR UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:76;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:23;s:3:"idx";i:23;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:3:"pid";s:4:"expr";s:3:"pid";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"name2";s:4:"expr";s:5:"name2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"tablename";s:6:"column";N;s:4:"expr";s:9:"tablename";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:3:"pid";}s:10:"isOperator";b:0;s:4:"expr";s:8:"pid = 20";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:10:"FOR UPDATE";}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:21;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectEndOptions2.in000066400000000000000000000001461363525634600240670ustar00rootroot00000000000000SELECT pid, name2 FROM tablename WHERE pid = 20 /* LOCK IN SHARE MODE end_option */ LOCK IN SHARE MODEsql-parser-4.6.1/tests/data/parser/parseSelectEndOptions2.out000066400000000000000000000127221363525634600242730ustar00rootroot00000000000000a:4:{s:5:"query";s:102:"SELECT pid, name2 FROM tablename WHERE pid = 20 /* LOCK IN SHARE MODE end_option */ LOCK IN SHARE MODE";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:102:"SELECT pid, name2 FROM tablename WHERE pid = 20 /* LOCK IN SHARE MODE end_option */ LOCK IN SHARE MODE";s:3:"len";i:102;s:4:"last";i:102;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:23:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pid";s:5:"value";s:3:"pid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"name2";s:5:"value";s:5:"name2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"tablename";s:5:"value";s:9:"tablename";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pid";s:5:"value";s:3:"pid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:43;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"20";s:5:"value";i:20;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:35:"/* LOCK IN SHARE MODE end_option */";s:5:"value";s:35:"/* LOCK IN SHARE MODE end_option */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:48;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:83;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"LOCK IN SHARE MODE";s:5:"value";s:18:"LOCK IN SHARE MODE";s:7:"keyword";s:18:"LOCK IN SHARE MODE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:84;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:23;s:3:"idx";i:23;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:3:"pid";s:4:"expr";s:3:"pid";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"name2";s:4:"expr";s:5:"name2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"tablename";s:6:"column";N;s:4:"expr";s:9:"tablename";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:3:"pid";}s:10:"isOperator";b:0;s:4:"expr";s:8:"pid = 20";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:18:"LOCK IN SHARE MODE";}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:21;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectEndOptionsErr.in000066400000000000000000000001641363525634600244560ustar00rootroot00000000000000SELECT pid, name2 FROM tablename WHERE pid = 20 /* USE both end_option, gives error */ FOR UPDATE LOCK IN SHARE MODEsql-parser-4.6.1/tests/data/parser/parseSelectEndOptionsErr.out000066400000000000000000000136521363525634600246650ustar00rootroot00000000000000a:4:{s:5:"query";s:116:"SELECT pid, name2 FROM tablename WHERE pid = 20 /* USE both end_option, gives error */ FOR UPDATE LOCK IN SHARE MODE";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:116:"SELECT pid, name2 FROM tablename WHERE pid = 20 /* USE both end_option, gives error */ FOR UPDATE LOCK IN SHARE MODE";s:3:"len";i:116;s:4:"last";i:116;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:25:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pid";s:5:"value";s:3:"pid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"name2";s:5:"value";s:5:"name2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"tablename";s:5:"value";s:9:"tablename";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pid";s:5:"value";s:3:"pid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:43;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"20";s:5:"value";i:20;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:45;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:38:"/* USE both end_option, gives error */";s:5:"value";s:38:"/* USE both end_option, gives error */";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:2;s:8:"position";i:48;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"FOR UPDATE";s:5:"value";s:10:"FOR UPDATE";s:7:"keyword";s:10:"FOR UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:87;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"LOCK IN SHARE MODE";s:5:"value";s:18:"LOCK IN SHARE MODE";s:7:"keyword";s:18:"LOCK IN SHARE MODE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:98;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:25;s:3:"idx";i:25;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:3:"pid";s:4:"expr";s:3:"pid";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"name2";s:4:"expr";s:5:"name2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"tablename";s:6:"column";N;s:4:"expr";s:9:"tablename";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:3:"pid";}s:10:"isOperator";b:0;s:4:"expr";s:8:"pid = 20";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:1;s:10:"FOR UPDATE";i:3;s:18:"LOCK IN SHARE MODE";}}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:23;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:40:"This option conflicts with "FOR UPDATE".";i:1;r:170;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectErr1.in000066400000000000000000000003341363525634600225330ustar00rootroot00000000000000SELECT ALL DISTINCT MAX_STATEMENT_TIME = 10 1 + 2 AS result, @idx, id, test.`users`.username AS FROM `test`.users PARTITION (p1, p2) WHERE id > 0 ORDER BY username DESC, id LIMIT 2, 3;sql-parser-4.6.1/tests/data/parser/parseSelectErr1.out000066400000000000000000000361501363525634600227410ustar00rootroot00000000000000a:4:{s:5:"query";s:220:"SELECT ALL DISTINCT MAX_STATEMENT_TIME = 10 1 + 2 AS result, @idx, id, test.`users`.username AS FROM `test`.users PARTITION (p1, p2) WHERE id > 0 ORDER BY username DESC, id LIMIT 2, 3;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:220:"SELECT ALL DISTINCT MAX_STATEMENT_TIME = 10 1 + 2 AS result, @idx, id, test.`users`.username AS FROM `test`.users PARTITION (p1, p2) WHERE id > 0 ORDER BY username DESC, id LIMIT 2, 3;";s:3:"len";i:220;s:4:"last";i:220;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:77:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ALL";s:5:"value";s:3:"ALL";s:7:"keyword";s:3:"ALL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"MAX_STATEMENT_TIME";s:5:"value";s:18:"MAX_STATEMENT_TIME";s:7:"keyword";s:18:"MAX_STATEMENT_TIME";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:39;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:41;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:48;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:52;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:54;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"result";s:5:"value";s:6:"result";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:57;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:63;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:64;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"@idx";s:5:"value";s:3:"idx";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:69;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:73;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:79;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:81;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:87;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:91;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`users`";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:92;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:99;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:100;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:108;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:109;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:112;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:116;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`test`";s:5:"value";s:4:"test";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:121;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:127;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:128;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:133;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"PARTITION";s:5:"value";s:9:"PARTITION";s:7:"keyword";s:9:"PARTITION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:138;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:147;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:148;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p1";s:5:"value";s:2:"p1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:149;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:151;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:152;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"p2";s:5:"value";s:2:"p2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:153;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:155;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:156;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:157;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:162;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:167;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:169;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:">";s:5:"value";s:1:">";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:170;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:171;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:172;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:173;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:174;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:182;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:187;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:195;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"DESC";s:5:"value";s:4:"DESC";s:7:"keyword";s:4:"DESC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:196;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:200;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:201;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:206;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:208;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:209;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:214;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:215;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:216;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:217;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"3";s:5:"value";i:3;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:218;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:219;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:77;s:3:"idx";i:77;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:4:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:5:"1 + 2";s:5:"alias";s:6:"result";s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:4:"@idx";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:3;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:4:"test";s:5:"table";s:5:"users";s:6:"column";s:8:"username";s:4:"expr";s:21:"test.`users`.username";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:4:"test";s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:12:"`test`.users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";O:40:"PhpMyAdmin\SqlParser\Components\ArrayObj":2:{s:3:"raw";a:2:{i:0;s:2:"p1";i:1;s:2:"p2";}s:6:"values";a:2:{i:0;s:2:"p1";i:1;s:2:"p2";}}s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:2:"id";}s:10:"isOperator";b:0;s:4:"expr";s:6:"id > 0";}}s:5:"group";N;s:6:"having";N;s:5:"order";a:2:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:8:"username";s:4:"expr";s:8:"username";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:4:"DESC";}i:1;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:2;s:8:"rowCount";i:3;}s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:3:{i:1;s:3:"ALL";i:3;a:4:{s:4:"name";s:18:"MAX_STATEMENT_TIME";s:6:"equals";b:1;s:4:"expr";s:2:"10";s:5:"value";s:2:"10";}i:13;s:8:"DISTINCT";}}s:5:"first";i:0;s:4:"last";i:74;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:2:{i:0;a:3:{i:0;s:33:"This option conflicts with "ALL".";i:1;r:37;i:2;i:0;}i:1;a:3:{i:0;s:22:"An alias was expected.";i:1;r:261;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectErr2.in000066400000000000000000000000431363525634600225310ustar00rootroot00000000000000select * from foobar where foo = @ sql-parser-4.6.1/tests/data/parser/parseSelectErr2.out000066400000000000000000000077001363525634600227410ustar00rootroot00000000000000a:4:{s:5:"query";s:35:"select * from foobar where foo = @ ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:35:"select * from foobar where foo = @ ";s:3:"len";i:35;s:4:"last";i:35;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:16:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"foobar";s:5:"value";s:6:"foobar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"where";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:31;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"@";s:5:"value";s:0:"";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:33;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:16;s:3:"idx";i:16;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"foobar";s:6:"column";N;s:4:"expr";s:6:"foobar";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:3:"foo";i:1;s:0:"";}s:10:"isOperator";b:0;s:4:"expr";s:7:"foo = @";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:14;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:1:{i:0;a:4:{i:0;s:27:"Variable name was expected.";i:1;s:1:" ";i:2;i:34;i:3;i:0;}}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectIndexHint1.in000066400000000000000000000001451363525634600236750ustar00rootroot00000000000000SELECT * FROM address FORCE INDEX (idx_fk_city_id) IGNORE KEY FOR GROUP BY (a, b,c) WHERE city_id<0;sql-parser-4.6.1/tests/data/parser/parseSelectIndexHint1.out000066400000000000000000000204721363525634600241030ustar00rootroot00000000000000a:4:{s:5:"query";s:101:"SELECT * FROM address FORCE INDEX (idx_fk_city_id) IGNORE KEY FOR GROUP BY (a, b,c) WHERE city_id<0;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:101:"SELECT * FROM address FORCE INDEX (idx_fk_city_id) IGNORE KEY FOR GROUP BY (a, b,c) WHERE city_id<0;";s:3:"len";i:101;s:4:"last";i:101;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:40:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"address";s:5:"value";s:7:"address";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"FORCE";s:5:"value";s:5:"FORCE";s:7:"keyword";s:5:"FORCE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:23;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:28;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"INDEX";s:5:"value";s:5:"INDEX";s:7:"keyword";s:5:"INDEX";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:29;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:35;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"idx_fk_city_id";s:5:"value";s:14:"idx_fk_city_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:36;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"IGNORE";s:5:"value";s:6:"IGNORE";s:7:"keyword";s:6:"IGNORE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:59;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"FOR";s:5:"value";s:3:"FOR";s:7:"keyword";s:3:"FOR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:63;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"GROUP BY";s:5:"value";s:8:"GROUP BY";s:7:"keyword";s:8:"GROUP BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:67;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:77;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:78;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:80;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:81;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"c";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:82;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:83;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:85;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"city_id";s:5:"value";s:7:"city_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:91;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"<";s:5:"value";s:1:"<";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:98;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:99;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:100;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:40;s:3:"idx";i:40;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"address";s:6:"column";N;s:4:"expr";s:7:"address";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";a:2:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\IndexHint":4:{s:4:"type";s:5:"FORCE";s:10:"indexOrKey";s:5:"INDEX";s:3:"for";N;s:7:"indexes";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:16:"(idx_fk_city_id)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}i:1;O:41:"PhpMyAdmin\SqlParser\Components\IndexHint":4:{s:4:"type";s:6:"IGNORE";s:10:"indexOrKey";s:3:"KEY";s:3:"for";s:8:"GROUP BY";s:7:"indexes";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:8:"(a, b,c)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}}s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:7:"city_id";}s:10:"isOperator";b:0;s:4:"expr";s:9:"city_id<0";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:37;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectIndexHint2.in000066400000000000000000000001411363525634600236720ustar00rootroot00000000000000SELECT * FROM address USE INDEX (idx_fk_city_id) FORCE KEY FOR GROUP BY (a, b,c) WHERE city_id<0sql-parser-4.6.1/tests/data/parser/parseSelectIndexHint2.out000066400000000000000000000202131363525634600240750ustar00rootroot00000000000000a:4:{s:5:"query";s:97:"SELECT * FROM address USE INDEX (idx_fk_city_id) FORCE KEY FOR GROUP BY (a, b,c) WHERE city_id<0";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:97:"SELECT * FROM address USE INDEX (idx_fk_city_id) FORCE KEY FOR GROUP BY (a, b,c) WHERE city_id<0";s:3:"len";i:97;s:4:"last";i:97;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:39:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:8;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"address";s:5:"value";s:7:"address";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"USE";s:5:"value";s:3:"USE";s:7:"keyword";s:3:"USE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:23;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"INDEX";s:5:"value";s:5:"INDEX";s:7:"keyword";s:5:"INDEX";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"idx_fk_city_id";s:5:"value";s:14:"idx_fk_city_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:48;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"FORCE";s:5:"value";s:5:"FORCE";s:7:"keyword";s:5:"FORCE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:50;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:7:"keyword";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:56;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"FOR";s:5:"value";s:3:"FOR";s:7:"keyword";s:3:"FOR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:60;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"GROUP BY";s:5:"value";s:8:"GROUP BY";s:7:"keyword";s:8:"GROUP BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:64;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:73;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:74;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:75;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:77;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:78;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"c";s:5:"value";s:1:"c";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:79;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:80;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"city_id";s:5:"value";s:7:"city_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:88;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"<";s:5:"value";s:1:"<";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:95;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:96;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:39;s:3:"idx";i:39;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"address";s:6:"column";N;s:4:"expr";s:7:"address";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";a:2:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\IndexHint":4:{s:4:"type";s:3:"USE";s:10:"indexOrKey";s:5:"INDEX";s:3:"for";N;s:7:"indexes";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:16:"(idx_fk_city_id)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}i:1;O:41:"PhpMyAdmin\SqlParser\Components\IndexHint":4:{s:4:"type";s:5:"FORCE";s:10:"indexOrKey";s:3:"KEY";s:3:"for";s:8:"GROUP BY";s:7:"indexes";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:8:"(a, b,c)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}}s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:7:"city_id";}s:10:"isOperator";b:0;s:4:"expr";s:9:"city_id<0";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:37;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectIndexHintErr1.in000066400000000000000000000000611363525634600243430ustar00rootroot00000000000000SELECT * FROM address FORCE INT (idx_fk_city_id);sql-parser-4.6.1/tests/data/parser/parseSelectIndexHintErr1.out000066400000000000000000000104571363525634600245560ustar00rootroot00000000000000a:4:{s:5:"query";s:49:"SELECT * FROM address FORCE INT (idx_fk_city_id);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:49:"SELECT * FROM address FORCE INT (idx_fk_city_id);";s:3:"len";i:49;s:4:"last";i:49;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:17:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"address";s:5:"value";s:7:"address";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"FORCE";s:5:"value";s:5:"FORCE";s:7:"keyword";s:5:"FORCE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"idx_fk_city_id";s:5:"value";s:14:"idx_fk_city_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:47;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:48;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:17;s:3:"idx";i:17;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"address";s:6:"column";N;s:4:"expr";s:7:"address";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\IndexHint":4:{s:4:"type";s:5:"FORCE";s:10:"indexOrKey";N;s:3:"for";N;s:7:"indexes";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:16:"(idx_fk_city_id)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}}s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:14;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:79;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectIndexHintErr2.in000066400000000000000000000000611363525634600243440ustar00rootroot00000000000000SELECT * FROM address FORCE abc (idx_fk_city_id);sql-parser-4.6.1/tests/data/parser/parseSelectIndexHintErr2.out000066400000000000000000000102171363525634600245510ustar00rootroot00000000000000a:4:{s:5:"query";s:49:"SELECT * FROM address FORCE abc (idx_fk_city_id);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:49:"SELECT * FROM address FORCE abc (idx_fk_city_id);";s:3:"len";i:49;s:4:"last";i:49;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:17:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"address";s:5:"value";s:7:"address";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"FORCE";s:5:"value";s:5:"FORCE";s:7:"keyword";s:5:"FORCE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"abc";s:5:"value";s:3:"abc";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"idx_fk_city_id";s:5:"value";s:14:"idx_fk_city_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:33;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:47;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:48;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:17;s:3:"idx";i:17;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"address";s:6:"column";N;s:4:"expr";s:7:"address";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";a:0:{}s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:14;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:79;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:93;i:2;i:0;}i:2;a:3:{i:0;s:17:"Unexpected token.";i:1;r:100;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectIndexHintErr3.in000066400000000000000000000000731363525634600243500ustar00rootroot00000000000000SELECT * FROM address FORCE INDEX FOR abc (idx_fk_city_id);sql-parser-4.6.1/tests/data/parser/parseSelectIndexHintErr3.out000066400000000000000000000114341363525634600245540ustar00rootroot00000000000000a:4:{s:5:"query";s:59:"SELECT * FROM address FORCE INDEX FOR abc (idx_fk_city_id);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:59:"SELECT * FROM address FORCE INDEX FOR abc (idx_fk_city_id);";s:3:"len";i:59;s:4:"last";i:59;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"address";s:5:"value";s:7:"address";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"FORCE";s:5:"value";s:5:"FORCE";s:7:"keyword";s:5:"FORCE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"INDEX";s:5:"value";s:5:"INDEX";s:7:"keyword";s:5:"INDEX";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"FOR";s:5:"value";s:3:"FOR";s:7:"keyword";s:3:"FOR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"abc";s:5:"value";s:3:"abc";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:42;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"idx_fk_city_id";s:5:"value";s:14:"idx_fk_city_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:43;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:57;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:58;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"address";s:6:"column";N;s:4:"expr";s:7:"address";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";a:0:{}s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:18;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:4:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:107;i:2;i:0;}i:1;a:3:{i:0;s:17:"Unexpected token.";i:1;r:121;i:2;i:0;}i:2;a:3:{i:0;s:17:"Unexpected token.";i:1;r:128;i:2;i:0;}i:3;a:3:{i:0;s:17:"Unexpected token.";i:1;r:135;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectIndexHintErr4.in000066400000000000000000000000731363525634600243510ustar00rootroot00000000000000SELECT * FROM address FORCE INDEX FOR INT (idx_fk_city_id);sql-parser-4.6.1/tests/data/parser/parseSelectIndexHintErr4.out000066400000000000000000000117051363525634600245560ustar00rootroot00000000000000a:4:{s:5:"query";s:59:"SELECT * FROM address FORCE INDEX FOR INT (idx_fk_city_id);";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:59:"SELECT * FROM address FORCE INDEX FOR INT (idx_fk_city_id);";s:3:"len";i:59;s:4:"last";i:59;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"address";s:5:"value";s:7:"address";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"FORCE";s:5:"value";s:5:"FORCE";s:7:"keyword";s:5:"FORCE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"INDEX";s:5:"value";s:5:"INDEX";s:7:"keyword";s:5:"INDEX";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"FOR";s:5:"value";s:3:"FOR";s:7:"keyword";s:3:"FOR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:7:"keyword";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:38;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:42;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"idx_fk_city_id";s:5:"value";s:14:"idx_fk_city_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:43;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:57;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:58;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:21;s:3:"idx";i:21;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:7:"address";s:6:"column";N;s:4:"expr";s:7:"address";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\IndexHint":4:{s:4:"type";s:5:"FORCE";s:10:"indexOrKey";s:5:"INDEX";s:3:"for";N;s:7:"indexes";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:16:"(idx_fk_city_id)";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}}}s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:18;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:19:"Unexpected keyword.";i:1;r:107;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectIntoOptions1.in000066400000000000000000000002301363525634600242630ustar00rootroot00000000000000SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM test_table;sql-parser-4.6.1/tests/data/parser/parseSelectIntoOptions1.out000066400000000000000000000221751363525634600245000ustar00rootroot00000000000000a:4:{s:5:"query";s:152:"SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM test_table;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:152:"SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM test_table;";s:3:"len";i:152;s:4:"last";i:152;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:39:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:10;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:11;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:12;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"OUTFILE";s:5:"value";s:7:"OUTFILE";s:7:"keyword";s:7:"OUTFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"'/tmp/result.txt'";s:5:"value";s:15:"/tmp/result.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:28;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"FIELDS";s:5:"value";s:6:"FIELDS";s:7:"keyword";s:6:"FIELDS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:50;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:57;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"','";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"OPTIONALLY";s:5:"value";s:10:"OPTIONALLY";s:7:"keyword";s:10:"OPTIONALLY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:75;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"ENCLOSED BY";s:5:"value";s:11:"ENCLOSED BY";s:7:"keyword";s:11:"ENCLOSED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:86;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'\"'";s:5:"value";s:1:""";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:98;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LINES";s:5:"value";s:5:"LINES";s:7:"keyword";s:5:"LINES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:107;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:113;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:126;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'\n'";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:127;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:136;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:140;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"test_table";s:5:"value";s:10:"test_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:141;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:151;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:39;s:3:"idx";i:39;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:3:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"b";s:4:"expr";s:1:"b";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:3:"a+b";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"test_table";s:6:"column";N;s:4:"expr";s:10:"test_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";s:7:"OUTFILE";s:4:"dest";s:15:"/tmp/result.txt";s:7:"columns";N;s:6:"values";N;s:14:"fields_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:3:{i:1;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:",";s:4:"expr";s:3:"','";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"','";}i:2;s:10:"OPTIONALLY";i:3;a:4:{s:4:"name";s:11:"ENCLOSED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:""";s:4:"expr";s:4:"'\"'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"'\"'";}}}s:14:"fields_keyword";b:1;s:13:"lines_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:" ";s:4:"expr";s:4:"'\n'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"'\n'";}}}}s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:36;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectIntoOptions2.in000066400000000000000000000002311363525634600242650ustar00rootroot00000000000000SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM test_table;sql-parser-4.6.1/tests/data/parser/parseSelectIntoOptions2.out000066400000000000000000000222021363525634600244700ustar00rootroot00000000000000a:4:{s:5:"query";s:153:"SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM test_table;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:153:"SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM test_table;";s:3:"len";i:153;s:4:"last";i:153;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:39:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:10;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:11;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:12;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"OUTFILE";s:5:"value";s:7:"OUTFILE";s:7:"keyword";s:7:"OUTFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"'/tmp/result.txt'";s:5:"value";s:15:"/tmp/result.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:28;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COLUMNS";s:5:"value";s:7:"COLUMNS";s:7:"keyword";s:7:"COLUMNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:50;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:58;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"','";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:72;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"OPTIONALLY";s:5:"value";s:10:"OPTIONALLY";s:7:"keyword";s:10:"OPTIONALLY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:76;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"ENCLOSED BY";s:5:"value";s:11:"ENCLOSED BY";s:7:"keyword";s:11:"ENCLOSED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:87;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'\"'";s:5:"value";s:1:""";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:99;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:103;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LINES";s:5:"value";s:5:"LINES";s:7:"keyword";s:5:"LINES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:114;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:127;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'\n'";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:128;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:137;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:141;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"test_table";s:5:"value";s:10:"test_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:142;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:152;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:39;s:3:"idx";i:39;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:3:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"b";s:4:"expr";s:1:"b";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:3:"a+b";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"test_table";s:6:"column";N;s:4:"expr";s:10:"test_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";s:7:"OUTFILE";s:4:"dest";s:15:"/tmp/result.txt";s:7:"columns";N;s:6:"values";N;s:14:"fields_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:3:{i:1;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:",";s:4:"expr";s:3:"','";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"','";}i:2;s:10:"OPTIONALLY";i:3;a:4:{s:4:"name";s:11:"ENCLOSED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:""";s:4:"expr";s:4:"'\"'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"'\"'";}}}s:14:"fields_keyword";b:0;s:13:"lines_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:" ";s:4:"expr";s:4:"'\n'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"'\n'";}}}}s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:36;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectIntoOptions3.in000066400000000000000000000001741363525634600242740ustar00rootroot00000000000000SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' FROM test_table;sql-parser-4.6.1/tests/data/parser/parseSelectIntoOptions3.out000066400000000000000000000174411363525634600245020ustar00rootroot00000000000000a:4:{s:5:"query";s:124:"SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' FROM test_table;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:124:"SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' FROM test_table;";s:3:"len";i:124;s:4:"last";i:124;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:33:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:10;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:11;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"+";s:5:"value";s:1:"+";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:12;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:13;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:7:"keyword";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:15;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"OUTFILE";s:5:"value";s:7:"OUTFILE";s:7:"keyword";s:7:"OUTFILE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"'/tmp/result.txt'";s:5:"value";s:15:"/tmp/result.txt";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:28;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COLUMNS";s:5:"value";s:7:"COLUMNS";s:7:"keyword";s:7:"COLUMNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:50;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:57;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"TERMINATED BY";s:5:"value";s:13:"TERMINATED BY";s:7:"keyword";s:13:"TERMINATED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:58;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"','";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:72;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"OPTIONALLY";s:5:"value";s:10:"OPTIONALLY";s:7:"keyword";s:10:"OPTIONALLY";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:76;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"ENCLOSED BY";s:5:"value";s:11:"ENCLOSED BY";s:7:"keyword";s:11:"ENCLOSED BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:87;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"'\"'";s:5:"value";s:1:""";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:99;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:103;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:108;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"test_table";s:5:"value";s:10:"test_table";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:113;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:123;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:33;s:3:"idx";i:33;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:3:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"b";s:4:"expr";s:1:"b";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:3:"a+b";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"test_table";s:6:"column";N;s:4:"expr";s:10:"test_table";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";O:43:"PhpMyAdmin\SqlParser\Components\IntoKeyword":7:{s:4:"type";s:7:"OUTFILE";s:4:"dest";s:15:"/tmp/result.txt";s:7:"columns";N;s:6:"values";N;s:14:"fields_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:3:{i:1;a:4:{s:4:"name";s:13:"TERMINATED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:",";s:4:"expr";s:3:"','";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:3:"','";}i:2;s:10:"OPTIONALLY";i:3;a:4:{s:4:"name";s:11:"ENCLOSED BY";s:6:"equals";b:0;s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:""";s:4:"expr";s:4:"'\"'";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:5:"value";s:4:"'\"'";}}}s:14:"fields_keyword";b:0;s:13:"lines_options";N;}s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:30;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinCross.in000066400000000000000000000001561363525634600236350ustar00rootroot00000000000000SELECT table112.id,table112.bval1,table112.bval2, table111.id,table111.aval1 FROM table112 CROSS JOIN table111sql-parser-4.6.1/tests/data/parser/parseSelectJoinCross.out000066400000000000000000000165311363525634600240420ustar00rootroot00000000000000a:4:{s:5:"query";s:110:"SELECT table112.id,table112.bval1,table112.bval2, table111.id,table111.aval1 FROM table112 CROSS JOIN table111";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:110:"SELECT table112.id,table112.bval1,table112.bval2, table111.id,table111.aval1 FROM table112 CROSS JOIN table111";s:3:"len";i:110;s:4:"last";i:110;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:31:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table112";s:5:"value";s:8:"table112";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table112";s:5:"value";s:8:"table112";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:27;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"bval1";s:5:"value";s:5:"bval1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table112";s:5:"value";s:8:"table112";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:42;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"bval2";s:5:"value";s:5:"bval2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:43;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:48;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table111";s:5:"value";s:8:"table111";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:58;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:59;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:61;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table111";s:5:"value";s:8:"table111";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:62;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:70;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"aval1";s:5:"value";s:5:"aval1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:71;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:77;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table112";s:5:"value";s:8:"table112";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:82;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"CROSS JOIN";s:5:"value";s:10:"CROSS JOIN";s:7:"keyword";s:10:"CROSS JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:91;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table111";s:5:"value";s:8:"table111";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:102;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:31;s:3:"idx";i:31;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:5:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table112";s:6:"column";s:2:"id";s:4:"expr";s:11:"table112.id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table112";s:6:"column";s:5:"bval1";s:4:"expr";s:14:"table112.bval1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table112";s:6:"column";s:5:"bval2";s:4:"expr";s:14:"table112.bval2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:3;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table111";s:6:"column";s:2:"id";s:4:"expr";s:11:"table111.id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:4;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table111";s:6:"column";s:5:"aval1";s:4:"expr";s:14:"table111.aval1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table112";s:6:"column";N;s:4:"expr";s:8:"table112";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:5:"CROSS";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table111";s:6:"column";N;s:4:"expr";s:8:"table111";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:29;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinMultiple.in000066400000000000000000000001341363525634600243330ustar00rootroot00000000000000SELECT * FROM Orders NATURAL JOIN Items_Orders NATURAL JOIN Items WHERE customer= 'username'sql-parser-4.6.1/tests/data/parser/parseSelectJoinMultiple.out000066400000000000000000000134271363525634600245450ustar00rootroot00000000000000a:4:{s:5:"query";s:92:"SELECT * FROM Orders NATURAL JOIN Items_Orders NATURAL JOIN Items WHERE customer= 'username'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:92:"SELECT * FROM Orders NATURAL JOIN Items_Orders NATURAL JOIN Items WHERE customer= 'username'";s:3:"len";i:92;s:4:"last";i:92;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:23:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"Orders";s:5:"value";s:6:"Orders";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"NATURAL JOIN";s:5:"value";s:12:"NATURAL JOIN";s:7:"keyword";s:12:"NATURAL JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"Items_Orders";s:5:"value";s:12:"Items_Orders";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"NATURAL JOIN";s:5:"value";s:12:"NATURAL JOIN";s:7:"keyword";s:12:"NATURAL JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:47;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"Items";s:5:"value";s:5:"Items";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:60;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:66;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"customer";s:5:"value";s:8:"customer";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:72;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:80;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"'username'";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:82;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:23;s:3:"idx";i:23;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"Orders";s:6:"column";N;s:4:"expr";s:6:"Orders";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:8:"customer";i:1;s:8:"username";}s:10:"isOperator";b:0;s:4:"expr";s:20:"customer= 'username'";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:2:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:7:"NATURAL";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:12:"Items_Orders";s:6:"column";N;s:4:"expr";s:12:"Items_Orders";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}i:1;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:7:"NATURAL";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"Items";s:6:"column";N;s:4:"expr";s:5:"Items";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:21;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinMultiple2.in000066400000000000000000000001661363525634600244220ustar00rootroot00000000000000SELECT * FROM orders NATURAL JOIN Items_Orders LEFT JOIN items on orders.item_id = items.id WHERE customer= 'username'sql-parser-4.6.1/tests/data/parser/parseSelectJoinMultiple2.out000066400000000000000000000175161363525634600246320ustar00rootroot00000000000000a:4:{s:5:"query";s:118:"SELECT * FROM orders NATURAL JOIN Items_Orders LEFT JOIN items on orders.item_id = items.id WHERE customer= 'username'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:118:"SELECT * FROM orders NATURAL JOIN Items_Orders LEFT JOIN items on orders.item_id = items.id WHERE customer= 'username'";s:3:"len";i:118;s:4:"last";i:118;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:35:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"orders";s:5:"value";s:6:"orders";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"NATURAL JOIN";s:5:"value";s:12:"NATURAL JOIN";s:7:"keyword";s:12:"NATURAL JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:21;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"Items_Orders";s:5:"value";s:12:"Items_Orders";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"LEFT JOIN";s:5:"value";s:9:"LEFT JOIN";s:7:"keyword";s:9:"LEFT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:47;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"items";s:5:"value";s:5:"items";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:57;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:63;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"orders";s:5:"value";s:6:"orders";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:66;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:72;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"item_id";s:5:"value";s:7:"item_id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:73;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:81;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"items";s:5:"value";s:5:"items";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:83;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:89;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:92;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"customer";s:5:"value";s:8:"customer";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:98;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:106;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"'username'";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:108;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:35;s:3:"idx";i:35;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"orders";s:6:"column";N;s:4:"expr";s:6:"orders";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:8:"customer";i:1;s:8:"username";}s:10:"isOperator";b:0;s:4:"expr";s:20:"customer= 'username'";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:2:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:7:"NATURAL";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:12:"Items_Orders";s:6:"column";N;s:4:"expr";s:12:"Items_Orders";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}i:1;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:4:"LEFT";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"items";s:6:"column";N;s:4:"expr";s:5:"items";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:4:{i:0;s:6:"orders";i:1;s:7:"item_id";i:2;s:5:"items";i:3;s:2:"id";}s:10:"isOperator";b:0;s:4:"expr";s:25:"orders.item_id = items.id";}}s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:33;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinNatural.in000066400000000000000000000000711363525634600241460ustar00rootroot00000000000000SELECT id,aval1,cval1 FROM table111 NATURAL JOIN table113sql-parser-4.6.1/tests/data/parser/parseSelectJoinNatural.out000066400000000000000000000107601363525634600243550ustar00rootroot00000000000000a:4:{s:5:"query";s:57:"SELECT id,aval1,cval1 FROM table111 NATURAL JOIN table113";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:57:"SELECT id,aval1,cval1 FROM table111 NATURAL JOIN table113";s:3:"len";i:57;s:4:"last";i:57;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:16:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"aval1";s:5:"value";s:5:"aval1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"cval1";s:5:"value";s:5:"cval1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table111";s:5:"value";s:8:"table111";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"NATURAL JOIN";s:5:"value";s:12:"NATURAL JOIN";s:7:"keyword";s:12:"NATURAL JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:36;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table113";s:5:"value";s:8:"table113";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:49;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:16;s:3:"idx";i:16;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:3:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"aval1";s:4:"expr";s:5:"aval1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"cval1";s:4:"expr";s:5:"cval1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table111";s:6:"column";N;s:4:"expr";s:8:"table111";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:7:"NATURAL";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table113";s:6:"column";N;s:4:"expr";s:8:"table113";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:14;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinNaturalLeft.in000066400000000000000000000001301363525634600247550ustar00rootroot00000000000000SELECT C.First_Name, C.Last_Name, O.title FROM Employee as C NATURAL LEFT JOIN JOb as O;sql-parser-4.6.1/tests/data/parser/parseSelectJoinNaturalLeft.out000066400000000000000000000162221363525634600251670ustar00rootroot00000000000000a:4:{s:5:"query";s:88:"SELECT C.First_Name, C.Last_Name, O.title FROM Employee as C NATURAL LEFT JOIN JOb as O;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:88:"SELECT C.First_Name, C.Last_Name, O.title FROM Employee as C NATURAL LEFT JOIN JOb as O;";s:3:"len";i:88;s:4:"last";i:88;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:33:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"C";s:5:"value";s:1:"C";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"First_Name";s:5:"value";s:10:"First_Name";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"C";s:5:"value";s:1:"C";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"Last_Name";s:5:"value";s:9:"Last_Name";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"O";s:5:"value";s:1:"O";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:35;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"title";s:5:"value";s:5:"title";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:36;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"Employee";s:5:"value";s:8:"Employee";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:56;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"C";s:5:"value";s:1:"C";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:59;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"NATURAL LEFT JOIN";s:5:"value";s:17:"NATURAL LEFT JOIN";s:7:"keyword";s:17:"NATURAL LEFT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:61;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"JOb";s:5:"value";s:3:"JOb";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:79;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:83;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"O";s:5:"value";s:1:"O";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:86;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:87;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:33;s:3:"idx";i:33;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:3:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"C";s:6:"column";s:10:"First_Name";s:4:"expr";s:12:"C.First_Name";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"C";s:6:"column";s:9:"Last_Name";s:4:"expr";s:11:"C.Last_Name";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"O";s:6:"column";s:5:"title";s:4:"expr";s:7:"O.title";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"Employee";s:6:"column";N;s:4:"expr";s:8:"Employee";s:5:"alias";s:1:"C";s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:12:"NATURAL LEFT";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"JOb";s:6:"column";N;s:4:"expr";s:3:"JOb";s:5:"alias";s:1:"O";s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:30;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinNaturalLeftOuter.in000066400000000000000000000000671363525634600260050ustar00rootroot00000000000000SELECT * FROM actor NATURAL LEFT OUTER JOIN film_actor;sql-parser-4.6.1/tests/data/parser/parseSelectJoinNaturalLeftOuter.out000066400000000000000000000073111363525634600262050ustar00rootroot00000000000000a:4:{s:5:"query";s:55:"SELECT * FROM actor NATURAL LEFT OUTER JOIN film_actor;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:55:"SELECT * FROM actor NATURAL LEFT OUTER JOIN film_actor;";s:3:"len";i:55;s:4:"last";i:55;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"actor";s:5:"value";s:5:"actor";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:23:"NATURAL LEFT OUTER JOIN";s:5:"value";s:23:"NATURAL LEFT OUTER JOIN";s:7:"keyword";s:23:"NATURAL LEFT OUTER JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"film_actor";s:5:"value";s:10:"film_actor";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:44;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:54;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:13;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"actor";s:6:"column";N;s:4:"expr";s:5:"actor";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:18:"NATURAL LEFT OUTER";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"film_actor";s:6:"column";N;s:4:"expr";s:10:"film_actor";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinNaturalRight.in000066400000000000000000000000631363525634600251450ustar00rootroot00000000000000SELECT * FROM actor NATURAL RIGHT JOIN film_actor; sql-parser-4.6.1/tests/data/parser/parseSelectJoinNaturalRight.out000066400000000000000000000075031363525634600253540ustar00rootroot00000000000000a:4:{s:5:"query";s:51:"SELECT * FROM actor NATURAL RIGHT JOIN film_actor; ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:51:"SELECT * FROM actor NATURAL RIGHT JOIN film_actor; ";s:3:"len";i:51;s:4:"last";i:51;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:14:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"actor";s:5:"value";s:5:"actor";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:18:"NATURAL RIGHT JOIN";s:5:"value";s:18:"NATURAL RIGHT JOIN";s:7:"keyword";s:18:"NATURAL RIGHT JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"film_actor";s:5:"value";s:10:"film_actor";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:49;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:14;s:3:"idx";i:14;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"actor";s:6:"column";N;s:4:"expr";s:5:"actor";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:13:"NATURAL RIGHT";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"film_actor";s:6:"column";N;s:4:"expr";s:10:"film_actor";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinNaturalRightOuter.in000066400000000000000000000000701363525634600261620ustar00rootroot00000000000000SELECT * FROM actor NATURAL RIGHT OUTER JOIN film_actor;sql-parser-4.6.1/tests/data/parser/parseSelectJoinNaturalRightOuter.out000066400000000000000000000073171363525634600263760ustar00rootroot00000000000000a:4:{s:5:"query";s:56:"SELECT * FROM actor NATURAL RIGHT OUTER JOIN film_actor;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:56:"SELECT * FROM actor NATURAL RIGHT OUTER JOIN film_actor;";s:3:"len";i:56;s:4:"last";i:56;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:13:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"actor";s:5:"value";s:5:"actor";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:24:"NATURAL RIGHT OUTER JOIN";s:5:"value";s:24:"NATURAL RIGHT OUTER JOIN";s:7:"keyword";s:24:"NATURAL RIGHT OUTER JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"film_actor";s:5:"value";s:10:"film_actor";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:55;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:13;s:3:"idx";i:13;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"actor";s:6:"column";N;s:4:"expr";s:5:"actor";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:19:"NATURAL RIGHT OUTER";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:10:"film_actor";s:6:"column";N;s:4:"expr";s:10:"film_actor";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectJoinStraight.in000066400000000000000000000001251363525634600243250ustar00rootroot00000000000000SELECT id,aval1,cval1 FROM table111 STRAIGHT_JOIN table113 on table111.a = table113.bsql-parser-4.6.1/tests/data/parser/parseSelectJoinStraight.out000066400000000000000000000150571363525634600245400ustar00rootroot00000000000000a:4:{s:5:"query";s:85:"SELECT id,aval1,cval1 FROM table111 STRAIGHT_JOIN table113 on table111.a = table113.b";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:85:"SELECT id,aval1,cval1 FROM table111 STRAIGHT_JOIN table113 on table111.a = table113.b";s:3:"len";i:85;s:4:"last";i:85;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:28:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"aval1";s:5:"value";s:5:"aval1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"cval1";s:5:"value";s:5:"cval1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table111";s:5:"value";s:8:"table111";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"STRAIGHT_JOIN";s:5:"value";s:13:"STRAIGHT_JOIN";s:7:"keyword";s:13:"STRAIGHT_JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:36;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table113";s:5:"value";s:8:"table113";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:59;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table111";s:5:"value";s:8:"table111";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:62;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:70;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:71;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:73;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"table113";s:5:"value";s:8:"table113";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:75;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:83;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"b";s:5:"value";s:1:"b";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:84;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:28;s:3:"idx";i:28;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:3:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:2:"id";s:4:"expr";s:2:"id";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"aval1";s:4:"expr";s:5:"aval1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:2;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"cval1";s:4:"expr";s:5:"cval1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table111";s:6:"column";N;s:4:"expr";s:8:"table111";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:8:"STRAIGHT";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:8:"table113";s:6:"column";N;s:4:"expr";s:8:"table113";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:4:{i:0;s:8:"table111";i:1;s:1:"a";i:2;s:8:"table113";i:3;s:1:"b";}s:10:"isOperator";b:0;s:4:"expr";s:23:"table111.a = table113.b";}}s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:26;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectNested.in000066400000000000000000000000641363525634600231440ustar00rootroot00000000000000SELECT (SELECT 'foo') as Bar, (SELECT 'baz') as fOo;sql-parser-4.6.1/tests/data/parser/parseSelectNested.out000066400000000000000000000117771363525634600233620ustar00rootroot00000000000000a:4:{s:5:"query";s:52:"SELECT (SELECT 'foo') as Bar, (SELECT 'baz') as fOo;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:52:"SELECT (SELECT 'foo') as Bar, (SELECT 'baz') as fOo;";s:3:"len";i:52;s:4:"last";i:52;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:24:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'foo'";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:15;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:20;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"Bar";s:5:"value";s:3:"Bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:28;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:29;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:30;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:31;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"'baz'";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:38;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:43;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:44;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"as";s:5:"value";s:2:"AS";s:7:"keyword";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:45;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"fOo";s:5:"value";s:3:"fOo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:48;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:51;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:24;s:3:"idx";i:24;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:14:"(SELECT 'foo')";s:5:"alias";s:3:"Bar";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:14:"(SELECT 'baz')";s:5:"alias";s:3:"fOo";s:8:"function";N;s:8:"subquery";s:6:"SELECT";}}s:4:"from";a:0:{}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:21;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectUnion.in000066400000000000000000000000761363525634600230150ustar00rootroot00000000000000(SELECT a FROM t WHERE a=1) UNION (SELECT a FROM t WHERE a=2) sql-parser-4.6.1/tests/data/parser/parseSelectUnion.out000066400000000000000000000172261363525634600232230ustar00rootroot00000000000000a:4:{s:5:"query";s:62:"(SELECT a FROM t WHERE a=1) UNION (SELECT a FROM t WHERE a=2) ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:62:"(SELECT a FROM t WHERE a=1) UNION (SELECT a FROM t WHERE a=2) ";s:3:"len";i:62;s:4:"last";i:62;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:35:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:10;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"t";s:5:"value";s:1:"t";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:15;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:24;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:25;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:26;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"UNION";s:5:"value";s:5:"UNION";s:7:"keyword";s:5:"UNION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:28;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:35;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:42;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:44;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:48;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"t";s:5:"value";s:1:"t";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:49;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:51;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"a";s:5:"value";s:1:"a";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:57;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:58;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:59;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:60;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:35;s:3:"idx";i:35;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"t";s:6:"column";N;s:4:"expr";s:1:"t";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:1:"a";}s:10:"isOperator";b:0;s:4:"expr";s:3:"a=1";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:1:{i:0;a:2:{i:0;s:5:"UNION";i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:1:"a";s:4:"expr";s:1:"a";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:1:"t";s:6:"column";N;s:4:"expr";s:1:"t";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:1:"a";}s:10:"isOperator";b:0;s:4:"expr";s:3:"a=2";}}s:5:"group";N;s:6:"having";N;s:5:"order";a:0:{}s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:16;s:4:"last";i:33;}}}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:33;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectUnion2.in000066400000000000000000000005301363525634600230720ustar00rootroot00000000000000(SELECT DISTINCT `User`, `Host` FROM `mysql`.`user` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`db` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`tables_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`columns_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`procs_priv` ) ORDER BY `User` ASC, `Host` ASCsql-parser-4.6.1/tests/data/parser/parseSelectUnion2.out000066400000000000000000000567651363525634600233200ustar00rootroot00000000000000a:4:{s:5:"query";s:344:"(SELECT DISTINCT `User`, `Host` FROM `mysql`.`user` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`db` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`tables_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`columns_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`procs_priv` ) ORDER BY `User` ASC, `Host` ASC";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:344:"(SELECT DISTINCT `User`, `Host` FROM `mysql`.`user` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`db` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`tables_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`columns_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`procs_priv` ) ORDER BY `User` ASC, `Host` ASC";s:3:"len";i:344;s:4:"last";i:344;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:109:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`User`";s:5:"value";s:4:"User";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`Host`";s:5:"value";s:4:"Host";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`mysql`";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:37;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:44;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`user`";s:5:"value";s:4:"user";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:45;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"UNION";s:5:"value";s:5:"UNION";s:7:"keyword";s:5:"UNION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:54;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:60;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:61;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:68;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:76;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`User`";s:5:"value";s:4:"User";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:77;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:83;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`Host`";s:5:"value";s:4:"Host";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:85;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:92;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:96;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`mysql`";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:97;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:104;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"`db`";s:5:"value";s:2:"db";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:105;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:109;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:110;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"UNION";s:5:"value";s:5:"UNION";s:7:"keyword";s:5:"UNION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:112;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:117;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:118;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:119;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:125;}i:43;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:126;}i:44;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:134;}i:45;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`User`";s:5:"value";s:4:"User";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:135;}i:46;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:141;}i:47;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:142;}i:48;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`Host`";s:5:"value";s:4:"Host";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:143;}i:49;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:149;}i:50;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:150;}i:51;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:154;}i:52;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`mysql`";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:155;}i:53;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:162;}i:54;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"`tables_priv`";s:5:"value";s:11:"tables_priv";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:163;}i:55;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:176;}i:56;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:177;}i:57;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:178;}i:58;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"UNION";s:5:"value";s:5:"UNION";s:7:"keyword";s:5:"UNION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:179;}i:59;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:184;}i:60;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:185;}i:61;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:186;}i:62;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:192;}i:63;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:193;}i:64;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:201;}i:65;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`User`";s:5:"value";s:4:"User";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:202;}i:66;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:208;}i:67;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:209;}i:68;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`Host`";s:5:"value";s:4:"Host";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:210;}i:69;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:216;}i:70;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:217;}i:71;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:221;}i:72;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`mysql`";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:222;}i:73;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:229;}i:74;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:14:"`columns_priv`";s:5:"value";s:12:"columns_priv";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:230;}i:75;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:244;}i:76;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:245;}i:77;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:246;}i:78;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"UNION";s:5:"value";s:5:"UNION";s:7:"keyword";s:5:"UNION";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:247;}i:79;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:252;}i:80;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:253;}i:81;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:254;}i:82;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:260;}i:83;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:261;}i:84;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:269;}i:85;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`User`";s:5:"value";s:4:"User";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:270;}i:86;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:276;}i:87;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:277;}i:88;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`Host`";s:5:"value";s:4:"Host";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:278;}i:89;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:284;}i:90;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:285;}i:91;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:289;}i:92;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`mysql`";s:5:"value";s:5:"mysql";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:290;}i:93;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:297;}i:94;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:12:"`procs_priv`";s:5:"value";s:10:"procs_priv";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:298;}i:95;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:310;}i:96;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:311;}i:97;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:312;}i:98;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:7:"keyword";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:313;}i:99;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:321;}i:100;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`User`";s:5:"value";s:4:"User";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:322;}i:101;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:328;}i:102;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:329;}i:103;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:332;}i:104;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:333;}i:105;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"`Host`";s:5:"value";s:4:"Host";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:334;}i:106;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:340;}i:107;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:7:"keyword";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:341;}i:108;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:109;s:3:"idx";i:109;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"User";s:4:"expr";s:6:"`User`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Host";s:4:"expr";s:6:"`Host`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:5:"mysql";s:5:"table";s:4:"user";s:6:"column";N;s:4:"expr";s:14:"`mysql`.`user`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";a:2:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"User";s:4:"expr";s:6:"`User`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}i:1;O:44:"PhpMyAdmin\SqlParser\Components\OrderKeyword":2:{s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Host";s:4:"expr";s:6:"`Host`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:4:"type";s:3:"ASC";}}s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:4:{i:0;a:2:{i:0;s:5:"UNION";i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"User";s:4:"expr";s:6:"`User`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Host";s:4:"expr";s:6:"`Host`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:5:"mysql";s:5:"table";s:2:"db";s:6:"column";N;s:4:"expr";s:12:"`mysql`.`db`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";a:0:{}s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"DISTINCT";}}s:5:"first";i:18;s:4:"last";i:37;}}i:1;a:2:{i:0;s:5:"UNION";i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"User";s:4:"expr";s:6:"`User`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Host";s:4:"expr";s:6:"`Host`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:5:"mysql";s:5:"table";s:11:"tables_priv";s:6:"column";N;s:4:"expr";s:21:"`mysql`.`tables_priv`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";a:0:{}s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"DISTINCT";}}s:5:"first";i:38;s:4:"last";i:57;}}i:2;a:2:{i:0;s:5:"UNION";i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"User";s:4:"expr";s:6:"`User`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Host";s:4:"expr";s:6:"`Host`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:5:"mysql";s:5:"table";s:12:"columns_priv";s:6:"column";N;s:4:"expr";s:22:"`mysql`.`columns_priv`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";a:0:{}s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"DISTINCT";}}s:5:"first";i:58;s:4:"last";i:77;}}i:3;a:2:{i:0;s:5:"UNION";i:1;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"User";s:4:"expr";s:6:"`User`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:4:"Host";s:4:"expr";s:6:"`Host`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";s:5:"mysql";s:5:"table";s:10:"procs_priv";s:6:"column";N;s:4:"expr";s:20:"`mysql`.`procs_priv`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";a:0:{}s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"DISTINCT";}}s:5:"first";i:78;s:4:"last";i:107;}}}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"DISTINCT";}}s:5:"first";i:0;s:4:"last";i:107;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectWithParenthesis.in000066400000000000000000000000531363525634600250410ustar00rootroot00000000000000(SELECT first_name FROM `actor` LIMIT 1, 2)sql-parser-4.6.1/tests/data/parser/parseSelectWithParenthesis.out000066400000000000000000000077631363525634600252610ustar00rootroot00000000000000a:4:{s:5:"query";s:43:"(SELECT first_name FROM `actor` LIMIT 1, 2)";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:43:"(SELECT first_name FROM `actor` LIMIT 1, 2)";s:3:"len";i:43;s:4:"last";i:43;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:17:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:1;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"first_name";s:5:"value";s:10:"first_name";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:8;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:23;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"`actor`";s:5:"value";s:5:"actor";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:32;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:38;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:39;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:17;s:3:"idx";i:17;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:10:"first_name";s:4:"expr";s:10:"first_name";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"actor";s:6:"column";N;s:4:"expr";s:7:"`actor`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:1;s:8:"rowCount";i:2;}s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:15;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSelectWrongOrder.in000066400000000000000000000000701363525634600240070ustar00rootroot00000000000000SELECT pid, name2 FROM tablename LIMIT 10 WHERE pid = 20sql-parser-4.6.1/tests/data/parser/parseSelectWrongOrder.out000066400000000000000000000124621363525634600242200ustar00rootroot00000000000000a:4:{s:5:"query";s:56:"SELECT pid, name2 FROM tablename LIMIT 10 WHERE pid = 20";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:56:"SELECT pid, name2 FROM tablename LIMIT 10 WHERE pid = 20";s:3:"len";i:56;s:4:"last";i:56;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:23:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pid";s:5:"value";s:3:"pid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"name2";s:5:"value";s:5:"name2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:9:"tablename";s:5:"value";s:9:"tablename";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"10";s:5:"value";i:10;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:39;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"pid";s:5:"value";s:3:"pid";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:48;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:52;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"20";s:5:"value";i:20;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:54;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:23;s:3:"idx";i:23;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:2:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:3:"pid";s:4:"expr";s:3:"pid";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}i:1;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"name2";s:4:"expr";s:5:"name2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"tablename";s:6:"column";N;s:4:"expr";s:9:"tablename";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:3:"pid";}s:10:"isOperator";b:0;s:4:"expr";s:8:"pid = 20";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:0;s:8:"rowCount";i:10;}s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:21;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:31:"Unexpected ordering of clauses.";i:1;r:86;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSelectWrongOrder2.in000066400000000000000000000001261363525634600240730ustar00rootroot00000000000000SELECT DISTINCT * FROM tbl1 INNER JOIN tbl2 ON id1 = id2 WHERE 1=1 LEFT OUTER JOIN l3;sql-parser-4.6.1/tests/data/parser/parseSelectWrongOrder2.out000066400000000000000000000156551363525634600243110ustar00rootroot00000000000000a:4:{s:5:"query";s:86:"SELECT DISTINCT * FROM tbl1 INNER JOIN tbl2 ON id1 = id2 WHERE 1=1 LEFT OUTER JOIN l3;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:86:"SELECT DISTINCT * FROM tbl1 INNER JOIN tbl2 ON id1 = id2 WHERE 1=1 LEFT OUTER JOIN l3;";s:3:"len";i:86;s:4:"last";i:86;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:33:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"DISTINCT";s:5:"value";s:8:"DISTINCT";s:7:"keyword";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:16;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:18;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"tbl1";s:5:"value";s:4:"tbl1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:23;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:10:"INNER JOIN";s:5:"value";s:10:"INNER JOIN";s:7:"keyword";s:10:"INNER JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:28;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"tbl2";s:5:"value";s:4:"tbl2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"ON";s:5:"value";s:2:"ON";s:7:"keyword";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:44;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"id1";s:5:"value";s:3:"id1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:51;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:52;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"id2";s:5:"value";s:3:"id2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:53;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:57;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:63;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:64;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:65;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:15:"LEFT OUTER JOIN";s:5:"value";s:15:"LEFT OUTER JOIN";s:7:"keyword";s:15:"LEFT OUTER JOIN";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:67;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"l3";s:5:"value";s:2:"l3";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:83;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:85;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:33;s:3:"idx";i:33;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:4:"tbl1";s:6:"column";N;s:4:"expr";s:4:"tbl1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:3:"1=1";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";a:1:{i:0;O:43:"PhpMyAdmin\SqlParser\Components\JoinKeyword":4:{s:4:"type";s:4:"LEFT";s:4:"expr";O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:2:"l3";s:6:"column";N;s:4:"expr";s:2:"l3";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}s:2:"on";N;s:5:"using";N;}}s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"DISTINCT";}}s:5:"first";i:0;s:4:"last";i:30;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:31:"Unexpected ordering of clauses.";i:1;r:163;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSetCharacterSet.in000066400000000000000000000000301363525634600235770ustar00rootroot00000000000000SET CHARACTER SET 'utf8'sql-parser-4.6.1/tests/data/parser/parseSetCharacterSet.out000066400000000000000000000034441363525634600240140ustar00rootroot00000000000000a:4:{s:5:"query";s:24:"SET CHARACTER SET 'utf8'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:24:"SET CHARACTER SET 'utf8'";s:3:"len";i:24;s:4:"last";i:24;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"CHARACTER SET";s:5:"value";s:13:"CHARACTER SET";s:7:"keyword";s:13:"CHARACTER SET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:18;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:6;s:3:"idx";i:6;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:13:"CHARACTER SET";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:11:"end_options";N;s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSetCharacterSetError.in000066400000000000000000000000221363525634600246120ustar00rootroot00000000000000SET CHARACTER SET sql-parser-4.6.1/tests/data/parser/parseSetCharacterSetError.out000066400000000000000000000033231363525634600250220ustar00rootroot00000000000000a:4:{s:5:"query";s:18:"SET CHARACTER SET ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:18:"SET CHARACTER SET ";s:3:"len";i:18;s:4:"last";i:18;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"CHARACTER SET";s:5:"value";s:13:"CHARACTER SET";s:7:"keyword";s:13:"CHARACTER SET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:17;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:13:"CHARACTER SET";s:6:"equals";b:0;s:4:"expr";s:0:"";s:5:"value";s:0:"";}}}s:11:"end_options";N;s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:59:"Value/Expression for the option CHARACTER SET was expected.";i:1;r:30;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSetCharset.in000066400000000000000000000000221363525634600226210ustar00rootroot00000000000000SET CHARSET 'utf8'sql-parser-4.6.1/tests/data/parser/parseSetCharset.out000066400000000000000000000033751363525634600230400ustar00rootroot00000000000000a:4:{s:5:"query";s:18:"SET CHARSET 'utf8'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:18:"SET CHARSET 'utf8'";s:3:"len";i:18;s:4:"last";i:18;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"CHARSET";s:5:"value";s:7:"CHARSET";s:7:"keyword";s:7:"CHARSET";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:6;s:3:"idx";i:6;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:7:"CHARSET";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:11:"end_options";N;s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSetCharsetError.in000066400000000000000000000000141363525634600236340ustar00rootroot00000000000000SET CHARSET sql-parser-4.6.1/tests/data/parser/parseSetCharsetError.out000066400000000000000000000032461363525634600240470ustar00rootroot00000000000000a:4:{s:5:"query";s:12:"SET CHARSET ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:12:"SET CHARSET ";s:3:"len";i:12;s:4:"last";i:12;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"CHARSET";s:5:"value";s:7:"CHARSET";s:7:"keyword";s:7:"CHARSET";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:7:"CHARSET";s:6:"equals";b:0;s:4:"expr";s:0:"";s:5:"value";s:0:"";}}}s:11:"end_options";N;s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:53:"Value/Expression for the option CHARSET was expected.";i:1;r:30;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSetError1.in000066400000000000000000000000471363525634600224110ustar00rootroot00000000000000SET CHARSET 'utf8' CHARACTER SET 'utf8'sql-parser-4.6.1/tests/data/parser/parseSetError1.out000066400000000000000000000051521363525634600226140ustar00rootroot00000000000000a:4:{s:5:"query";s:39:"SET CHARSET 'utf8' CHARACTER SET 'utf8'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:39:"SET CHARSET 'utf8' CHARACTER SET 'utf8'";s:3:"len";i:39;s:4:"last";i:39;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"CHARSET";s:5:"value";s:7:"CHARSET";s:7:"keyword";s:7:"CHARSET";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:12;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:13:"CHARACTER SET";s:5:"value";s:13:"CHARACTER SET";s:7:"keyword";s:13:"CHARACTER SET";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:19;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:33;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:10;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:2:{i:3;a:4:{s:4:"name";s:7:"CHARSET";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}i:13;a:4:{s:4:"name";s:13:"CHARACTER SET";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:11:"end_options";N;s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:37:"This option conflicts with "CHARSET".";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSetNames.in000066400000000000000000000000201363525634600222710ustar00rootroot00000000000000SET NAMES 'utf8'sql-parser-4.6.1/tests/data/parser/parseSetNames.out000066400000000000000000000033571363525634600225120ustar00rootroot00000000000000a:4:{s:5:"query";s:16:"SET NAMES 'utf8'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:16:"SET NAMES 'utf8'";s:3:"len";i:16;s:4:"last";i:16;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"NAMES";s:5:"value";s:5:"NAMES";s:7:"keyword";s:5:"NAMES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:6;s:3:"idx";i:6;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:5:"NAMES";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:11:"end_options";N;s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSetNames2.in000066400000000000000000000000521363525634600223600ustar00rootroot00000000000000SET NAMES 'utf8' COLLATE 'utf8_general_ci'sql-parser-4.6.1/tests/data/parser/parseSetNames2.out000066400000000000000000000051671363525634600225750ustar00rootroot00000000000000a:4:{s:5:"query";s:42:"SET NAMES 'utf8' COLLATE 'utf8_general_ci'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:42:"SET NAMES 'utf8' COLLATE 'utf8_general_ci'";s:3:"len";i:42;s:4:"last";i:42;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"NAMES";s:5:"value";s:5:"NAMES";s:7:"keyword";s:5:"NAMES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COLLATE";s:5:"value";s:7:"COLLATE";s:7:"keyword";s:7:"COLLATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"'utf8_general_ci'";s:5:"value";s:15:"utf8_general_ci";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:10;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:5:"NAMES";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:11:"end_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:7:"COLLATE";s:6:"equals";b:0;s:4:"expr";s:17:"'utf8_general_ci'";s:5:"value";s:15:"utf8_general_ci";}}}s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSetNames3.in000066400000000000000000000000311363525634600223560ustar00rootroot00000000000000SET NAMES 'utf8' DEFAULT;sql-parser-4.6.1/tests/data/parser/parseSetNames3.out000066400000000000000000000044651363525634600225760ustar00rootroot00000000000000a:4:{s:5:"query";s:25:"SET NAMES 'utf8' DEFAULT;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:25:"SET NAMES 'utf8' DEFAULT;";s:3:"len";i:25;s:4:"last";i:25;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:9:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"NAMES";s:5:"value";s:5:"NAMES";s:7:"keyword";s:5:"NAMES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:9;s:3:"idx";i:9;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:5:"NAMES";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:11:"end_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:7:"DEFAULT";}}s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:6;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseSetNamesError.in000066400000000000000000000000121363525634600233040ustar00rootroot00000000000000SET NAMES sql-parser-4.6.1/tests/data/parser/parseSetNamesError.out000066400000000000000000000032261363525634600235170ustar00rootroot00000000000000a:4:{s:5:"query";s:10:"SET NAMES ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:10:"SET NAMES ";s:3:"len";i:10;s:4:"last";i:10;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"NAMES";s:5:"value";s:5:"NAMES";s:7:"keyword";s:5:"NAMES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:5:"NAMES";s:6:"equals";b:0;s:4:"expr";s:0:"";s:5:"value";s:0:"";}}}s:11:"end_options";N;s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:51:"Value/Expression for the option NAMES was expected.";i:1;r:30;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSetNamesError2.in000066400000000000000000000000521363525634600233720ustar00rootroot00000000000000SET NAMES 'utf8' DEFAULT 'utf8_general_ci'sql-parser-4.6.1/tests/data/parser/parseSetNamesError2.out000066400000000000000000000051071363525634600236010ustar00rootroot00000000000000a:4:{s:5:"query";s:42:"SET NAMES 'utf8' DEFAULT 'utf8_general_ci'";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:42:"SET NAMES 'utf8' DEFAULT 'utf8_general_ci'";s:3:"len";i:42;s:4:"last";i:42;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"NAMES";s:5:"value";s:5:"NAMES";s:7:"keyword";s:5:"NAMES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:7:"keyword";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"'utf8_general_ci'";s:5:"value";s:15:"utf8_general_ci";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:25;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:10;s:3:"idx";i:10;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:5:"NAMES";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:11:"end_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:7:"DEFAULT";}}s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:8;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:65;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseSetNamesError3.in000066400000000000000000000000301363525634600233670ustar00rootroot00000000000000SET NAMES 'utf8' COLLATEsql-parser-4.6.1/tests/data/parser/parseSetNamesError3.out000066400000000000000000000045001363525634600235760ustar00rootroot00000000000000a:4:{s:5:"query";s:24:"SET NAMES 'utf8' COLLATE";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:24:"SET NAMES 'utf8' COLLATE";s:3:"len";i:24;s:4:"last";i:24;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:8:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:3;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"NAMES";s:5:"value";s:5:"NAMES";s:7:"keyword";s:5:"NAMES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:4;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:9;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"'utf8'";s:5:"value";s:4:"utf8";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:10;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"COLLATE";s:5:"value";s:7:"COLLATE";s:7:"keyword";s:7:"COLLATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:8;s:3:"idx";i:8;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Statements\SetStatement":5:{s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:5:"NAMES";s:6:"equals";b:0;s:4:"expr";s:6:"'utf8'";s:5:"value";s:4:"utf8";}}}s:11:"end_options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:7:"COLLATE";s:6:"equals";b:0;s:4:"expr";s:0:"";s:5:"value";s:0:"";}}}s:3:"set";a:0:{}s:5:"first";i:0;s:4:"last";i:6;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:53:"Value/Expression for the option COLLATE was expected.";i:1;r:51;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseTransaction.in000066400000000000000000000001661363525634600230520ustar00rootroot00000000000000START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summary=@A WHERE type=1; COMMIT;sql-parser-4.6.1/tests/data/parser/parseTransaction.out000066400000000000000000000226241363525634600232560ustar00rootroot00000000000000a:4:{s:5:"query";s:118:"START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summary=@A WHERE type=1; COMMIT;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:118:"START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summary=@A WHERE type=1; COMMIT;";s:3:"len";i:118;s:4:"last";i:118;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:43:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"START TRANSACTION";s:5:"value";s:17:"START TRANSACTION";s:7:"keyword";s:17:"START TRANSACTION";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:17;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@A";s:5:"value";s:1:"A";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:":=";s:5:"value";s:2:":=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:8;s:8:"position";i:28;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SUM";s:5:"value";s:3:"SUM";s:7:"keyword";s:3:"SUM";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"salary";s:5:"value";s:6:"salary";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:54;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"type";s:5:"value";s:4:"type";s:7:"keyword";s:4:"TYPE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:60;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:64;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:65;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:66;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:68;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:75;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"summary";s:5:"value";s:7:"summary";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:86;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:93;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@A";s:5:"value";s:1:"A";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:94;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:96;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:97;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"type";s:5:"value";s:4:"type";s:7:"keyword";s:4:"TYPE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:103;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:107;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:108;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:109;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:110;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"COMMIT";s:5:"value";s:6:"COMMIT";s:7:"keyword";s:6:"COMMIT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:111;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:117;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:43;s:3:"idx";i:43;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:52:"PhpMyAdmin\SqlParser\Statements\TransactionStatement":6:{s:4:"type";i:1;s:10:"statements";a:2:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"@A:=SUM(salary)";s:5:"alias";N;s:8:"function";s:3:"SUM";s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:4:"type";}s:10:"isOperator";b:0;s:4:"expr";s:6:"type=1";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:1;s:4:"last";i:20;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\UpdateStatement":8:{s:6:"tables";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:3:"set";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:7:"summary";s:5:"value";s:2:"@A";}}s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:4:"type";}s:10:"isOperator";b:0;s:4:"expr";s:6:"type=1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:21;s:4:"last";i:37;}}s:3:"end";O:52:"PhpMyAdmin\SqlParser\Statements\TransactionStatement":6:{s:4:"type";i:2;s:10:"statements";N;s:3:"end";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"COMMIT";}}s:5:"first";i:38;s:4:"last";i:40;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:17:"START TRANSACTION";}}s:5:"first";i:0;s:4:"last";i:0;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseTransaction2.in000066400000000000000000000001701363525634600231270ustar00rootroot00000000000000START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summary=@A WHERE type=1; ROLLBACK;sql-parser-4.6.1/tests/data/parser/parseTransaction2.out000066400000000000000000000226401363525634600233360ustar00rootroot00000000000000a:4:{s:5:"query";s:120:"START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summary=@A WHERE type=1; ROLLBACK;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:120:"START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summary=@A WHERE type=1; ROLLBACK;";s:3:"len";i:120;s:4:"last";i:120;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:43:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:17:"START TRANSACTION";s:5:"value";s:17:"START TRANSACTION";s:7:"keyword";s:17:"START TRANSACTION";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:17;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:19;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:25;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@A";s:5:"value";s:1:"A";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:26;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:":=";s:5:"value";s:2:":=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:8;s:8:"position";i:28;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SUM";s:5:"value";s:3:"SUM";s:7:"keyword";s:3:"SUM";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:30;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"salary";s:5:"value";s:6:"salary";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table1";s:5:"value";s:6:"table1";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:54;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"type";s:5:"value";s:4:"type";s:7:"keyword";s:4:"TYPE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:60;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:64;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:65;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:66;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:67;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:68;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"table2";s:5:"value";s:6:"table2";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:75;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:82;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:7:"summary";s:5:"value";s:7:"summary";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:86;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:93;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"@A";s:5:"value";s:1:"A";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:1;s:8:"position";i:94;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:96;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:97;}i:34;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:35;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"type";s:5:"value";s:4:"type";s:7:"keyword";s:4:"TYPE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:103;}i:36;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:107;}i:37;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:108;}i:38;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:109;}i:39;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:110;}i:40;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"ROLLBACK";s:5:"value";s:8:"ROLLBACK";s:7:"keyword";s:8:"ROLLBACK";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:111;}i:41;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:119;}i:42;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:43;s:3:"idx";i:43;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:52:"PhpMyAdmin\SqlParser\Statements\TransactionStatement":6:{s:4:"type";i:1;s:10:"statements";a:2:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:15:"@A:=SUM(salary)";s:5:"alias";N;s:8:"function";s:3:"SUM";s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table1";s:6:"column";N;s:4:"expr";s:6:"table1";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:4:"type";}s:10:"isOperator";b:0;s:4:"expr";s:6:"type=1";}}s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:1;s:4:"last";i:20;}i:1;O:47:"PhpMyAdmin\SqlParser\Statements\UpdateStatement":8:{s:6:"tables";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:6:"table2";s:6:"column";N;s:4:"expr";s:6:"table2";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:3:"set";a:1:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:7:"summary";s:5:"value";s:2:"@A";}}s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:4:"type";}s:10:"isOperator";b:0;s:4:"expr";s:6:"type=1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:21;s:4:"last";i:37;}}s:3:"end";O:52:"PhpMyAdmin\SqlParser\Statements\TransactionStatement":6:{s:4:"type";i:2;s:10:"statements";N;s:3:"end";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:8:"ROLLBACK";}}s:5:"first";i:38;s:4:"last";i:40;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:17:"START TRANSACTION";}}s:5:"first";i:0;s:4:"last";i:0;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseTransaction3.in000066400000000000000000000000511363525634600231260ustar00rootroot00000000000000begin; SELECT * FROM `tablename` commit; sql-parser-4.6.1/tests/data/parser/parseTransaction3.out000066400000000000000000000073421363525634600233410ustar00rootroot00000000000000a:4:{s:5:"query";s:41:"begin; SELECT * FROM `tablename` commit; ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:41:"begin; SELECT * FROM `tablename` commit; ";s:3:"len";i:41;s:4:"last";i:41;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:15:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"begin";s:5:"value";s:5:"begin";s:7:"keyword";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:7:"keyword";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:7:"keyword";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:16;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:11:"`tablename`";s:5:"value";s:9:"tablename";s:7:"keyword";N;s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:21;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"commit";s:5:"value";s:6:"commit";s:7:"keyword";s:6:"COMMIT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:33;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:39;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:15;s:3:"idx";i:15;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\SelectStatement":17:{s:4:"expr";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";N;s:6:"column";N;s:4:"expr";s:1:"*";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:4:"from";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:9:"tablename";s:6:"column";N;s:4:"expr";s:11:"`tablename`";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:11:"index_hints";N;s:9:"partition";N;s:5:"where";N;s:5:"group";N;s:6:"having";N;s:5:"order";N;s:5:"limit";N;s:9:"procedure";N;s:4:"into";N;s:4:"join";N;s:5:"union";a:0:{}s:11:"end_options";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:1;s:4:"last";i:10;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:76:"A new statement was found, but no delimiter between it and the previous one.";i:1;r:86;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseTransactionErr1.in000066400000000000000000000000071363525634600235760ustar00rootroot00000000000000COMMIT;sql-parser-4.6.1/tests/data/parser/parseTransactionErr1.out000066400000000000000000000024301363525634600240010ustar00rootroot00000000000000a:4:{s:5:"query";s:7:"COMMIT;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:7:"COMMIT;";s:3:"len";i:7;s:4:"last";i:7;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:3:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"COMMIT";s:5:"value";s:6:"COMMIT";s:7:"keyword";s:6:"COMMIT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:3;s:3:"idx";i:3;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:52:"PhpMyAdmin\SqlParser\Statements\TransactionStatement":6:{s:4:"type";i:2;s:10:"statements";N;s:3:"end";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:1:{i:1;s:6:"COMMIT";}}s:5:"first";i:0;s:4:"last";i:0;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:38:"No transaction was previously started.";i:1;r:9;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseUnlock1.in000066400000000000000000000000161363525634600220730ustar00rootroot00000000000000UNLOCK TABLES;sql-parser-4.6.1/tests/data/parser/parseUnlock1.out000066400000000000000000000026571363525634600223110ustar00rootroot00000000000000a:4:{s:5:"query";s:14:"UNLOCK TABLES;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:14:"UNLOCK TABLES;";s:3:"len";i:14;s:4:"last";i:14;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:5:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UNLOCK";s:5:"value";s:6:"UNLOCK";s:7:"keyword";s:6:"UNLOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:5;s:3:"idx";i:5;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:0:{}s:6:"isLock";b:0;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:3;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseUnlockErr1.in000066400000000000000000000000221363525634600225410ustar00rootroot00000000000000UNLOCK TABLES abc;sql-parser-4.6.1/tests/data/parser/parseUnlockErr1.out000066400000000000000000000034351363525634600227550ustar00rootroot00000000000000a:4:{s:5:"query";s:18:"UNLOCK TABLES abc;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:18:"UNLOCK TABLES abc;";s:3:"len";i:18;s:4:"last";i:18;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:7:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UNLOCK";s:5:"value";s:6:"UNLOCK";s:7:"keyword";s:6:"UNLOCK";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"TABLES";s:5:"value";s:6:"TABLES";s:7:"keyword";s:6:"TABLES";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"abc";s:5:"value";s:3:"abc";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:17;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:7;s:3:"idx";i:7;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:45:"PhpMyAdmin\SqlParser\Statements\LockStatement":5:{s:6:"locked";a:0:{}s:6:"isLock";b:0;s:7:"options";N;s:5:"first";i:0;s:4:"last";i:4;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:37;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseUpdate.in000066400000000000000000000000661363525634600220060ustar00rootroot00000000000000UPDATE users SET username = "Dan", id=155;sql-parser-4.6.1/tests/data/parser/parseUpdate.out000066400000000000000000000077061363525634600222170ustar00rootroot00000000000000a:4:{s:5:"query";s:54:"UPDATE users SET username = "Dan", id=155;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:54:"UPDATE users SET username = "Dan", id=155;";s:3:"len";i:54;s:4:"last";i:54;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:18:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:11;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:34;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:""Dan"";s:5:"value";s:3:"Dan";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:36;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:49;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"155";s:5:"value";i:155;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:50;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:53;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:18;s:3:"idx";i:18;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\UpdateStatement":8:{s:6:"tables";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:3:"set";a:2:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:8:"username";s:5:"value";s:5:""Dan"";}i:1;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:2:"id";s:5:"value";s:3:"155";}}s:5:"where";N;s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:15;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseUpdate2.in000066400000000000000000000001431363525634600220640ustar00rootroot00000000000000UPDATE users SET username = "Dan", id=155 WHERE username = "Paul" LIMIT 1 OFFSET 2;sql-parser-4.6.1/tests/data/parser/parseUpdate2.out000066400000000000000000000153201363525634600222700ustar00rootroot00000000000000a:4:{s:5:"query";s:99:"UPDATE users SET username = "Dan", id=155 WHERE username = "Paul" LIMIT 1 OFFSET 2;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:99:"UPDATE users SET username = "Dan", id=155 WHERE username = "Paul" LIMIT 1 OFFSET 2;";s:3:"len";i:99;s:4:"last";i:99;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:34:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:11;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:17;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:34;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:""Dan"";s:5:"value";s:3:"Dan";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:36;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:41;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:42;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:49;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"155";s:5:"value";i:155;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:50;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:54;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:59;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:64;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:73;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:""Paul"";s:5:"value";s:4:"Paul";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:75;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:7:"keyword";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:82;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:88;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:29;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"OFFSET";s:5:"value";s:6:"OFFSET";s:7:"keyword";s:6:"OFFSET";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:90;}i:30;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:96;}i:31;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"2";s:5:"value";i:2;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:97;}i:32;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:98;}i:33;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:34;s:3:"idx";i:34;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\UpdateStatement":8:{s:6:"tables";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:3:"set";a:2:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:8:"username";s:5:"value";s:5:""Dan"";}i:1;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:2:"id";s:5:"value";s:3:"155";}}s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:2:{i:0;s:8:"username";i:1;s:4:"Paul";}s:10:"isOperator";b:0;s:4:"expr";s:17:"username = "Paul"";}}s:5:"order";N;s:5:"limit";O:37:"PhpMyAdmin\SqlParser\Components\Limit":2:{s:6:"offset";i:2;s:8:"rowCount";i:1;}s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:31;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:0:{}}}sql-parser-4.6.1/tests/data/parser/parseUpdate3.in000066400000000000000000000000441363525634600220650ustar00rootroot00000000000000UPDATE foo SET bar = WHERE baz = 0 sql-parser-4.6.1/tests/data/parser/parseUpdate3.out000066400000000000000000000100301363525634600222620ustar00rootroot00000000000000a:4:{s:5:"query";s:36:"UPDATE foo SET bar = WHERE baz = 0 ";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:36:"UPDATE foo SET bar = WHERE baz = 0 ";s:3:"len";i:36;s:4:"last";i:36;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:19:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"foo";s:5:"value";s:3:"foo";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:7;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:10;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:11;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"bar";s:5:"value";s:3:"bar";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:15;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:19;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:20;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:22;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"baz";s:5:"value";s:3:"baz";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:28;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:31;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:32;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:33;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"0";s:5:"value";i:0;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:34;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:19;s:3:"idx";i:19;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\UpdateStatement":8:{s:6:"tables";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:3:"foo";s:6:"column";N;s:4:"expr";s:3:"foo";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:3:"set";a:0:{}s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:1:{i:0;s:3:"baz";}s:10:"isOperator";b:0;s:4:"expr";s:7:"baz = 0";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:17;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:19:"Missing expression.";i:1;r:79;i:2;i:0;}}}}sql-parser-4.6.1/tests/data/parser/parseUpdateErr.in000066400000000000000000000001271363525634600224550ustar00rootroot00000000000000-- extraneous comma UPDATE users SET username = "Dan", id=155, WHERE 1 = 1;sql-parser-4.6.1/tests/data/parser/parseUpdateErr.out000066400000000000000000000135501363525634600226620ustar00rootroot00000000000000a:4:{s:5:"query";s:87:"-- extraneous comma UPDATE users SET username = "Dan", id=155, WHERE 1 = 1;";s:5:"lexer";O:26:"PhpMyAdmin\SqlParser\Lexer":8:{s:3:"str";s:87:"-- extraneous comma UPDATE users SET username = "Dan", id=155, WHERE 1 = 1;";s:3:"len";i:87;s:4:"last";i:87;s:4:"list";O:31:"PhpMyAdmin\SqlParser\TokensList":3:{s:6:"tokens";a:29:{i:0;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:19:"-- extraneous comma";s:5:"value";s:19:"-- extraneous comma";s:7:"keyword";N;s:4:"type";i:4;s:5:"flags";i:4;s:8:"position";i:0;}i:1;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:2;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:6:"UPDATE";s:5:"value";s:6:"UPDATE";s:7:"keyword";s:6:"UPDATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:20;}i:3;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:4;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:31;}i:5;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:6;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"SET";s:5:"value";s:3:"SET";s:7:"keyword";s:3:"SET";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:37;}i:7;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:40;}i:8;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:45;}i:9;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:10;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:54;}i:11;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:55;}i:12;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:""Dan"";s:5:"value";s:3:"Dan";s:7:"keyword";N;s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:56;}i:13;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:61;}i:14;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:62;}i:15;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:7:"keyword";N;s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:67;}i:16;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:69;}i:17;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:3:"155";s:5:"value";i:155;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:70;}i:18;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:73;}i:19;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:20;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:7:"keyword";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:75;}i:21;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:22;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:81;}i:23;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:24;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:7:"keyword";N;s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:83;}i:25;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:7:"keyword";N;s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:26;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:"1";s:5:"value";i:1;s:7:"keyword";N;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:85;}i:27;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:86;}i:28;O:26:"PhpMyAdmin\SqlParser\Token":6:{s:5:"token";N;s:5:"value";N;s:7:"keyword";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:29;s:3:"idx";i:29;}s:9:"delimiter";s:1:";";s:12:"delimiterLen";i:1;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"parser";O:27:"PhpMyAdmin\SqlParser\Parser":5:{s:4:"list";r:7;s:10:"statements";a:1:{i:0;O:47:"PhpMyAdmin\SqlParser\Statements\UpdateStatement":8:{s:6:"tables";a:1:{i:0;O:42:"PhpMyAdmin\SqlParser\Components\Expression":7:{s:8:"database";N;s:5:"table";s:5:"users";s:6:"column";N;s:4:"expr";s:5:"users";s:5:"alias";N;s:8:"function";N;s:8:"subquery";N;}}s:3:"set";a:2:{i:0;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:8:"username";s:5:"value";s:5:""Dan"";}i:1;O:44:"PhpMyAdmin\SqlParser\Components\SetOperation":2:{s:6:"column";s:2:"id";s:5:"value";s:3:"155";}}s:5:"where";a:1:{i:0;O:41:"PhpMyAdmin\SqlParser\Components\Condition":3:{s:11:"identifiers";a:0:{}s:10:"isOperator";b:0;s:4:"expr";s:5:"1 = 1";}}s:5:"order";N;s:5:"limit";N;s:7:"options";O:44:"PhpMyAdmin\SqlParser\Components\OptionsArray":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:26;}}s:8:"brackets";i:0;s:6:"strict";b:0;s:6:"errors";a:0:{}}s:6:"errors";a:2:{s:5:"lexer";a:0:{}s:6:"parser";a:1:{i:0;a:3:{i:0;s:17:"Unexpected token.";i:1;r:135;i:2;i:0;}}}}