summaryrefslogtreecommitdiffstats
path: root/src/Components/PartitionDefinition.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Components/PartitionDefinition.php')
-rw-r--r--src/Components/PartitionDefinition.php26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/Components/PartitionDefinition.php b/src/Components/PartitionDefinition.php
index c7546b0..c46252d 100644
--- a/src/Components/PartitionDefinition.php
+++ b/src/Components/PartitionDefinition.php
@@ -155,7 +155,18 @@ class PartitionDefinition extends Component
$ret->type = $token->value;
$state = 4;
} elseif ($state === 4) {
- $ret->expr = Expression::parse($parser, $list, array('noAlias' => true, 'bracketsDelimited' => true));
+ if ($token->value === 'MAXVALUE') {
+ $ret->expr = $token->value;
+ } else {
+ $ret->expr = Expression::parse(
+ $parser,
+ $list,
+ array(
+ 'bracketsDelimited' => true,
+ 'noAlias' => true,
+ )
+ );
+ }
$state = 5;
} elseif ($state === 5) {
$ret->options = OptionsArray::parse($parser, $list, static::$OPTIONS);
@@ -166,12 +177,12 @@ class PartitionDefinition extends Component
$parser,
$list,
array(
- 'type' => 'SqlParser\Components\PartitionDefinition'
+ 'type' => 'SqlParser\\Components\\PartitionDefinition'
)
);
- } else {
- break;
+ ++$list->idx;
}
+ break;
}
}
@@ -196,11 +207,10 @@ class PartitionDefinition extends Component
if ($component->isSubpartition) {
return 'SUBPARTITION ' . $component->name;
} else {
- if (!empty($component->subpartitions)) {
- $subpartitions = ' ' . PartitionDefinition::build($component->subpartitions);
- }
+ $subpartitions = empty($component->subpartitions)
+ ? '' : ' ' . PartitionDefinition::build($component->subpartitions);
return 'PARTITION ' . $component->name
- . ' VALUES ' . $component->type . $component->expr
+ . ' VALUES ' . $component->type . ' ' . $component->expr
. $subpartitions;
}