diff --git a/src/Components/RenameOperation.php b/src/Components/RenameOperation.php index 2e3d6ef9a..e9bd9ce96 100644 --- a/src/Components/RenameOperation.php +++ b/src/Components/RenameOperation.php @@ -68,7 +68,7 @@ public static function parse(Parser $parser, TokensList $list, array $options = * * 1 ------------------------[ TO ]-----------------------> 2 * - * 2 ---------------------[ old name ]--------------------> 3 + * 2 ---------------------[ new name ]--------------------> 3 * * 3 ------------------------[ , ]------------------------> 0 * 3 -----------------------[ else ]----------------------> (END) diff --git a/src/Statements/CreateStatement.php b/src/Statements/CreateStatement.php index 808109ecc..65cdbbb26 100644 --- a/src/Statements/CreateStatement.php +++ b/src/Statements/CreateStatement.php @@ -411,7 +411,7 @@ public function parse(Parser $parser, TokensList $list) $this->select = new SelectStatement($parser, $list); } elseif ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'LIKE') { - /* CREATE TABLE `new_tbl` LIKE 'orig_tbl' */ + /* CREATE TABLE `new_tbl` LIKE 'orig_tbl' */ $list->idx = $nextidx; $this->like = Expression::parse( $parser, diff --git a/src/Statements/RenameStatement.php b/src/Statements/RenameStatement.php index 90533c20c..e1bcf0d22 100644 --- a/src/Statements/RenameStatement.php +++ b/src/Statements/RenameStatement.php @@ -47,4 +47,12 @@ public function before(Parser $parser, TokensList $list, Token $token) $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'TABLE'); } } + + /** + * @return string + */ + public function build() + { + return 'RENAME TABLE ' . RenameOperation::build($this->renames); + } } diff --git a/tests/Builder/RenameStatementTest.php b/tests/Builder/RenameStatementTest.php new file mode 100644 index 000000000..97852abfb --- /dev/null +++ b/tests/Builder/RenameStatementTest.php @@ -0,0 +1,42 @@ +statements[0]; + $this->assertEquals( + $query, + $stmt->build() + ); + + $query = 'RENAME TABLE current_db.tbl_name TO other_db.tbl_name'; + $parser = new Parser( + $query + ); + $stmt = $parser->statements[0]; + $this->assertEquals( + $query, + $stmt->build() + ); + + $query = 'RENAME TABLE old_table1 TO new_table1, old_table2 TO new_table2, old_table3 TO new_table3'; + $parser = new Parser( + $query + ); + $stmt = $parser->statements[0]; + $this->assertEquals( + $query, + $stmt->build() + ); + } +}