PARTITION 문

<create partition>

<create class> <partition clause>

<alter partition>

ALTER {CLASS | TABLE} <class name>
<alter partition clause>

<create class>

CREATE {CLASS | TABLE} <class name>
[ <subclass definition>]
[ ( <class element comma list> ) ]
[ CLASS ATTRIBUTE ( <attribute definition comma list> ) ]
[ METHOD <method definition comma list> ]
[ FILE <method file comma list> ]
[ INHERIT <resolution comma list> ]

<alter partition clause>

<alter clause>
| DROP PARTITION <alter partition name comma list>
| REMOVE PARTITIONING
| ADD PARTITION <partition options>
| REORGANIZE PARTITION
<alter partition name comma list> INTO ( <partition definition comma list> )
| ANALYZE PARTITION { ALL | <alter partition name comma list> }
| COALESCE PARTITION <unsigned integer>

<partition clause>

PARTITION BY { HASH | RANGE | LIST }
( <expression> )
<partition options>

<partition options>

( <partition definition comma list> )
| PARTITIONS <unsigned integer>

<partition definition>

PARTITION <partition name>
<partition value options>

<partition value options>

<partition range> | <partition list>

<partition range>

VALUES LESS THAN <partition range values>

<partition range values>

MAXVALUE | ( <partition value>

<partition list>

VALUES IN ( <partition value comma list> )

예제

CREATE CLASS person (
name string,
birthday date,
residence string,
UNIQUE (name))
PARTITION BY RANGE ( name ) (
PARTITION atoh VALUES LESS THAN ('I'),
PARTITION itor VALUES LESS THAN ('S'),
PARTITION etcname VALUES LESS THAN MAXVALUE );

CREATE CLASS person (
name string,
birthday date,
residence string,
UNIQUE (name))
PARTITION BY HASH ( name )
PARTITIONS 20;

ALTER CLASS person
PARTITION BY LIST ( SUBSTRING(residence from 1 for 1) ) (
PARTITION atoh VALUES IN ('A','B','C','D','E','F','G','H'),
PARTITION itoo VALUES IN ('I','J','K','L','M','N','O'));

ALTER CLASS person REMOVE PARTITIONING;