diff options
-rw-r--r-- | src/Components/PartitionDefinition.php | 2 | ||||
-rw-r--r-- | tests/Components/PartitionDefinitionTest.php | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/Components/PartitionDefinition.php b/src/Components/PartitionDefinition.php index 841a16a..53da148 100644 --- a/src/Components/PartitionDefinition.php +++ b/src/Components/PartitionDefinition.php @@ -172,7 +172,7 @@ class PartitionDefinition extends Component // Looking ahead for a 'VALUES' keyword. // Loop until the end of the partition name (delimited by a whitespace) while ($nextToken = $list->tokens[++$list->idx]) { - if ($nextToken->type === Token::TYPE_WHITESPACE) { + if ($nextToken->type !== Token::TYPE_NONE) { break; } $ret->name .= $nextToken->value; diff --git a/tests/Components/PartitionDefinitionTest.php b/tests/Components/PartitionDefinitionTest.php index 7edc21e..3c9a847 100644 --- a/tests/Components/PartitionDefinitionTest.php +++ b/tests/Components/PartitionDefinitionTest.php @@ -19,4 +19,16 @@ class PartitionDefinitionTest extends TestCase $this->assertEquals('LESS THAN', $component->type); $this->assertEquals('(1990)', $component->expr->expr); } + + public function testParseNameWithUnderscore() + { + $component = PartitionDefinition::parse( + new Parser(), + $this->getTokensList('PARTITION 2017_12 VALUES LESS THAN (\'2018-01-01 00:00:00\') ENGINE = MyISAM') + ); + $this->assertFalse($component->isSubpartition); + $this->assertEquals('2017_12', $component->name); + $this->assertEquals('LESS THAN', $component->type); + $this->assertEquals('(\'2018-01-01 00:00:00\')', $component->expr->expr); + } } |