Skip to content

Commit

Permalink
partitioning: Corrected partition management (#5498)
Browse files Browse the repository at this point in the history
  • Loading branch information
mjonss authored Jul 23, 2021
1 parent 205734b commit 20dc083
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion partitioned-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,21 @@ You can see that the inserted record `(NULL, 'mothra')` falls into the same part
## Partition management

You can add, drop, merge, split, redefine partitions by using `ALTER TABLE` statements.
For `LIST` and `RANGE` partitioned tables, you can add and drop partitions using the `ALTER TABLE <table name> ADD PARTITION (<partition specification>)` or `ALTER TABLE <table name> DROP PARTITION <list of partitions>` statement.

For `LIST` and `RANGE` partitioned tables, `REORGANIZE PARTITION` is not yet supported.

For `HASH` partitioned tables, `COALESCE PARTITION` and `ADD PARTITION` are not yet supported.

`EXCHANGE PARTITION` works by swapping a partition and a non-partitioned table, similar to how renaming a table like `RENAME TABLE t1 TO t1_tmp, t2 TO t1, t1_tmp TO t2` works.

For example, `ALTER TABLE partitioned_table EXCHANGE PARTITION p1 WITH TABLE non_partitioned_table` swaps the `non_partitioned_table` table in the `p1` partition with the `partitioned_table` table.

Ensure that all rows that you are exchanging into the partition match the partition definition; otherwise, these rows will not be found and cause unexpected issues.

> **Warning:**
>
> `EXCHANGE PARTITION` is an experimental feature. It is not recommended to use it in a production environment. To enable it, set the `tidb_enable_exchange_partition` system variable to `ON`.
### Range partition management

Expand Down

0 comments on commit 20dc083

Please sign in to comment.