diff options
author | Dan Ungureanu <udan1107@gmail.com> | 2015-07-03 21:18:10 +0300 |
---|---|---|
committer | Dan Ungureanu <udan1107@gmail.com> | 2015-07-04 23:41:52 +0300 |
commit | b3eff80030f9bd6d90e65360eb89e18a1be298b2 (patch) | |
tree | db420fef27f24856f4cfaeee008104fdfcb77942 /tests | |
parent | 4dabcc2ae266c022e44294bfbe3344b05e66e266 (diff) | |
download | sql-parser-b3eff80030f9bd6d90e65360eb89e18a1be298b2.zip sql-parser-b3eff80030f9bd6d90e65360eb89e18a1be298b2.tar.gz sql-parser-b3eff80030f9bd6d90e65360eb89e18a1be298b2.tar.bz2 |
The context depends on the SQL mode.
Implemented a few more builders.
Improved some fragments and statement types.
Fixed the noAlias option in FieldFragment.
Reordered CREATE statements's options.
Updated contexts definitions.
Fixed typos. Improved tests.
Diffstat (limited to 'tests')
38 files changed, 320 insertions, 111 deletions
diff --git a/tests/Builder/AlterStatementTest.php b/tests/Builder/AlterStatementTest.php new file mode 100644 index 0000000..2fa735d --- /dev/null +++ b/tests/Builder/AlterStatementTest.php @@ -0,0 +1,28 @@ +<?php + +namespace SqlParser\Tests\Builder; + +use SqlParser\Parser; + +use SqlParser\Tests\TestCase; + +class AlterStatementTest extends TestCase +{ + + public function testBuilderView() + { + $query = 'ALTER TABLE `actor` ' . + 'ADD PRIMARY KEY (`actor_id`), ' . + 'ADD KEY `idx_actor_last_name` (`last_name`);'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals( + 'ALTER TABLE `actor` ' . + 'ADD PRIMARY KEY (`actor_id`), ' . + 'ADD KEY `idx_actor_last_name` (`last_name`)', + $stmt->build() + ); + } +} diff --git a/tests/Builder/CreateStatementTest.php b/tests/Builder/CreateStatementTest.php new file mode 100644 index 0000000..6434c87 --- /dev/null +++ b/tests/Builder/CreateStatementTest.php @@ -0,0 +1,60 @@ +<?php + +namespace SqlParser\Tests\Builder; + +use SqlParser\Parser; +use SqlParser\Fragments\DataTypeFragment; +use SqlParser\Fragments\FieldFragment; +use SqlParser\Fragments\FieldDefFragment; +use SqlParser\Fragments\KeyFragment; +use SqlParser\Fragments\OptionsFragment; +use SqlParser\Statements\CreateStatement; + +use SqlParser\Tests\TestCase; + +class CreateStatementTest extends TestCase +{ + + public function testBuilderTable() + { + $stmt = new CreateStatement(); + + $stmt->name = new FieldFragment('', 'test', ''); + $stmt->options = new OptionsFragment(array('TABLE')); + $stmt->fields = array( + new FieldDefFragment( + 'id', + new OptionsFragment(array('NOT NULL', 'AUTO_INCREMENT')), + new DataTypeFragment('INT', array(11), new OptionsFragment(array('UNSIGNED'))) + ), + new FieldDefFragment( + '', + null, + new KeyFragment('', array('id'), 'PRIMARY KEY') + ) + ); + + $this->assertEquals( + 'CREATE TABLE `test` (' . + '`id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT, ' . + 'PRIMARY KEY (`id`)' . + ') ', + $stmt->build() + ); + } + + public function testBuilderView() + { + $query = 'CREATE VIEW myView (vid, vfirstname) AS ' . + 'SELECT id, first_name FROM employee WHERE id = 1'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals( + 'CREATE VIEW myView (vid, vfirstname) AS ' . + 'SELECT id, first_name FROM employee WHERE id = 1 ', + $stmt->build() + ); + } +} diff --git a/tests/Builder/ExplainStatement.php b/tests/Builder/ExplainStatement.php new file mode 100644 index 0000000..1a44f44 --- /dev/null +++ b/tests/Builder/ExplainStatement.php @@ -0,0 +1,24 @@ +<?php + +namespace SqlParser\Tests\Builder; + +use SqlParser\Parser; + +use SqlParser\Tests\TestCase; + +class ExplainStatementTest extends TestCase +{ + + public function testBuilderView() + { + $query = 'EXPLAIN SELECT * FROM test;'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals( + ' EXPLAIN SELECT * FROM test', + $stmt->build() + ); + } +} diff --git a/tests/Builder/StatementTest.php b/tests/Builder/StatementTest.php index 0a65aac..29163d1 100644 --- a/tests/Builder/StatementTest.php +++ b/tests/Builder/StatementTest.php @@ -2,7 +2,6 @@ namespace SqlParser\Tests\Builder; -use SqlParser\Builder; use SqlParser\Fragments\OptionsFragment; use SqlParser\Fragments\FieldFragment; use SqlParser\Fragments\WhereKeyword; @@ -33,8 +32,8 @@ class StatementTest extends TestCase $stmt->limit = new LimitKeyword(1, 10); $this->assertEquals( - 'SELECT DISTINCT sakila.film.film_id AS fid, COUNT(film_id) ' . - 'FROM film, actor ' . + '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 ', $stmt->build() diff --git a/tests/Fragments/ArrayFragmentTest.php b/tests/Fragments/ArrayFragmentTest.php index f73ce54..9242dbb 100644 --- a/tests/Fragments/ArrayFragmentTest.php +++ b/tests/Fragments/ArrayFragmentTest.php @@ -20,4 +20,21 @@ class ArrayFragmentTest extends TestCase $fragment = new ArrayFragment(array(), array('a', 'b')); $this->assertEquals('(a, b)', ArrayFragment::build($fragment)); } + + /** + * @dataProvider testParseProvider + */ + public function testParse($test) + { + $this->runParserTest($test); + } + + public function testParseProvider() + { + return array( + array('parseArrayErr1'), + array('parseArrayErr2'), + array('parseArrayErr3'), + ); + } } diff --git a/tests/Fragments/FieldFragmentTest.php b/tests/Fragments/FieldFragmentTest.php index f688260..785f87a 100644 --- a/tests/Fragments/FieldFragmentTest.php +++ b/tests/Fragments/FieldFragmentTest.php @@ -35,6 +35,6 @@ class FieldFragmentTest extends TestCase public function testBuild() { $fragment = new FieldFragment('1 + 2', 'three'); - $this->assertEquals(FieldFragment::build($fragment), '1 + 2 AS three'); + $this->assertEquals(FieldFragment::build($fragment), '1 + 2 AS `three`'); } } diff --git a/tests/Parser/FragmentTest.php b/tests/Fragments/FragmentTest.php index 638b84d..638b84d 100644 --- a/tests/Parser/FragmentTest.php +++ b/tests/Fragments/FragmentTest.php diff --git a/tests/Fragments/LimitKeywordTest.php b/tests/Fragments/LimitKeywordTest.php index f26d871..ff97cf0 100644 --- a/tests/Fragments/LimitKeywordTest.php +++ b/tests/Fragments/LimitKeywordTest.php @@ -21,4 +21,20 @@ class LimitKeywordTest extends TestCase $fragment = new LimitKeyword(1, 2); $this->assertEquals(LimitKeyword::build($fragment), '2, 1'); } + + /** + * @dataProvider testParseProvider + */ + public function testParse($test) + { + $this->runParserTest($test); + } + + public function testParseProvider() + { + return array( + array('parseLimitErr1'), + array('parseLimitErr2'), + ); + } } diff --git a/tests/Fragments/OptionsFragmentTest.php b/tests/Fragments/OptionsFragmentTest.php index 47738b9..8fe596d 100644 --- a/tests/Fragments/OptionsFragmentTest.php +++ b/tests/Fragments/OptionsFragmentTest.php @@ -27,6 +27,8 @@ class OptionsFragmentTest extends TestCase 2 => array( 'name' => 'B', 'value' => 'test', + 'value_' => 'test', + 'equal' => false, ), 3 => 'C', ), @@ -50,6 +52,8 @@ class OptionsFragmentTest extends TestCase array( 'name' => 'MAX_STATEMENT_TIME', 'value' => '42', + 'value_' => '42', + 'equal' => true, ), ) ); diff --git a/tests/Fragments/ReferencesKeyword.php b/tests/Fragments/ReferencesKeyword.php new file mode 100644 index 0000000..9f874ec --- /dev/null +++ b/tests/Fragments/ReferencesKeyword.php @@ -0,0 +1,25 @@ +<?php + +namespace SqlParser\Tests\Fragments; + +use SqlParser\Parser; +use SqlParser\Fragments\ReferencesKeyword; + +use SqlParser\Tests\TestCase; + +class ReferencesKeywordTest extends TestCase +{ + + public function testParse() + { + $fragment = ReferencesKeyword::parse(new Parser(), $this->getTokensList('tbl (id)')); + $this->assertEquals('tbl', $fragment->table); + $this->assertEquals(array('id'), $fragment->columns); + } + + public function testBuild() + { + $fragment = new ReferencesKeyword('tbl', array('id')); + $this->assertEquals('`tbl` (`id`)', ReferencesKeyword::build($fragment)); + } +} diff --git a/tests/Lexer/ContextTest.php b/tests/Lexer/ContextTest.php index b630d03..50e500a 100644 --- a/tests/Lexer/ContextTest.php +++ b/tests/Lexer/ContextTest.php @@ -36,4 +36,29 @@ class ContextTest extends TestCase { Context::load('Foo'); } + + public function testMode() + { + Context::setMode('REAL_AS_FLOAT,ANSI_QUOTES,IGNORE_SPACE'); + $this->assertEquals( + Context::REAL_AS_FLOAT | Context::ANSI_QUOTES | Context::IGNORE_SPACE, + Context::$MODE + ); + Context::setMode(); + $this->assertEquals(0, Context::$MODE); + } + + public function testEscape() + { + 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')) + ); + } } diff --git a/tests/Lexer/IsMethodsTest.php b/tests/Lexer/IsMethodsTest.php index dfd065d..a817e65 100644 --- a/tests/Lexer/IsMethodsTest.php +++ b/tests/Lexer/IsMethodsTest.php @@ -17,13 +17,16 @@ class IsMethodsTest extends TestCase $this->assertEquals(1 | Token::FLAG_KEYWORD_RESERVED, Context::isKeyword('DISTINCT')); $this->assertEquals( - 1 | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, + 1 | Token::FLAG_KEYWORD_RESERVED | Token::FLAG_KEYWORD_COMPOSED | Token::FLAG_KEYWORD_KEY, Context::isKeyword('PRIMARY KEY') ); - $this->assertEquals(1 | Token::FLAG_KEYWORD_COMPOSED, Context::isKeyword('CHARACTER SET')); + $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->assertEquals(null, Context::isKeyword('PRIMARY KEY', true)); + $this->assertEquals(null, Context::isKeyword('MODIFY', true)); $this->assertEquals(null, Context::isKeyword('foo')); $this->assertEquals(null, Context::isKeyword('bar baz')); diff --git a/tests/Lexer/TokensList.php b/tests/Lexer/TokensListTest.php index 8887241..55bf1b9 100644 --- a/tests/Lexer/TokensList.php +++ b/tests/Lexer/TokensListTest.php @@ -7,7 +7,7 @@ use SqlParser\TokensList; use SqlParser\Tests\TestCase; -class TokensListCase extends TestCase +class TokensListTest extends TestCase { /** @@ -24,24 +24,20 @@ class TokensListCase extends TestCase { $this->tokens = 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('`test`', Token::TYPE_SYMBOL) + new Token(' ', Token::TYPE_WHITESPACE), + new Token('`test`', Token::TYPE_SYMBOL), + new Token(' ', Token::TYPE_WHITESPACE), ); } - /** - * Gets a list used for testing. - * - * @return TokensList - */ - public function getList() + public function testBuild() { - $list = new TokensList(); - foreach ($this->tokens as $token) { - $list[] = $token; - } - return $list; + $list = new TokensList($this->tokens); + $this->assertEquals('SELECT * FROM `test` ', TokensList::build($list)); } public function testAdd() @@ -50,30 +46,30 @@ class TokensListCase extends TestCase foreach ($this->tokens as $token) { $list->add($token); } - $this->assertEquals($this->getList(), $list); + $this->assertEquals(new TokensList($this->tokens), $list); } public function testGetNext() { - $list = $this->getList(); + $list = new TokensList($this->tokens); $this->assertEquals($this->tokens[0], $list->getNext()); - $this->assertEquals($this->tokens[1], $list->getNext()); $this->assertEquals($this->tokens[2], $list->getNext()); - $this->assertEquals($this->tokens[3], $list->getNext()); + $this->assertEquals($this->tokens[4], $list->getNext()); + $this->assertEquals($this->tokens[6], $list->getNext()); $this->assertEquals(null, $list->getNext()); } public function testGetNextOfType() { - $list = $this->getList(); + $list = new TokensList($this->tokens); $this->assertEquals($this->tokens[0], $list->getNextOfType(Token::TYPE_KEYWORD)); - $this->assertEquals($this->tokens[2], $list->getNextOfType(Token::TYPE_KEYWORD)); + $this->assertEquals($this->tokens[4], $list->getNextOfType(Token::TYPE_KEYWORD)); $this->assertEquals(null, $list->getNextOfType(Token::TYPE_KEYWORD)); } public function testGetNextOfTypeAndValue() { - $list = $this->getList(); + $list = new TokensList($this->tokens); $this->assertEquals($this->tokens[0], $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'SELECT')); $this->assertEquals(null, $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'SELECT')); } @@ -97,11 +93,10 @@ class TokensListCase extends TestCase // offsetExists($offset) $this->assertTrue(isset($list[2])); - $this->assertFalse(isset($list[5])); + $this->assertFalse(isset($list[8])); // offsetUnset($offset) unset($list[2]); $this->assertEquals($this->tokens[3], $list[2]); - } } diff --git a/tests/Parser/AlterStatementTest.php b/tests/Parser/AlterStatementTest.php new file mode 100644 index 0000000..4b315f1 --- /dev/null +++ b/tests/Parser/AlterStatementTest.php @@ -0,0 +1,24 @@ +<?php + +namespace SqlParser\Tests\Parser; + +use SqlParser\Tests\TestCase; + +class AlterStatementTest extends TestCase +{ + + /** + * @dataProvider testAlterProvider + */ + public function testAlter($test) + { + $this->runParserTest($test); + } + + public function testAlterProvider() + { + return array( + array('parseAlter'), + ); + } +} diff --git a/tests/Parser/ArrayFragmentTest.php b/tests/Parser/ArrayFragmentTest.php deleted file mode 100644 index a31bf2a..0000000 --- a/tests/Parser/ArrayFragmentTest.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - -namespace SqlParser\Tests\Parser; - -use SqlParser\Tests\TestCase; - -class ArrayFragmentTest extends TestCase -{ - - /** - * @dataProvider testArrayProvider - */ - public function testArray($test) - { - $this->runParserTest($test); - } - - public function testArrayProvider() - { - return array( - array('parseArrayErr1'), - array('parseArrayErr2'), - array('parseArrayErr3'), - ); - } -} diff --git a/tests/Parser/CreateStatementTest.php b/tests/Parser/CreateStatementTest.php index 8f8c43a..11bfc5e 100644 --- a/tests/Parser/CreateStatementTest.php +++ b/tests/Parser/CreateStatementTest.php @@ -18,15 +18,17 @@ class CreateStatementTest extends TestCase public function testCreateProvider() { return array( - array('parseCreateTable'), - array('parseCreateTable2'), - array('parseCreateTableErr1'), - array('parseCreateProcedure'), - array('parseCreateProcedure2'), array('parseCreateFunction'), array('parseCreateFunctionErr1'), array('parseCreateFunctionErr2'), + array('parseCreateProcedure'), + array('parseCreateProcedure2'), + array('parseCreateTable'), + array('parseCreateTable2'), + array('parseCreateTableErr1'), array('parseCreateUser'), + array('parseCreateView'), + array('parseCreateView2'), ); } } diff --git a/tests/Parser/ExplainStatement.php b/tests/Parser/ExplainStatement.php new file mode 100644 index 0000000..3e1aaf9 --- /dev/null +++ b/tests/Parser/ExplainStatement.php @@ -0,0 +1,24 @@ +<?php + +namespace SqlParser\Tests\Parser; + +use SqlParser\Tests\TestCase; + +class ExplainStatementTest extends TestCase +{ + + /** + * @dataProvider testExplainProvider + */ + public function testExplain($test) + { + $this->runParserTest($test); + } + + public function testExplainProvider() + { + return array( + array('parseExplain'), + ); + } +} diff --git a/tests/Parser/LimitKeywordTest.php b/tests/Parser/LimitKeywordTest.php deleted file mode 100644 index 2e7831d..0000000 --- a/tests/Parser/LimitKeywordTest.php +++ /dev/null @@ -1,25 +0,0 @@ -<?php - -namespace SqlParser\Tests\Parser; - -use SqlParser\Tests\TestCase; - -class LimitKeywordTest extends TestCase -{ - - /** - * @dataProvider testCallProvider - */ - public function testCall($test) - { - $this->runParserTest($test); - } - - public function testCallProvider() - { - return array( - array('parseLimitErr1'), - array('parseLimitErr2'), - ); - } -} diff --git a/tests/data/parseAlter.in b/tests/data/parseAlter.in new file mode 100644 index 0000000..6e2afe8 --- /dev/null +++ b/tests/data/parseAlter.in @@ -0,0 +1,3 @@ +ALTER TABLE `actor` + ADD PRIMARY KEY (`actor_id`), + ADD KEY `idx_actor_last_name` (`last_name`);
\ No newline at end of file diff --git a/tests/data/parseAlter.out b/tests/data/parseAlter.out new file mode 100644 index 0000000..f26ac81 --- /dev/null +++ b/tests/data/parseAlter.out @@ -0,0 +1,3 @@ +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:26:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"ALTER";s:5:"value";s:5:"ALTER";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:5;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:6;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"`actor`";s:5:"value";s:5:"actor";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:12;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:19;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"ADD";s:5:"value";s:3:"ADD";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:24;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:28;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:40;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:41;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:51;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"ADD";s:5:"value";s:3:"ADD";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:58;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:62;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:21:"`idx_actor_last_name`";s:5:"value";s:19:"idx_actor_last_name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:66;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:87;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`last_name`";s:5:"value";s:9:"last_name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:89;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:100;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:101;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:35:"SqlParser\Statements\AlterStatement":5:{s:5:"table";O:33:"SqlParser\Fragments\FieldFragment":7:{s:8:"database";N;s:5:"table";N;s:6:"column";s:5:"actor";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:33:"SqlParser\Fragments\AlterFragment":3:{s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:3;s:3:"ADD";i:4;s:11:"PRIMARY KEY";}}s:5:"field";N;s:7:"unknown";a:3:{i:0;r:65;i:1;r:71;i:2;r:77;}}i:1;O:33:"SqlParser\Fragments\AlterFragment":3:{s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:3;s:3:"ADD";i:4;s:3:"KEY";}}s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:131;i:1;r:137;i:2;r:143;}}}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:5:"first";i:0;s:4:"last";i:24;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseCreateFunction.out b/tests/data/parseCreateFunction.out index 78620ea..07eca1a 100644 --- a/tests/data/parseCreateFunction.out +++ b/tests/data/parseCreateFunction.out @@ -3,4 +3,4 @@ a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensLi ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DECLARE";s:5:"value";s:7:"DECLARE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:58;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:65;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:66;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:75;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:82;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:83;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:90;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"""";s:5:"value";s:0:"";s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:91;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:93;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:94;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:99;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:105;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:106;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:114;}i:32;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:115;}i:33;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:119;}i:34;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:120;}i:35;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:128;}i:36;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:129;}i:37;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:133;}i:38;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:134;}i:39;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:40;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:140;}i:41;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:42;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"ID";s:5:"value";s:2:"ID";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:146;}i:43;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:148;}i:44;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:149;}i:45;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:150;}i:46;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:151;}i:47;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:154;}i:48;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:155;}i:49;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"RETURN";s:5:"value";s:6:"RETURN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:160;}i:50;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:166;}i:51;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:167;}i:52;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:175;}i:53;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:176;}i:54;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:177;}i:55;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:6:"F_TEST";}s:13:"entityOptions";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"parameters";a:1:{i:0;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:40:{i:0;r:95;i:1;r:101;i:2;r:107;i:3;r:113;i:4;r:119;i:5;r:125;i:6;r:131;i:7;r:137;i:8;r:143;i:9;r:149;i:10;r:155;i:11;r:161;i:12;r:167;i:13;r:173;i:14;r:179;i:15;r:185;i:16;r:191;i:17;r:197;i:18;r:203;i:19;r:209;i:20;r:215;i:21;r:221;i:22;r:227;i:23;r:233;i:24;r:239;i:25;r:245;i:26;r:251;i:27;r:257;i:28;r:263;i:29;r:269;i:30;r:275;i:31;r:281;i:32;r:287;i:33;r:293;i:34;r:299;i:35;r:305;i:36;r:311;i:37;r:317;i:38;r:323;i:39;r:329;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:54;}}}s:6:"errors";a:0:{}}
\ No newline at end of file +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:176;}i:54;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:177;}i:55;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"parameters";a:1:{i:0;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:40:{i:0;r:95;i:1;r:101;i:2;r:107;i:3;r:113;i:4;r:119;i:5;r:125;i:6;r:131;i:7;r:137;i:8;r:143;i:9;r:149;i:10;r:155;i:11;r:161;i:12;r:167;i:13;r:173;i:14;r:179;i:15;r:185;i:16;r:191;i:17;r:197;i:18;r:203;i:19;r:209;i:20;r:215;i:21;r:221;i:22;r:227;i:23;r:233;i:24;r:239;i:25;r:245;i:26;r:251;i:27;r:257;i:28;r:263;i:29;r:269;i:30;r:275;i:31;r:281;i:32;r:287;i:33;r:293;i:34;r:299;i:35;r:305;i:36;r:311;i:37;r:317;i:38;r:323;i:39;r:329;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:6;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:54;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseCreateFunctionErr1.out b/tests/data/parseCreateFunctionErr1.out index 90dce98..5062d4b 100644 --- a/tests/data/parseCreateFunctionErr1.out +++ b/tests/data/parseCreateFunctionErr1.out @@ -3,4 +3,4 @@ a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensLi ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:37;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DECLARE";s:5:"value";s:7:"DECLARE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:42;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:59;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:67;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"""";s:5:"value";s:0:"";s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:75;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:77;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:83;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:89;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:90;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:98;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"INTO";s:5:"value";s:4:"INTO";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:99;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:103;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:104;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:112;}i:32;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:113;}i:33;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:117;}i:34;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:118;}i:35;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:123;}i:36;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:124;}i:37;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:38;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"ID";s:5:"value";s:2:"ID";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:130;}i:39;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:40;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:133;}i:41;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:134;}i:42;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:135;}i:43;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:138;}i:44;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:45;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"RETURN";s:5:"value";s:6:"RETURN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:144;}i:46;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:150;}i:47;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:151;}i:48;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:159;}i:49;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:50;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:161;}i:51;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:6:"F_TEST";}s:13:"entityOptions";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";N;s:10:"parameters";a:1:{i:0;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:38:{i:0;r:83;i:1;r:89;i:2;r:95;i:3;r:101;i:4;r:107;i:5;r:113;i:6;r:119;i:7;r:125;i:8;r:131;i:9;r:137;i:10;r:143;i:11;r:149;i:12;r:155;i:13;r:161;i:14;r:167;i:15;r:173;i:16;r:179;i:17;r:185;i:18;r:191;i:19;r:197;i:20;r:203;i:21;r:209;i:22;r:215;i:23;r:221;i:24;r:227;i:25;r:233;i:26;r:239;i:27;r:245;i:28;r:251;i:29;r:257;i:30;r:263;i:31;r:269;i:32;r:275;i:33;r:281;i:34;r:287;i:35;r:293;i:36;r:299;i:37;r:305;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:50;}}}s:6:"errors";a:1:{i:0;a:3:{i:0;s:31:"'RETURNS' keyword was expected.";i:1;r:71;i:2;i:0;}}}
\ No newline at end of file +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:50;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:161;}i:51;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";N;s:10:"parameters";a:1:{i:0;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:38:{i:0;r:83;i:1;r:89;i:2;r:95;i:3;r:101;i:4;r:107;i:5;r:113;i:6;r:119;i:7;r:125;i:8;r:131;i:9;r:137;i:10;r:143;i:11;r:149;i:12;r:155;i:13;r:161;i:14;r:167;i:15;r:173;i:16;r:179;i:17;r:185;i:18;r:191;i:19;r:197;i:20;r:203;i:21;r:209;i:22;r:215;i:23;r:221;i:24;r:227;i:25;r:233;i:26;r:239;i:27;r:245;i:28;r:251;i:29;r:257;i:30;r:263;i:31;r:269;i:32;r:275;i:33;r:281;i:34;r:287;i:35;r:293;i:36;r:299;i:37;r:305;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:6;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:50;}}}s:6:"errors";a:1:{i:0;a:3:{i:0;s:31:"'RETURNS' keyword was expected.";i:1;r:71;i:2;i:0;}}}
\ No newline at end of file diff --git a/tests/data/parseCreateFunctionErr2.out b/tests/data/parseCreateFunctionErr2.out index c7a576c..fa6bd9b 100644 --- a/tests/data/parseCreateFunctionErr2.out +++ b/tests/data/parseCreateFunctionErr2.out @@ -1 +1 @@ -a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"FUNCTION";s:5:"value";s:8:"FUNCTION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:20;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"RETURNS";s:5:"value";s:7:"RETURNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:23;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:4:"test";}s:13:"entityOptions";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";N;s:10:"parameters";a:0:{}s:4:"body";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:11;}}}s:6:"errors";a:0:{}}
\ No newline at end of file +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"FUNCTION";s:5:"value";s:8:"FUNCTION";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:15;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:16;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:20;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:21;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"RETURNS";s:5:"value";s:7:"RETURNS";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:23;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";N;s:10:"parameters";a:0:{}s:4:"body";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:6;s:8:"FUNCTION";}}s:5:"first";i:0;s:4:"last";i:11;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseCreateProcedure.out b/tests/data/parseCreateProcedure.out index 60fb751..758b767 100644 --- a/tests/data/parseCreateProcedure.out +++ b/tests/data/parseCreateProcedure.out @@ -1,4 +1,4 @@ a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:32:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"PROCEDURE";s:5:"value";s:9:"PROCEDURE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"P_TEST";s:5:"value";s:6:"P_TEST";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:17;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:24;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:28;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:31;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:33;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:43;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:49;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:50;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:58;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:59;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:63;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:64;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:70;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"ID";s:5:"value";s:2:"ID";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:76;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:78;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:79;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:81;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:84;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:86;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:6:"P_TEST";}s:13:"entityOptions";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";N;s:10:"parameters";a:1:{i:0;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:20:{i:0;r:71;i:1;r:77;i:2;r:83;i:3;r:89;i:4;r:95;i:5;r:101;i:6;r:107;i:7;r:113;i:8;r:119;i:9;r:125;i:10;r:131;i:11;r:137;i:12;r:143;i:13;r:149;i:14;r:155;i:15;r:161;i:16;r:167;i:17;r:173;i:18;r:179;i:19;r:185;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:9:"PROCEDURE";}}s:5:"first";i:0;s:4:"last";i:30;}}}s:6:"errors";a:0:{}}
\ No newline at end of file +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:86;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";N;s:10:"parameters";a:1:{i:0;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:3:"uid";s:5:"inOut";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:20:{i:0;r:71;i:1;r:77;i:2;r:83;i:3;r:89;i:4;r:95;i:5;r:101;i:6;r:107;i:7;r:113;i:8;r:119;i:9;r:125;i:10;r:131;i:11;r:137;i:12;r:143;i:13;r:149;i:14;r:155;i:15;r:161;i:16;r:167;i:17;r:173;i:18;r:179;i:19;r:185;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:6;s:9:"PROCEDURE";}}s:5:"first";i:0;s:4:"last";i:30;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseCreateProcedure2.out b/tests/data/parseCreateProcedure2.out index db28ce0..7f7480a 100644 --- a/tests/data/parseCreateProcedure2.out +++ b/tests/data/parseCreateProcedure2.out @@ -1,4 +1,4 @@ a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:41:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"PROCEDURE";s:5:"value";s:9:"PROCEDURE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"P_TEST";s:5:"value";s:6:"P_TEST";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:17;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"IN";s:5:"value";s:2:"IN";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:24;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:30;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:31;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:34;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:35;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"IN";s:5:"value";s:2:"IN";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:36;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:38;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"unused";s:5:"value";s:6:"unused";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:39;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:45;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:46;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:53;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:54;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"BEGIN";s:5:"value";s:5:"BEGIN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:55;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:65;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:71;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:72;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:80;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:81;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:86;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:91;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:92;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:32;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"ID";s:5:"value";s:2:"ID";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:98;}i:33;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:100;}i:34;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:101;}i:35;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:102;}i:36;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"uid";s:5:"value";s:3:"uid";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:103;}i:37;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:106;}i:38;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:108;}i:40;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:6:"P_TEST";}s:13:"entityOptions";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";N;s:10:"parameters";a:2:{i:0;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:3:"uid";s:5:"inOut";s:2:"IN";s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}i:1;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:6:"unused";s:5:"inOut";s:2:"IN";s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:20:{i:0;r:125;i:1;r:131;i:2;r:137;i:3;r:143;i:4;r:149;i:5;r:155;i:6;r:161;i:7;r:167;i:8;r:173;i:9;r:179;i:10;r:185;i:11;r:191;i:12;r:197;i:13;r:203;i:14;r:209;i:15;r:215;i:16;r:221;i:17;r:227;i:18;r:233;i:19;r:239;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:9:"PROCEDURE";}}s:5:"first";i:0;s:4:"last";i:39;}}}s:6:"errors";a:0:{}}
\ No newline at end of file +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:107;}i:39;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"END";s:5:"value";s:3:"END";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:108;}i:40;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}s:6:"fields";N;s:6:"return";N;s:10:"parameters";a:2:{i:0;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:3:"uid";s:5:"inOut";s:2:"IN";s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}i:1;O:36:"SqlParser\Fragments\ParamDefFragment":3:{s:4:"name";s:6:"unused";s:5:"inOut";s:2:"IN";s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}}s:4:"body";a:20:{i:0;r:125;i:1;r:131;i:2;r:137;i:3;r:143;i:4;r:149;i:5;r:155;i:6;r:161;i:7;r:167;i:8;r:173;i:9;r:179;i:10;r:185;i:11;r:191;i:12;r:197;i:13;r:203;i:14;r:209;i:15;r:215;i:16;r:221;i:17;r:227;i:18;r:233;i:19;r:239;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:6;s:9:"PROCEDURE";}}s:5:"first";i:0;s:4:"last";i:39;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseCreateTable.out b/tests/data/parseCreateTable.out index 40209d1..848cb96 100644 --- a/tests/data/parseCreateTable.out +++ b/tests/data/parseCreateTable.out @@ -1,7 +1,7 @@ -a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:65:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:13;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:39;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:44;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:48;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:57;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:65:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:13;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:39;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"INT";s:5:"value";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:44;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:47;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:48;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:56;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:57;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:71;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:72;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:77;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:86;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:93;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"64";s:5:"value";i:64;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:94;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:96;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:97;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:98;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:102;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:103;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`password`";s:5:"value";s:8:"password";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:108;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:118;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"VARCHAR";s:5:"value";s:7:"VARCHAR";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:119;}i:32;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:126;}i:33;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"256";s:5:"value";i:256;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:127;}i:34;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:130;}i:35;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:131;}i:36;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:132;}i:37;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:139;}i:38;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"'123456'";s:5:"value";s:6:"123456";s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:140;}i:39;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:148;}i:40;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:149;}i:41;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:154;}i:42;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:164;}i:43;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"pk_id";s:5:"value";s:5:"pk_id";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:165;}i:44;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:170;}i:45;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:21;s:8:"position";i:171;}i:46;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:182;}i:47;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:183;}i:48;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:184;}i:49;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:188;}i:50;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:189;}i:51;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:149;}i:41;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:154;}i:42;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:164;}i:43;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"pk_id";s:5:"value";s:5:"pk_id";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:165;}i:44;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:170;}i:45;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:171;}i:46;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:182;}i:47;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:183;}i:48;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:184;}i:49;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:188;}i:50;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:189;}i:51;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:190;}i:52;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"UNIQUE";s:5:"value";s:6:"UNIQUE";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:195;}i:53;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:201;}i:54;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:202;}i:55;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:203;}i:56;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:211;}i:57;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:212;}i:58;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:213;}i:59;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:214;}i:60;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:215;}i:61;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:221;}i:62;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:222;}i:63;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:228;}i:64;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:5:"users";}s:13:"entityOptions";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;a:2:{s:4:"name";s:6:"ENGINE";s:5:"value";s:6:"InnoDB";}}}s:6:"fields";a:5:{i:0;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:3;s:14:"AUTO_INCREMENT";}}}i:1;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:8:"username";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;i:64;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:4:"NULL";}}}i:2;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:8:"password";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;i:256;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:2;a:2:{s:4:"name";s:7:"DEFAULT";s:5:"value";s:6:"123456";}}}}i:3;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:5:"pk_id";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:2:"id";}s:4:"type";s:11:"PRIMARY KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:4;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:8:"username";}s:4:"type";s:6:"UNIQUE";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}}s:6:"return";N;s:10:"parameters";N;s:4:"body";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;s:5:"TABLE";i:3;s:13:"IF NOT EXISTS";}}s:5:"first";i:0;s:4:"last";i:62;}}}s:6:"errors";a:0:{}}
\ No newline at end of file +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:212;}i:58;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:213;}i:59;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:214;}i:60;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:215;}i:61;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:221;}i:62;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:222;}i:63;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:228;}i:64;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:5:"equal";b:1;s:5:"value";s:6:"InnoDB";s:6:"value_";s:6:"InnoDB";}}}s:6:"fields";a:5:{i:0;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:3;s:14:"AUTO_INCREMENT";}}}i:1;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:8:"username";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;i:64;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:4:"NULL";}}}i:2;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:8:"password";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"VARCHAR";s:10:"parameters";a:1:{i:0;i:256;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:5:"equal";b:0;s:5:"value";s:8:"'123456'";s:6:"value_";s:6:"123456";}}}}i:3;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:5:"pk_id";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:2:"id";}s:4:"type";s:11:"PRIMARY KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:4;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:8:"username";}s:4:"type";s:6:"UNIQUE";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}}s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:2;s:13:"IF NOT EXISTS";i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:62;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseCreateTable2.out b/tests/data/parseCreateTable2.out index f532d03..7c5105c 100644 --- a/tests/data/parseCreateTable2.out +++ b/tests/data/parseCreateTable2.out @@ -1,16 +1,16 @@ a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:214:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"`payment`";s:5:"value";s:7:"payment";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:13;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`payment_id`";s:5:"value";s:10:"payment_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:27;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"smallint";s:5:"value";s:8:"SMALLINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:40;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:48;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"5";s:5:"value";i:5;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:49;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:50;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:61;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:70;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:84;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:88;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"smallint";s:5:"value";s:8:"SMALLINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:102;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:110;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"5";s:5:"value";i:5;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:111;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:112;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:114;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:123;}i:32;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:131;}i:33;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:34;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:135;}i:35;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:36;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"tinyint";s:5:"value";s:7:"TINYINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:146;}i:37;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:153;}i:38;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"3";s:5:"value";i:3;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:154;}i:39;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:155;}i:40;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:156;}i:41;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:157;}i:42;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:165;}i:43;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:166;}i:44;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:174;}i:45;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`payment_id`";s:5:"value";s:10:"payment_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:27;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"smallint";s:5:"value";s:8:"SMALLINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:40;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:48;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"5";s:5:"value";i:5;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:49;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:50;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:52;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:60;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:61;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:69;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:70;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:84;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:85;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:88;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"smallint";s:5:"value";s:8:"SMALLINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:102;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:110;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"5";s:5:"value";i:5;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:111;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:112;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:113;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:114;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:122;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:123;}i:32;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:131;}i:33;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:132;}i:34;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:135;}i:35;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:145;}i:36;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"tinyint";s:5:"value";s:7:"TINYINT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:146;}i:37;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:153;}i:38;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"3";s:5:"value";i:3;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:154;}i:39;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:155;}i:40;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:156;}i:41;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"unsigned";s:5:"value";s:8:"UNSIGNED";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:157;}i:42;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:165;}i:43;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:166;}i:44;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:174;}i:45;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:175;}i:46;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:178;}i:47;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:189;}i:48;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"int";s:5:"value";s:3:"INT";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:190;}i:49;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:193;}i:50;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"11";s:5:"value";i:11;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:194;}i:51;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:196;}i:52;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:197;}i:53;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:198;}i:54;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:205;}i:55;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"NULL";s:5:"value";s:4:"NULL";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:206;}i:56;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:210;}i:57;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:211;}i:58;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`amount`";s:5:"value";s:6:"amount";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:214;}i:59;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:222;}i:60;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"decimal";s:5:"value";s:7:"DECIMAL";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:223;}i:61;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:230;}i:62;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"5";s:5:"value";i:5;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:231;}i:63;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:232;}i:64;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"2";s:5:"value";i:2;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:233;}i:65;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:234;}i:66;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:235;}i:67;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:236;}i:68;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:244;}i:69;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:245;}i:70;O:15:"SqlParser\Token":5:{s:5:"token";s:14:"`payment_date`";s:5:"value";s:12:"payment_date";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:248;}i:71;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:262;}i:72;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"datetime";s:5:"value";s:8:"datetime";s:4:"type";i:1;s:5:"flags";i:9;s:8:"position";i:263;}i:73;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:271;}i:74;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:272;}i:75;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:280;}i:76;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:281;}i:77;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`last_update`";s:5:"value";s:11:"last_update";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:284;}i:78;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:297;}i:79;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"timestamp";s:5:"value";s:9:"timestamp";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:298;}i:80;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:307;}i:81;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:308;}i:82;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:316;}i:83;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:317;}i:84;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:324;}i:85;O:15:"SqlParser\Token":5:{s:5:"token";s:17:"CURRENT_TIMESTAMP";s:5:"value";s:17:"CURRENT_TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:325;}i:86;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:342;}i:87;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:343;}i:88;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:352;}i:89;O:15:"SqlParser\Token":5:{s:5:"token";s:17:"CURRENT_TIMESTAMP";s:5:"value";s:17:"CURRENT_TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:353;}i:90;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:370;}i:91;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:371;}i:92;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:21;s:8:"position";i:374;}i:93;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:385;}i:94;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:386;}i:95;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`payment_id`";s:5:"value";s:10:"payment_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:387;}i:96;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:399;}i:97;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:400;}i:98;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:211;}i:58;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`amount`";s:5:"value";s:6:"amount";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:214;}i:59;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:222;}i:60;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"decimal";s:5:"value";s:7:"DECIMAL";s:4:"type";i:1;s:5:"flags";i:11;s:8:"position";i:223;}i:61;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:230;}i:62;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"5";s:5:"value";i:5;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:231;}i:63;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:232;}i:64;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"2";s:5:"value";i:2;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:233;}i:65;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:234;}i:66;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:235;}i:67;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:236;}i:68;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:244;}i:69;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:245;}i:70;O:15:"SqlParser\Token":5:{s:5:"token";s:14:"`payment_date`";s:5:"value";s:12:"payment_date";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:248;}i:71;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:262;}i:72;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"datetime";s:5:"value";s:8:"datetime";s:4:"type";i:1;s:5:"flags";i:9;s:8:"position";i:263;}i:73;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:271;}i:74;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:272;}i:75;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:280;}i:76;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:281;}i:77;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`last_update`";s:5:"value";s:11:"last_update";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:284;}i:78;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:297;}i:79;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"timestamp";s:5:"value";s:9:"timestamp";s:4:"type";i:1;s:5:"flags";i:41;s:8:"position";i:298;}i:80;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:307;}i:81;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"NOT NULL";s:5:"value";s:8:"NOT NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:308;}i:82;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:316;}i:83;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:317;}i:84;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:324;}i:85;O:15:"SqlParser\Token":5:{s:5:"token";s:17:"CURRENT_TIMESTAMP";s:5:"value";s:17:"CURRENT_TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:325;}i:86;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:342;}i:87;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:343;}i:88;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:352;}i:89;O:15:"SqlParser\Token":5:{s:5:"token";s:17:"CURRENT_TIMESTAMP";s:5:"value";s:17:"CURRENT_TIMESTAMP";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:353;}i:90;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:370;}i:91;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:371;}i:92;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"PRIMARY KEY";s:5:"value";s:11:"PRIMARY KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:374;}i:93;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:385;}i:94;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:386;}i:95;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`payment_id`";s:5:"value";s:10:"payment_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:387;}i:96;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:399;}i:97;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:400;}i:98;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:401;}i:99;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:404;}i:100;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:407;}i:101;O:15:"SqlParser\Token":5:{s:5:"token";s:17:"`idx_fk_staff_id`";s:5:"value";s:15:"idx_fk_staff_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:408;}i:102;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:425;}i:103;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:426;}i:104;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:427;}i:105;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:437;}i:106;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:438;}i:107;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:439;}i:108;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:442;}i:109;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:445;}i:110;O:15:"SqlParser\Token":5:{s:5:"token";s:20:"`idx_fk_customer_id`";s:5:"value";s:18:"idx_fk_customer_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:446;}i:111;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:466;}i:112;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:467;}i:113;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:468;}i:114;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:481;}i:115;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:482;}i:116;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:483;}i:117;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"KEY";s:5:"value";s:3:"KEY";s:4:"type";i:1;s:5:"flags";i:19;s:8:"position";i:486;}i:118;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:489;}i:119;O:15:"SqlParser\Token":5:{s:5:"token";s:19:"`fk_payment_rental`";s:5:"value";s:17:"fk_payment_rental";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:490;}i:120;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:509;}i:121;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:510;}i:122;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:511;}i:123;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:522;}i:124;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:523;}i:125;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:524;}i:126;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:527;}i:127;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:537;}i:128;O:15:"SqlParser\Token":5:{s:5:"token";s:21:"`fk_payment_customer`";s:5:"value";s:19:"fk_payment_customer";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:538;}i:129;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:559;}i:130;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:21;s:8:"position";i:560;}i:131;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:571;}i:132;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:572;}i:133;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:573;}i:134;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:586;}i:135;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:587;}i:136;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:588;}i:137;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:598;}i:138;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`customer`";s:5:"value";s:8:"customer";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:599;}i:139;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:609;}i:140;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:610;}i:141;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:611;}i:142;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:624;}i:143;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:625;}i:144;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:626;}i:145;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:635;}i:146;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:636;}i:147;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:643;}i:148;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:644;}i:149;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:647;}i:150;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:657;}i:151;O:15:"SqlParser\Token":5:{s:5:"token";s:19:"`fk_payment_rental`";s:5:"value";s:17:"fk_payment_rental";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:658;}i:152;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:677;}i:153;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:21;s:8:"position";i:678;}i:154;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:689;}i:155;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:690;}i:156;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:691;}i:157;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:702;}i:158;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:703;}i:159;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:704;}i:160;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:714;}i:161;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`rental`";s:5:"value";s:6:"rental";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:715;}i:162;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:723;}i:163;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:724;}i:164;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:725;}i:165;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:736;}i:166;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:737;}i:167;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON DELETE";s:5:"value";s:9:"ON DELETE";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:738;}i:168;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:747;}i:169;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"SET NULL";s:5:"value";s:8:"SET NULL";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:748;}i:170;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:756;}i:171;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:757;}i:172;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:766;}i:173;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:767;}i:174;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:774;}i:175;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" - ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:775;}i:176;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:778;}i:177;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:788;}i:178;O:15:"SqlParser\Token":5:{s:5:"token";s:18:"`fk_payment_staff`";s:5:"value";s:16:"fk_payment_staff";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:789;}i:179;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:807;}i:180;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:21;s:8:"position";i:808;}i:181;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:819;}i:182;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:820;}i:183;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:821;}i:184;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:831;}i:185;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:832;}i:186;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:833;}i:187;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:843;}i:188;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"`staff`";s:5:"value";s:5:"staff";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:844;}i:189;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:851;}i:190;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:852;}i:191;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:853;}i:192;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:863;}i:193;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:864;}i:194;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:865;}i:195;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:874;}i:196;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:875;}i:197;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:882;}i:198;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:883;}i:199;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:884;}i:200;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:885;}i:201;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:891;}i:202;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:892;}i:203;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:898;}i:204;O:15:"SqlParser\Token":5:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:899;}i:205;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:913;}i:206;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"16050";s:5:"value";i:16050;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:914;}i:207;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:919;}i:208;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:920;}i:209;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:927;}i:210;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"CHARSET";s:5:"value";s:7:"CHARSET";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:928;}i:211;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:935;}i:212;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"utf8";s:5:"value";s:4:"utf8";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:936;}i:213;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:214;s:3:"idx";i:214;}s:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:7:"payment";}s:13:"entityOptions";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;a:2:{s:4:"name";s:6:"ENGINE";s:5:"value";s:6:"InnoDB";}i:2;a:2:{s:4:"name";s:14:"AUTO_INCREMENT";s:5:"value";s:5:"16050";}}}s:6:"fields";a:14:{i:0;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:10:"payment_id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:8:"SMALLINT";s:10:"parameters";a:1:{i:0;i:5;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:3;s:14:"AUTO_INCREMENT";}}}i:1;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:11:"customer_id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:8:"SMALLINT";s:10:"parameters";a:1:{i:0;i:5;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:2;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:8:"staff_id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"TINYINT";s:10:"parameters";a:1:{i:0;i:3;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:3;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:9:"rental_id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;i:11;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:2;a:2:{s:4:"name";s:7:"DEFAULT";s:5:"value";s:4:"NULL";}}}}i:4;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:6:"amount";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"DECIMAL";s:10:"parameters";a:2:{i:0;i:5;i:1;i:2;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:5;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:12:"payment_date";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:8:"DATETIME";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:6;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:11:"last_update";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:9:"TIMESTAMP";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:3:{i:1;s:8:"NOT NULL";i:2;a:2:{s:4:"name";s:7:"DEFAULT";s:5:"value";s:17:"CURRENT_TIMESTAMP";}i:7;a:2:{s:4:"name";s:9:"ON UPDATE";s:5:"value";s:17:"CURRENT_TIMESTAMP";}}}}i:7;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:10:"payment_id";}s:4:"type";s:11:"PRIMARY KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:8;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";s:15:"idx_fk_staff_id";s:7:"columns";a:1:{i:0;s:8:"staff_id";}s:4:"type";s:3:"KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:9;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";s:18:"idx_fk_customer_id";s:7:"columns";a:1:{i:0;s:11:"customer_id";}s:4:"type";s:3:"KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:10;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";s:17:"fk_payment_rental";s:7:"columns";a:1:{i:0;s:9:"rental_id";}s:4:"type";s:3:"KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:11;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:19:"fk_payment_customer";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:11:"customer_id";}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";O:37:"SqlParser\Fragments\ReferencesKeyword":3:{s:5:"table";s:8:"customer";s:7:"columns";a:1:{i:0;s:11:"customer_id";}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:3;a:2:{s:4:"name";s:9:"ON UPDATE";s:5:"value";s:7:"CASCADE";}}}}s:7:"options";N;}i:12;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:17:"fk_payment_rental";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:9:"rental_id";}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";O:37:"SqlParser\Fragments\ReferencesKeyword":3:{s:5:"table";s:6:"rental";s:7:"columns";a:1:{i:0;s:9:"rental_id";}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:2;a:2:{s:4:"name";s:9:"ON DELETE";s:5:"value";s:8:"SET NULL";}i:3;a:2:{s:4:"name";s:9:"ON UPDATE";s:5:"value";s:7:"CASCADE";}}}}s:7:"options";N;}i:13;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:16:"fk_payment_staff";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:8:"staff_id";}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";O:37:"SqlParser\Fragments\ReferencesKeyword":3:{s:5:"table";s:5:"staff";s:7:"columns";a:1:{i:0;s:8:"staff_id";}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:3;a:2:{s:4:"name";s:9:"ON UPDATE";s:5:"value";s:7:"CASCADE";}}}}s:7:"options";N;}}s:6:"return";N;s:10:"parameters";N;s:4:"body";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:212;}}}s:6:"errors";a:2:{i:0;a:3:{i:0;s:31:"Unrecognized keyword "DEFAULT".";i:1;r:1253;i:2;i:0;}i:1;a:3:{i:0;s:31:"Unrecognized keyword "CHARSET".";i:1;r:1265;i:2;i:0;}}}
\ No newline at end of file + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:524;}i:126;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:527;}i:127;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:537;}i:128;O:15:"SqlParser\Token":5:{s:5:"token";s:21:"`fk_payment_customer`";s:5:"value";s:19:"fk_payment_customer";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:538;}i:129;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:559;}i:130;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:560;}i:131;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:571;}i:132;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:572;}i:133;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:573;}i:134;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:586;}i:135;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:587;}i:136;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:588;}i:137;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:598;}i:138;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`customer`";s:5:"value";s:8:"customer";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:599;}i:139;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:609;}i:140;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:610;}i:141;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`customer_id`";s:5:"value";s:11:"customer_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:611;}i:142;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:624;}i:143;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:625;}i:144;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:626;}i:145;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:635;}i:146;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:636;}i:147;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:643;}i:148;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:644;}i:149;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:647;}i:150;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:657;}i:151;O:15:"SqlParser\Token":5:{s:5:"token";s:19:"`fk_payment_rental`";s:5:"value";s:17:"fk_payment_rental";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:658;}i:152;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:677;}i:153;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:678;}i:154;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:689;}i:155;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:690;}i:156;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:691;}i:157;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:702;}i:158;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:703;}i:159;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:704;}i:160;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:714;}i:161;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`rental`";s:5:"value";s:6:"rental";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:715;}i:162;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:723;}i:163;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:724;}i:164;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`rental_id`";s:5:"value";s:9:"rental_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:725;}i:165;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:736;}i:166;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:737;}i:167;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON DELETE";s:5:"value";s:9:"ON DELETE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:738;}i:168;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:747;}i:169;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"SET NULL";s:5:"value";s:8:"SET NULL";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:748;}i:170;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:756;}i:171;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:757;}i:172;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:766;}i:173;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:767;}i:174;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:774;}i:175;O:15:"SqlParser\Token":5:{s:5:"token";s:3:" + ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:775;}i:176;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"CONSTRAINT";s:5:"value";s:10:"CONSTRAINT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:778;}i:177;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:788;}i:178;O:15:"SqlParser\Token":5:{s:5:"token";s:18:"`fk_payment_staff`";s:5:"value";s:16:"fk_payment_staff";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:789;}i:179;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:807;}i:180;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"FOREIGN KEY";s:5:"value";s:11:"FOREIGN KEY";s:4:"type";i:1;s:5:"flags";i:23;s:8:"position";i:808;}i:181;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:819;}i:182;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:820;}i:183;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:821;}i:184;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:831;}i:185;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:832;}i:186;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"REFERENCES";s:5:"value";s:10:"REFERENCES";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:833;}i:187;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:843;}i:188;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"`staff`";s:5:"value";s:5:"staff";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:844;}i:189;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:851;}i:190;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:852;}i:191;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`staff_id`";s:5:"value";s:8:"staff_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:853;}i:192;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:863;}i:193;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:864;}i:194;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ON UPDATE";s:5:"value";s:9:"ON UPDATE";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:865;}i:195;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:874;}i:196;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"CASCADE";s:5:"value";s:7:"CASCADE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:875;}i:197;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:882;}i:198;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:883;}i:199;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:884;}i:200;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:885;}i:201;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:891;}i:202;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:892;}i:203;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:898;}i:204;O:15:"SqlParser\Token":5:{s:5:"token";s:14:"AUTO_INCREMENT";s:5:"value";s:14:"AUTO_INCREMENT";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:899;}i:205;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:913;}i:206;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"16050";s:5:"value";i:16050;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:914;}i:207;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:919;}i:208;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFAULT";s:5:"value";s:7:"DEFAULT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:920;}i:209;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:927;}i:210;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"CHARSET";s:5:"value";s:7:"CHARSET";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:928;}i:211;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:935;}i:212;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"utf8";s:5:"value";s:4:"utf8";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:936;}i:213;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:214;s:3:"idx";i:215;}s:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:5:"equal";b:1;s:5:"value";s:6:"InnoDB";s:6:"value_";s:6:"InnoDB";}i:2;a:4:{s:4:"name";s:14:"AUTO_INCREMENT";s:5:"equal";b:1;s:5:"value";s:5:"16050";s:6:"value_";s:5:"16050";}}}s:6:"fields";a:14:{i:0;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:10:"payment_id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:8:"SMALLINT";s:10:"parameters";a:1:{i:0;i:5;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;s:8:"NOT NULL";i:3;s:14:"AUTO_INCREMENT";}}}i:1;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:11:"customer_id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:8:"SMALLINT";s:10:"parameters";a:1:{i:0;i:5;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:2;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:8:"staff_id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"TINYINT";s:10:"parameters";a:1:{i:0;i:3;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:4;s:8:"UNSIGNED";}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:3;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:9:"rental_id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:3:"INT";s:10:"parameters";a:1:{i:0;i:11;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:5:"equal";b:0;s:5:"value";s:4:"NULL";s:6:"value_";s:4:"NULL";}}}}i:4;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:6:"amount";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"DECIMAL";s:10:"parameters";a:2:{i:0;i:5;i:1;i:2;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:5;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:12:"payment_date";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:8:"DATETIME";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:8:"NOT NULL";}}}i:6;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:11:"last_update";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:9:"TIMESTAMP";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:3:{i:1;s:8:"NOT NULL";i:2;a:4:{s:4:"name";s:7:"DEFAULT";s:5:"equal";b:0;s:5:"value";s:17:"CURRENT_TIMESTAMP";s:6:"value_";s:17:"CURRENT_TIMESTAMP";}i:7;a:4:{s:4:"name";s:9:"ON UPDATE";s:5:"equal";b:0;s:5:"value";s:17:"CURRENT_TIMESTAMP";s:6:"value_";s:17:"CURRENT_TIMESTAMP";}}}}i:7;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:10:"payment_id";}s:4:"type";s:11:"PRIMARY KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:8;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";s:15:"idx_fk_staff_id";s:7:"columns";a:1:{i:0;s:8:"staff_id";}s:4:"type";s:3:"KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:9;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";s:18:"idx_fk_customer_id";s:7:"columns";a:1:{i:0;s:11:"customer_id";}s:4:"type";s:3:"KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:10;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";N;s:12:"isConstraint";N;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";s:17:"fk_payment_rental";s:7:"columns";a:1:{i:0;s:9:"rental_id";}s:4:"type";s:3:"KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";N;s:7:"options";N;}i:11;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:19:"fk_payment_customer";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:11:"customer_id";}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";O:37:"SqlParser\Fragments\ReferencesKeyword":3:{s:5:"table";s:8:"customer";s:7:"columns";a:1:{i:0;s:11:"customer_id";}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:9:"ON UPDATE";s:5:"equal";b:0;s:5:"value";s:7:"CASCADE";s:6:"value_";s:7:"CASCADE";}}}}s:7:"options";N;}i:12;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:17:"fk_payment_rental";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:9:"rental_id";}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";O:37:"SqlParser\Fragments\ReferencesKeyword":3:{s:5:"table";s:6:"rental";s:7:"columns";a:1:{i:0;s:9:"rental_id";}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:2;a:4:{s:4:"name";s:9:"ON DELETE";s:5:"equal";b:0;s:5:"value";s:8:"SET NULL";s:6:"value_";s:8:"SET NULL";}i:3;a:4:{s:4:"name";s:9:"ON UPDATE";s:5:"equal";b:0;s:5:"value";s:7:"CASCADE";s:6:"value_";s:7:"CASCADE";}}}}s:7:"options";N;}i:13;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:16:"fk_payment_staff";s:12:"isConstraint";b:1;s:4:"type";N;s:3:"key";O:31:"SqlParser\Fragments\KeyFragment":4:{s:4:"name";N;s:7:"columns";a:1:{i:0;s:8:"staff_id";}s:4:"type";s:11:"FOREIGN KEY";s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:10:"references";O:37:"SqlParser\Fragments\ReferencesKeyword":3:{s:5:"table";s:5:"staff";s:7:"columns";a:1:{i:0;s:8:"staff_id";}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:3;a:4:{s:4:"name";s:9:"ON UPDATE";s:5:"equal";b:0;s:5:"value";s:7:"CASCADE";s:6:"value_";s:7:"CASCADE";}}}}s:7:"options";N;}}s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:207;}}}s:6:"errors";a:1:{i:0;a:3:{i:0;s:38:"Unrecognized statement type "DEFAULT".";i:1;r:1253;i:2;i:0;}}}
\ No newline at end of file diff --git a/tests/data/parseCreateTableErr1.out b/tests/data/parseCreateTableErr1.out index 2337079..095a535 100644 --- a/tests/data/parseCreateTableErr1.out +++ b/tests/data/parseCreateTableErr1.out @@ -1,3 +1,3 @@ -a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:5;s:8:"position";i:13;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:21:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:12;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"IF NOT EXISTS";s:5:"value";s:13:"IF NOT EXISTS";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:13;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"users";s:5:"value";s:5:"users";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:27;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:32;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:33;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:34;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`id`";s:5:"value";s:2:"id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:39;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:43;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"UNKNOWN";s:5:"value";s:7:"UNKNOWN";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:44;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:54;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:60;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:61;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:67;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:5:"users";}s:13:"entityOptions";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;a:2:{s:4:"name";s:6:"ENGINE";s:5:"value";s:6:"InnoDB";}}}s:6:"fields";a:1:{i:0;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"UNKNOWN";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}s:6:"return";N;s:10:"parameters";N;s:4:"body";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;s:5:"TABLE";i:3;s:13:"IF NOT EXISTS";}}s:5:"first";i:0;s:4:"last";i:18;}}}s:6:"errors";a:1:{i:0;a:3:{i:0;s:23:"Unrecognized data type.";i:1;r:77;i:2;i:0;}}}
\ No newline at end of file +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:51;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:52;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"ENGINE";s:5:"value";s:6:"ENGINE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:54;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:60;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"InnoDB";s:5:"value";s:6:"InnoDB";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:61;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:67;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;a:4:{s:4:"name";s:6:"ENGINE";s:5:"equal";b:1;s:5:"value";s:6:"InnoDB";s:6:"value_";s:6:"InnoDB";}}}s:6:"fields";a:1:{i:0;O:36:"SqlParser\Fragments\FieldDefFragment":6:{s:4:"name";s:2:"id";s:12:"isConstraint";N;s:4:"type";O:36:"SqlParser\Fragments\DataTypeFragment":3:{s:4:"name";s:7:"UNKNOWN";s:10:"parameters";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}s:3:"key";N;s:10:"references";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:0:{}}}}s:6:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:2;s:13:"IF NOT EXISTS";i:6;s:5:"TABLE";}}s:5:"first";i:0;s:4:"last";i:18;}}}s:6:"errors";a:1:{i:0;a:3:{i:0;s:23:"Unrecognized data type.";i:1;r:77;i:2;i:0;}}}
\ No newline at end of file diff --git a/tests/data/parseCreateUser.out b/tests/data/parseCreateUser.out index e9aea56..9d01cd0 100644 --- a/tests/data/parseCreateUser.out +++ b/tests/data/parseCreateUser.out @@ -1 +1 @@ -a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"USER";s:5:"value";s:4:"USER";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:37:"SqlParser\Fragments\CreateDefFragment":1:{s:4:"name";s:4:"test";}s:13:"entityOptions";N;s:6:"fields";N;s:6:"return";N;s:10:"parameters";N;s:4:"body";N;s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:1;s:4:"USER";}}s:5:"first";i:0;s:4:"last";i:4;}}}s:6:"errors";a:0:{}}
\ No newline at end of file +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:6:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"USER";s:5:"value";s:4:"USER";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:"return";N;s:10:"parameters";N;s:4:"body";a:0:{}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:6;s:4:"USER";}}s:5:"first";i:0;s:4:"last";i:5;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseCreateView.in b/tests/data/parseCreateView.in new file mode 100644 index 0000000..1bd25ed --- /dev/null +++ b/tests/data/parseCreateView.in @@ -0,0 +1 @@ +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`
\ No newline at end of file diff --git a/tests/data/parseCreateView.out b/tests/data/parseCreateView.out new file mode 100644 index 0000000..c4634e2 --- /dev/null +++ b/tests/data/parseCreateView.out @@ -0,0 +1 @@ +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:292:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"ALGORITHM";s:5:"value";s:9:"ALGORITHM";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:16;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"UNDEFINED";s:5:"value";s:9:"UNDEFINED";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:17;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:26;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"DEFINER";s:5:"value";s:7:"DEFINER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:27;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:34;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:18:"`root`@`localhost`";s:5:"value";s:14:"root@localhost";s:4:"type";i:8;s:5:"flags";i:4;s:8:"position";i:35;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:53;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"SQL SECURITY";s:5:"value";s:12:"SQL SECURITY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:54;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"INVOKER";s:5:"value";s:7:"INVOKER";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:67;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:74;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"VIEW";s:5:"value";s:4:"VIEW";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:75;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:79;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:80;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:88;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`actor_info`";s:5:"value";s:10:"actor_info";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:89;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:101;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:102;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:104;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:105;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:111;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:112;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:115;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:116;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:126;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:127;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:129;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:130;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:140;}i:32;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:141;}i:33;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:144;}i:34;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`first_name`";s:5:"value";s:10:"first_name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:145;}i:35;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:157;}i:36;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:158;}i:37;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:160;}i:38;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`first_name`";s:5:"value";s:10:"first_name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:161;}i:39;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:173;}i:40;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:174;}i:41;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:177;}i:42;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`last_name`";s:5:"value";s:9:"last_name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:178;}i:43;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:189;}i:44;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:190;}i:45;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:192;}i:46;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`last_name`";s:5:"value";s:9:"last_name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:193;}i:47;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:204;}i:48;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"group_concat";s:5:"value";s:12:"group_concat";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:205;}i:49;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:217;}i:50;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"distinct";s:5:"value";s:8:"DISTINCT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:218;}i:51;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:226;}i:52;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"concat";s:5:"value";s:6:"concat";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:227;}i:53;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:233;}i:54;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:234;}i:55;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:237;}i:56;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"`name`";s:5:"value";s:4:"name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:238;}i:57;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:244;}i:58;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"': '";s:5:"value";s:2:": ";s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:245;}i:59;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:249;}i:60;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:250;}i:61;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"select";s:5:"value";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:251;}i:62;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:257;}i:63;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"group_concat";s:5:"value";s:12:"group_concat";s:4:"type";i:1;s:5:"flags";i:33;s:8:"position";i:258;}i:64;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:270;}i:65;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:271;}i:66;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:274;}i:67;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"`title`";s:5:"value";s:5:"title";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:275;}i:68;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:282;}i:69;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"order by";s:5:"value";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:283;}i:70;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:291;}i:71;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:292;}i:72;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:295;}i:73;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"`title`";s:5:"value";s:5:"title";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:296;}i:74;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:303;}i:75;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:304;}i:76;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:307;}i:77;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"separator";s:5:"value";s:9:"SEPARATOR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:308;}i:78;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:317;}i:79;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"', '";s:5:"value";s:2:", ";s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:318;}i:80;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:322;}i:81;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:323;}i:82;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:324;}i:83;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:328;}i:84;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:329;}i:85;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:330;}i:86;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:331;}i:87;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:339;}i:88;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"`film`";s:5:"value";s:4:"film";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:340;}i:89;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:346;}i:90;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:347;}i:91;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:350;}i:92;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"join";s:5:"value";s:4:"JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:351;}i:93;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:355;}i:94;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:356;}i:95;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:364;}i:96;O:15:"SqlParser\Token":5:{s:5:"token";s:15:"`film_category`";s:5:"value";s:13:"film_category";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:365;}i:97;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:380;}i:98;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:381;}i:99;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:385;}i:100;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:386;}i:101;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:388;}i:102;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:389;}i:103;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:390;}i:104;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:393;}i:105;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:394;}i:106;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:403;}i:107;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:404;}i:108;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:405;}i:109;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:406;}i:110;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:410;}i:111;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:411;}i:112;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:420;}i:113;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:421;}i:114;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:422;}i:115;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:423;}i:116;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"join";s:5:"value";s:4:"JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:424;}i:117;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:428;}i:118;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:429;}i:119;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:437;}i:120;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`film_actor`";s:5:"value";s:10:"film_actor";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:438;}i:121;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:450;}i:122;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:451;}i:123;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:455;}i:124;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:456;}i:125;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:458;}i:126;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:459;}i:127;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`f`";s:5:"value";s:1:"f";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:460;}i:128;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:463;}i:129;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:464;}i:130;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:473;}i:131;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:474;}i:132;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:475;}i:133;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:476;}i:134;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:480;}i:135;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:481;}i:136;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:490;}i:137;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:491;}i:138;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:492;}i:139;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:493;}i:140;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"where";s:5:"value";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:494;}i:141;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:499;}i:142;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:500;}i:143;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:501;}i:144;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:502;}i:145;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:506;}i:146;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`category_id`";s:5:"value";s:11:"category_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:507;}i:147;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:520;}i:148;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:521;}i:149;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:522;}i:150;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:523;}i:151;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:526;}i:152;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`category_id`";s:5:"value";s:11:"category_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:527;}i:153;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:540;}i:154;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:541;}i:155;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"and";s:5:"value";s:3:"AND";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:542;}i:156;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:545;}i:157;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:546;}i:158;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:547;}i:159;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:551;}i:160;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:552;}i:161;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:562;}i:162;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:563;}i:163;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:564;}i:164;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:565;}i:165;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:568;}i:166;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:569;}i:167;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:579;}i:168;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:580;}i:169;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:581;}i:170;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:582;}i:171;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:583;}i:172;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"order by";s:5:"value";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:584;}i:173;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:592;}i:174;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:593;}i:175;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:596;}i:176;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"`name`";s:5:"value";s:4:"name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:597;}i:177;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:603;}i:178;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"ASC";s:5:"value";s:3:"ASC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:604;}i:179;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:607;}i:180;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"separator";s:5:"value";s:9:"SEPARATOR";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:608;}i:181;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:617;}i:182;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"'; '";s:5:"value";s:2:"; ";s:4:"type";i:7;s:5:"flags";i:1;s:8:"position";i:618;}i:183;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:622;}i:184;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:623;}i:185;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:624;}i:186;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:626;}i:187;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`film_info`";s:5:"value";s:9:"film_info";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:627;}i:188;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:638;}i:189;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"from";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:639;}i:190;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:643;}i:191;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:644;}i:192;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:645;}i:193;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:646;}i:194;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:647;}i:195;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:655;}i:196;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"`actor`";s:5:"value";s:5:"actor";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:656;}i:197;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:663;}i:198;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:664;}i:199;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:667;}i:200;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"left";s:5:"value";s:4:"LEFT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:668;}i:201;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:672;}i:202;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"join";s:5:"value";s:4:"JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:673;}i:203;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:677;}i:204;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:678;}i:205;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:686;}i:206;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`film_actor`";s:5:"value";s:10:"film_actor";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:687;}i:207;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:699;}i:208;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:700;}i:209;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:704;}i:210;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:705;}i:211;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:707;}i:212;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:708;}i:213;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:709;}i:214;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:712;}i:215;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:713;}i:216;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:723;}i:217;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:724;}i:218;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:725;}i:219;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:726;}i:220;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:730;}i:221;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:731;}i:222;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:741;}i:223;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:742;}i:224;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:743;}i:225;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:744;}i:226;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"left";s:5:"value";s:4:"LEFT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:745;}i:227;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:749;}i:228;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"join";s:5:"value";s:4:"JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:750;}i:229;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:754;}i:230;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:755;}i:231;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:763;}i:232;O:15:"SqlParser\Token":5:{s:5:"token";s:15:"`film_category`";s:5:"value";s:13:"film_category";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:764;}i:233;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:779;}i:234;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:780;}i:235;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:784;}i:236;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:785;}i:237;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:787;}i:238;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:788;}i:239;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fa`";s:5:"value";s:2:"fa";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:789;}i:240;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:793;}i:241;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:794;}i:242;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:803;}i:243;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:804;}i:244;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:805;}i:245;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:806;}i:246;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:810;}i:247;O:15:"SqlParser\Token":5:{s:5:"token";s:9:"`film_id`";s:5:"value";s:7:"film_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:811;}i:248;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:820;}i:249;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:821;}i:250;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:822;}i:251;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:823;}i:252;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"left";s:5:"value";s:4:"LEFT";s:4:"type";i:1;s:5:"flags";i:35;s:8:"position";i:824;}i:253;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:828;}i:254;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"join";s:5:"value";s:4:"JOIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:829;}i:255;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:833;}i:256;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"`sakila`";s:5:"value";s:6:"sakila";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:834;}i:257;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:842;}i:258;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`category`";s:5:"value";s:8:"category";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:843;}i:259;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:853;}i:260;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:854;}i:261;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:857;}i:262;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"on";s:5:"value";s:2:"ON";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:858;}i:263;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:860;}i:264;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:861;}i:265;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"`fc`";s:5:"value";s:2:"fc";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:862;}i:266;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:866;}i:267;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`category_id`";s:5:"value";s:11:"category_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:867;}i:268;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:880;}i:269;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:881;}i:270;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:882;}i:271;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`c`";s:5:"value";s:1:"c";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:883;}i:272;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:886;}i:273;O:15:"SqlParser\Token":5:{s:5:"token";s:13:"`category_id`";s:5:"value";s:11:"category_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:887;}i:274;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:900;}i:275;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:901;}i:276;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:902;}i:277;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:903;}i:278;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"group by";s:5:"value";s:8:"GROUP BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:904;}i:279;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:912;}i:280;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:913;}i:281;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:916;}i:282;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"`actor_id`";s:5:"value";s:8:"actor_id";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:917;}i:283;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:927;}i:284;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:928;}i:285;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:931;}i:286;O:15:"SqlParser\Token":5:{s:5:"token";s:12:"`first_name`";s:5:"value";s:10:"first_name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:932;}i:287;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:944;}i:288;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"`a`";s:5:"value";s:1:"a";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:945;}i:289;O:15:"SqlParser\Token":5:{s:5:"token";s:1:".";s:5:"value";s:1:".";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:948;}i:290;O:15:"SqlParser\Token":5:{s:5:"token";s:11:"`last_name`";s:5:"value";s:9:"last_name";s:4:"type";i:8;s:5:"flags";i:2;s:8:"position";i:949;}i:291;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";N;s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";N;}}s:5:"count";i:292;s:3:"idx";i:292;}s:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:"return";N;s:10:"parameters";N;s:4:"body";a:270:{i:0;r:131;i:1;r:137;i:2;r:143;i:3;r:149;i:4;r:155;i:5;r:161;i:6;r:167;i:7;r:173;i:8;r:179;i:9;r:185;i:10;r:191;i:11;r:197;i:12;r:203;i:13;r:209;i:14;r:215;i:15;r:221;i:16;r:227;i:17;r:233;i:18;r:239;i:19;r:245;i:20;r:251;i:21;r:257;i:22;r:263;i:23;r:269;i:24;r:275;i:25;r:281;i:26;r:287;i:27;r:293;i:28;r:299;i:29;r:305;i:30;r:311;i:31;r:317;i:32;r:323;i:33;r:329;i:34;r:335;i:35;r:341;i:36;r:347;i:37;r:353;i:38;r:359;i:39;r:365;i:40;r:371;i:41;r:377;i:42;r:383;i:43;r:389;i:44;r:395;i:45;r:401;i:46;r:407;i:47;r:413;i:48;r:419;i:49;r:425;i:50;r:431;i:51;r:437;i:52;r:443;i:53;r:449;i:54;r:455;i:55;r:461;i:56;r:467;i:57;r:473;i:58;r:479;i:59;r:485;i:60;r:491;i:61;r:497;i:62;r:503;i:63;r:509;i:64;r:515;i:65;r:521;i:66;r:527;i:67;r:533;i:68;r:539;i:69;r:545;i:70;r:551;i:71;r:557;i:72;r:563;i:73;r:569;i:74;r:575;i:75;r:581;i:76;r:587;i:77;r:593;i:78;r:599;i:79;r:605;i:80;r:611;i:81;r:617;i:82;r:623;i:83;r:629;i:84;r:635;i:85;r:641;i:86;r:647;i:87;r:653;i:88;r:659;i:89;r:665;i:90;r:671;i:91;r:677;i:92;r:683;i:93;r:689;i:94;r:695;i:95;r:701;i:96;r:707;i:97;r:713;i:98;r:719;i:99;r:725;i:100;r:731;i:101;r:737;i:102;r:743;i:103;r:749;i:104;r:755;i:105;r:761;i:106;r:767;i:107;r:773;i:108;r:779;i:109;r:785;i:110;r:791;i:111;r:797;i:112;r:803;i:113;r:809;i:114;r:815;i:115;r:821;i:116;r:827;i:117;r:833;i:118;r:839;i:119;r:845;i:120;r:851;i:121;r:857;i:122;r:863;i:123;r:869;i:124;r:875;i:125;r:881;i:126;r:887;i:127;r:893;i:128;r:899;i:129;r:905;i:130;r:911;i:131;r:917;i:132;r:923;i:133;r:929;i:134;r:935;i:135;r:941;i:136;r:947;i:137;r:953;i:138;r:959;i:139;r:965;i:140;r:971;i:141;r:977;i:142;r:983;i:143;r:989;i:144;r:995;i:145;r:1001;i:146;r:1007;i:147;r:1013;i:148;r:1019;i:149;r:1025;i:150;r:1031;i:151;r:1037;i:152;r:1043;i:153;r:1049;i:154;r:1055;i:155;r:1061;i:156;r:1067;i:157;r:1073;i:158;r:1079;i:159;r:1085;i:160;r:1091;i:161;r:1097;i:162;r:1103;i:163;r:1109;i:164;r:1115;i:165;r:1121;i:166;r:1127;i:167;r:1133;i:168;r:1139;i:169;r:1145;i:170;r:1151;i:171;r:1157;i:172;r:1163;i:173;r:1169;i:174;r:1175;i:175;r:1181;i:176;r:1187;i:177;r:1193;i:178;r:1199;i:179;r:1205;i:180;r:1211;i:181;r:1217;i:182;r:1223;i:183;r:1229;i:184;r:1235;i:185;r:1241;i:186;r:1247;i:187;r:1253;i:188;r:1259;i:189;r:1265;i:190;r:1271;i:191;r:1277;i:192;r:1283;i:193;r:1289;i:194;r:1295;i:195;r:1301;i:196;r:1307;i:197;r:1313;i:198;r:1319;i:199;r:1325;i:200;r:1331;i:201;r:1337;i:202;r:1343;i:203;r:1349;i:204;r:1355;i:205;r:1361;i:206;r:1367;i:207;r:1373;i:208;r:1379;i:209;r:1385;i:210;r:1391;i:211;r:1397;i:212;r:1403;i:213;r:1409;i:214;r:1415;i:215;r:1421;i:216;r:1427;i:217;r:1433;i:218;r:1439;i:219;r:1445;i:220;r:1451;i:221;r:1457;i:222;r:1463;i:223;r:1469;i:224;r:1475;i:225;r:1481;i:226;r:1487;i:227;r:1493;i:228;r:1499;i:229;r:1505;i:230;r:1511;i:231;r:1517;i:232;r:1523;i:233;r:1529;i:234;r:1535;i:235;r:1541;i:236;r:1547;i:237;r:1553;i:238;r:1559;i:239;r:1565;i:240;r:1571;i:241;r:1577;i:242;r:1583;i:243;r:1589;i:244;r:1595;i:245;r:1601;i:246;r:1607;i:247;r:1613;i:248;r:1619;i:249;r:1625;i:250;r:1631;i:251;r:1637;i:252;r:1643;i:253;r:1649;i:254;r:1655;i:255;r:1661;i:256;r:1667;i:257;r:1673;i:258;r:1679;i:259;r:1685;i:260;r:1691;i:261;r:1697;i:262;r:1703;i:263;r:1709;i:264;r:1715;i:265;r:1721;i:266;r:1727;i:267;r:1733;i:268;r:1739;i:269;r:1745;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:4:{i:3;a:4:{s:4:"name";s:9:"ALGORITHM";s:5:"equal";b:1;s:5:"value";s:9:"UNDEFINED";s:6:"value_";s:9:"UNDEFINED";}i:4;a:4:{s:4:"name";s:7:"DEFINER";s:5:"equal";b:1;s:5:"value";s:18:"`root`@`localhost`";s:6:"value_";s:14:"root@localhost";}i:5;a:4:{s:4:"name";s:12:"SQL SECURITY";s:5:"equal";b:0;s:5:"value";s:7:"INVOKER";s:6:"value_";s:7:"INVOKER";}i:6;s:4:"VIEW";}}s:5:"first";i:0;s:4:"last";i:291;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseCreateView2.in b/tests/data/parseCreateView2.in new file mode 100644 index 0000000..7e64abc --- /dev/null +++ b/tests/data/parseCreateView2.in @@ -0,0 +1,2 @@ +CREATE VIEW myView (vid, vfirstname) AS +SELECT id, first_name FROM employee WHERE id = 1;
\ No newline at end of file diff --git a/tests/data/parseCreateView2.out b/tests/data/parseCreateView2.out new file mode 100644 index 0000000..ee651d1 --- /dev/null +++ b/tests/data/parseCreateView2.out @@ -0,0 +1,2 @@ +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:35:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"CREATE";s:5:"value";s:6:"CREATE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:6;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"VIEW";s:5:"value";s:4:"VIEW";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:7;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:11;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"myView";s:5:"value";s:6:"myView";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:12;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:18;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"(";s:5:"value";s:1:"(";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:19;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:3:"vid";s:5:"value";s:3:"vid";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:20;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:23;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:24;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"vfirstname";s:5:"value";s:10:"vfirstname";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:25;}i:11;O:15:"SqlParser\Token":5:{s:5:"token";s:1:")";s:5:"value";s:1:")";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:35;}i:12;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:36;}i:13;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"AS";s:5:"value";s:2:"AS";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:37;}i:14;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:39;}i:15;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:40;}i:16;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:46;}i:17;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:47;}i:18;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:49;}i:19;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:50;}i:20;O:15:"SqlParser\Token":5:{s:5:"token";s:10:"first_name";s:5:"value";s:10:"first_name";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:51;}i:21;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:61;}i:22;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:62;}i:23;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:66;}i:24;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"employee";s:5:"value";s:8:"employee";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:67;}i:25;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:75;}i:26;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"WHERE";s:5:"value";s:5:"WHERE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:76;}i:27;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:81;}i:28;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:82;}i:29;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:84;}i:30;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"=";s:5:"value";s:1:"=";s:4:"type";i:2;s:5:"flags";i:2;s:8:"position";i:85;}i:31;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:86;}i:32;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"1";s:5:"value";i:1;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:87;}i:33;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:88;}i:34;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\CreateStatement":9:{s:4:"name";O:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\ArrayFragment":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:"return";N;s:10:"parameters";N;s:4:"body";a:19:{i:0;r:89;i:1;r:95;i:2;r:101;i:3;r:107;i:4;r:113;i:5;r:119;i:6;r:125;i:7;r:131;i:8;r:137;i:9;r:143;i:10;r:149;i:11;r:155;i:12;r:161;i:13;r:167;i:14;r:173;i:15;r:179;i:16;r:185;i:17;r:191;i:18;r:197;}s:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:1:{i:6;s:4:"VIEW";}}s:5:"first";i:0;s:4:"last";i:33;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseExplain.in b/tests/data/parseExplain.in new file mode 100644 index 0000000..bb599d6 --- /dev/null +++ b/tests/data/parseExplain.in @@ -0,0 +1 @@ +EXPLAIN SELECT * FROM test;
\ No newline at end of file diff --git a/tests/data/parseExplain.out b/tests/data/parseExplain.out new file mode 100644 index 0000000..269ee71 --- /dev/null +++ b/tests/data/parseExplain.out @@ -0,0 +1 @@ +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:11:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"EXPLAIN";s:5:"value";s:7:"EXPLAIN";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"SELECT";s:5:"value";s:6:"SELECT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:14;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"*";s:5:"value";s:1:"*";s:4:"type";i:2;s:5:"flags";i:1;s:8:"position";i:15;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:16;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:17;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:21;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"test";s:5:"value";s:4:"test";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:22;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:26;}i:10;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:37:"SqlParser\Statements\ExplainStatement":4:{s:7:"unknown";a:9:{i:0;r:5;i:1;r:11;i:2;r:17;i:3;r:23;i:4;r:29;i:5;r:35;i:6;r:41;i:7;r:47;i:8;r:53;}s:7:"options";N;s:5:"first";i:0;s:4:"last";i:9;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseRestore.out b/tests/data/parseRestore.out index e9a302e..d9a4c7d 100644 --- a/tests/data/parseRestore.out +++ b/tests/data/parseRestore.out @@ -1 +1 @@ -a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"RESTORE";s:5:"value";s:7:"RESTORE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"my_table";s:5:"value";s:8:"my_table";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:23;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:27:""/path/to/backup/directory"";s:5:"value";s:25:"/path/to/backup/directory";s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:28;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:37:"SqlParser\Statements\RestoreStatement":4:{s:6:"tables";a:1:{i:0;O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:0;s:5:"TABLE";i:1;a:2:{s:4:"name";s:4:"FROM";s:5:"value";s:25:"/path/to/backup/directory";}}}s:5:"first";i:0;s:4:"last";i:8;}}}s:6:"errors";a:0:{}}
\ No newline at end of file +a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensList":3:{s:6:"tokens";a:10:{i:0;O:15:"SqlParser\Token":5:{s:5:"token";s:7:"RESTORE";s:5:"value";s:7:"RESTORE";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:0;}i:1;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:7;}i:2;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"TABLE";s:5:"value";s:5:"TABLE";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:8;}i:3;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:13;}i:4;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"my_table";s:5:"value";s:8:"my_table";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:14;}i:5;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:22;}i:6;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"FROM";s:5:"value";s:4:"FROM";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:23;}i:7;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:27;}i:8;O:15:"SqlParser\Token":5:{s:5:"token";s:27:""/path/to/backup/directory"";s:5:"value";s:25:"/path/to/backup/directory";s:4:"type";i:7;s:5:"flags";i:2;s:8:"position";i:28;}i:9;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:37:"SqlParser\Statements\RestoreStatement":4:{s:6:"tables";a:1:{i:0;O:33:"SqlParser\Fragments\FieldFragment":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:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:0;s:5:"TABLE";i:1;a:4:{s:4:"name";s:4:"FROM";s:5:"equal";b:0;s:5:"value";s:27:""/path/to/backup/directory"";s:6:"value_";s:25:"/path/to/backup/directory";}}}s:5:"first";i:0;s:4:"last";i:8;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseSelect.out b/tests/data/parseSelect.out index cfa48e3..aa652ad 100644 --- a/tests/data/parseSelect.out +++ b/tests/data/parseSelect.out @@ -11,4 +11,4 @@ a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensLi ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:178;}i:63;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:179;}i:64;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:187;}i:65;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:192;}i:66;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:200;}i:67;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"DESC";s:5:"value";s:4:"DESC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:201;}i:68;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:205;}i:69;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:206;}i:70;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:211;}i:71;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:213;}i:72;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:214;}i:73;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:219;}i:74;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"3";s:5:"value";i:3;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:220;}i:75;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:221;}i:76;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"OFFSET";s:5:"value";s:6:"OFFSET";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:222;}i:77;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:228;}i:78;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"2";s:5:"value";i:2;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:229;}i:79;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:230;}i:80;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\SelectStatement":15:{s:4:"expr";a:4:{i:0;O:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:9:"partition";O:33:"SqlParser\Fragments\ArrayFragment":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:32:"SqlParser\Fragments\WhereKeyword":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:32:"SqlParser\Fragments\OrderKeyword":2:{s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:32:"SqlParser\Fragments\OrderKeyword":2:{s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:32:"SqlParser\Fragments\LimitKeyword":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:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;s:3:"ALL";i:3;a:2:{s:4:"name";s:18:"MAX_STATEMENT_TIME";s:5:"value";s:2:"10";}}}s:5:"first";i:0;s:4:"last";i:78;}}}s:6:"errors";a:0:{}}
\ No newline at end of file +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:213;}i:72;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:214;}i:73;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:219;}i:74;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"3";s:5:"value";i:3;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:220;}i:75;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:221;}i:76;O:15:"SqlParser\Token":5:{s:5:"token";s:6:"OFFSET";s:5:"value";s:6:"OFFSET";s:4:"type";i:1;s:5:"flags";i:1;s:8:"position";i:222;}i:77;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:228;}i:78;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"2";s:5:"value";i:2;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:229;}i:79;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:230;}i:80;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\SelectStatement":15:{s:4:"expr";a:4:{i:0;O:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:9:"partition";O:33:"SqlParser\Fragments\ArrayFragment":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:32:"SqlParser\Fragments\WhereKeyword":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:32:"SqlParser\Fragments\OrderKeyword":2:{s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:32:"SqlParser\Fragments\OrderKeyword":2:{s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:32:"SqlParser\Fragments\LimitKeyword":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:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:2:{i:1;s:3:"ALL";i:3;a:4:{s:4:"name";s:18:"MAX_STATEMENT_TIME";s:5:"equal";b:1;s:5:"value";s:2:"10";s:6:"value_";s:2:"10";}}}s:5:"first";i:0;s:4:"last";i:78;}}}s:6:"errors";a:0:{}}
\ No newline at end of file diff --git a/tests/data/parseSelectErr1.out b/tests/data/parseSelectErr1.out index aa1ae02..aba8ae2 100644 --- a/tests/data/parseSelectErr1.out +++ b/tests/data/parseSelectErr1.out @@ -11,4 +11,4 @@ a:2:{s:6:"parser";O:16:"SqlParser\Parser":4:{s:4:"list";O:20:"SqlParser\TokensLi ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:173;}i:60;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"ORDER BY";s:5:"value";s:8:"ORDER BY";s:4:"type";i:1;s:5:"flags";i:7;s:8:"position";i:174;}i:61;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:182;}i:62;O:15:"SqlParser\Token":5:{s:5:"token";s:8:"username";s:5:"value";s:8:"username";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:187;}i:63;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:195;}i:64;O:15:"SqlParser\Token":5:{s:5:"token";s:4:"DESC";s:5:"value";s:4:"DESC";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:196;}i:65;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:200;}i:66;O:15:"SqlParser\Token":5:{s:5:"token";s:5:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:201;}i:67;O:15:"SqlParser\Token":5:{s:5:"token";s:2:"id";s:5:"value";s:2:"id";s:4:"type";i:0;s:5:"flags";i:0;s:8:"position";i:206;}i:68;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" -";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:208;}i:69;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:209;}i:70;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:214;}i:71;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"2";s:5:"value";i:2;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:215;}i:72;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:216;}i:73;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:217;}i:74;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"3";s:5:"value";i:3;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:218;}i:75;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:219;}i:76;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\SelectStatement":15:{s:4:"expr";a:4:{i:0;O:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:9:"partition";O:33:"SqlParser\Fragments\ArrayFragment":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:32:"SqlParser\Fragments\WhereKeyword":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:32:"SqlParser\Fragments\OrderKeyword":2:{s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:32:"SqlParser\Fragments\OrderKeyword":2:{s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:32:"SqlParser\Fragments\LimitKeyword":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:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:3:{i:1;s:3:"ALL";i:3;a:2:{s:4:"name";s:18:"MAX_STATEMENT_TIME";s:5:"value";s:2:"10";}i:13;s:8:"DISTINCT";}}s:5:"first";i:0;s:4:"last";i:74;}}}s:6:"errors";a:2:{i:0;a:3:{i:0;s:33:"This option conflicts with 'ALL'.";i:1;r:29;i:2;i:0;}i:1;a:3:{i:0;s:19:"Alias was expected.";i:1;N;i:2;i:0;}}}
\ No newline at end of file +";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:208;}i:69;O:15:"SqlParser\Token":5:{s:5:"token";s:5:"LIMIT";s:5:"value";s:5:"LIMIT";s:4:"type";i:1;s:5:"flags";i:3;s:8:"position";i:209;}i:70;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:214;}i:71;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"2";s:5:"value";i:2;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:215;}i:72;O:15:"SqlParser\Token":5:{s:5:"token";s:1:",";s:5:"value";s:1:",";s:4:"type";i:2;s:5:"flags";i:16;s:8:"position";i:216;}i:73;O:15:"SqlParser\Token":5:{s:5:"token";s:1:" ";s:5:"value";s:1:" ";s:4:"type";i:3;s:5:"flags";i:0;s:8:"position";i:217;}i:74;O:15:"SqlParser\Token":5:{s:5:"token";s:1:"3";s:5:"value";i:3;s:4:"type";i:6;s:5:"flags";i:0;s:8:"position";i:218;}i:75;O:15:"SqlParser\Token":5:{s:5:"token";s:1:";";s:5:"value";s:1:";";s:4:"type";i:9;s:5:"flags";i:0;s:8:"position";i:219;}i:76;O:15:"SqlParser\Token":5:{s:5:"token";N;s:5:"value";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:6:"strict";b:0;s:6:"errors";a:0:{}s:10:"statements";a:1:{i:0;O:36:"SqlParser\Statements\SelectStatement":15:{s:4:"expr";a:4:{i:0;O:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:33:"SqlParser\Fragments\FieldFragment":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:9:"partition";O:33:"SqlParser\Fragments\ArrayFragment":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:32:"SqlParser\Fragments\WhereKeyword":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:32:"SqlParser\Fragments\OrderKeyword":2:{s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:32:"SqlParser\Fragments\OrderKeyword":2:{s:5:"field";O:33:"SqlParser\Fragments\FieldFragment":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:32:"SqlParser\Fragments\LimitKeyword":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:7:"options";O:35:"SqlParser\Fragments\OptionsFragment":1:{s:7:"options";a:3:{i:1;s:3:"ALL";i:3;a:4:{s:4:"name";s:18:"MAX_STATEMENT_TIME";s:5:"equal";b:1;s:5:"value";s:2:"10";s:6:"value_";s:2:"10";}i:13;s:8:"DISTINCT";}}s:5:"first";i:0;s:4:"last";i:74;}}}s:6:"errors";a:2:{i:0;a:3:{i:0;s:33:"This option conflicts with 'ALL'.";i:1;r:29;i:2;i:0;}i:1;a:3:{i:0;s:19:"Alias was expected.";i:1;N;i:2;i:0;}}}
\ No newline at end of file |