diff options
Diffstat (limited to 'src/Components/PartitionDefinition.php')
-rw-r--r-- | src/Components/PartitionDefinition.php | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/src/Components/PartitionDefinition.php b/src/Components/PartitionDefinition.php index 33c3692..c688f55 100644 --- a/src/Components/PartitionDefinition.php +++ b/src/Components/PartitionDefinition.php @@ -4,10 +4,8 @@ * Parses the create definition of a partition. * * Used for parsing `CREATE TABLE` statement. - * - * @package SqlParser - * @subpackage Components */ + namespace SqlParser\Components; use SqlParser\Component; @@ -21,28 +19,26 @@ use SqlParser\TokensList; * Used for parsing `CREATE TABLE` statement. * * @category Components - * @package SqlParser - * @subpackage Components + * * @license https://www.gnu.org/licenses/gpl-2.0.txt GPL-2.0+ */ class PartitionDefinition extends Component { - /** * All field options. * * @var array */ public static $OPTIONS = array( - 'STORAGE ENGINE' => array(1, 'var'), - 'ENGINE' => array(1, 'var'), - 'COMMENT' => array(2, 'var'), - 'DATA DIRECTORY' => array(3, 'var'), - 'INDEX DIRECTORY' => array(4, 'var'), - 'MAX_ROWS' => array(5, 'var'), - 'MIN_ROWS' => array(6, 'var'), - 'TABLESPACE' => array(7, 'var'), - 'NODEGROUP' => array(8, 'var'), + 'STORAGE ENGINE' => array(1, 'var'), + 'ENGINE' => array(1, 'var'), + 'COMMENT' => array(2, 'var'), + 'DATA DIRECTORY' => array(3, 'var'), + 'INDEX DIRECTORY' => array(4, 'var'), + 'MAX_ROWS' => array(5, 'var'), + 'MIN_ROWS' => array(6, 'var'), + 'TABLESPACE' => array(7, 'var'), + 'NODEGROUP' => array(8, 'var'), ); /** @@ -88,15 +84,15 @@ class PartitionDefinition extends Component public $options; /** - * @param Parser $parser The parser that serves as context. - * @param TokensList $list The list of tokens that are being parsed. - * @param array $options Parameters for parsing. + * @param Parser $parser the parser that serves as context + * @param TokensList $list the list of tokens that are being parsed + * @param array $options parameters for parsing * * @return PartitionDefinition */ public static function parse(Parser $parser, TokensList $list, array $options = array()) { - $ret = new PartitionDefinition(); + $ret = new self(); /** * The state of the parser. @@ -118,7 +114,7 @@ class PartitionDefinition extends Component * * 6 ------------------[ subpartitions ]------------------> (END) * - * @var int $state + * @var int */ $state = 0; @@ -126,7 +122,7 @@ class PartitionDefinition extends Component /** * Token parsed at this moment. * - * @var Token $token + * @var Token */ $token = $list->tokens[$list->idx]; @@ -183,7 +179,7 @@ class PartitionDefinition extends Component $parser, $list, array( - 'type' => 'SqlParser\\Components\\PartitionDefinition' + 'type' => 'SqlParser\\Components\\PartitionDefinition', ) ); ++$list->idx; @@ -193,12 +189,13 @@ class PartitionDefinition extends Component } --$list->idx; + return $ret; } /** - * @param PartitionDefinition|PartitionDefinition[] $component The component to be built. - * @param array $options Parameters for building. + * @param PartitionDefinition|PartitionDefinition[] $component the component to be built + * @param array $options parameters for building * * @return string */ @@ -211,7 +208,8 @@ class PartitionDefinition extends Component return trim('SUBPARTITION ' . $component->name . ' ' . $component->options); } else { $subpartitions = empty($component->subpartitions) - ? '' : ' ' . PartitionDefinition::build($component->subpartitions); + ? '' : ' ' . self::build($component->subpartitions); + return trim( 'PARTITION ' . $component->name . (empty($component->type) ? '' : ' VALUES ' . $component->type . ' ' . $component->expr . ' ') |