Skip to content

Issues for partitions and subpartitions migration #1940

@AyUser84

Description

@AyUser84

Hello,
I have this Oracle table to migrate :

CREATE TABLE <TABLE_NAME> (
LOADING_MONTH DATE NOT NULL,
COL2
COL3
...
COLN
)
TABLESPACE XX
NOLOGGING
PARTITION BY RANGE (LOADING_MONTH) INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
SUBPARTITION BY RANGE (COL2)
SUBPARTITION TEMPLATE
(
SUBPARTITION SUBPART_0 values LESS THAN(1),
SUBPARTITION SUBPART_1 values LESS THAN(2),
SUBPARTITION SUBPART_2 values LESS THAN(3),
SUBPARTITION SUBPART_3 values LESS THAN(4),
SUBPARTITION SUBPART_4 values LESS THAN(5),
SUBPARTITION SUBPART_5 values LESS THAN(6),
SUBPARTITION SUBPART_6 values LESS THAN(7),
SUBPARTITION SUBPART_7 values LESS THAN(8),
SUBPARTITION SUBPART_8 values LESS THAN(9),
SUBPARTITION SUBPART_9 values LESS THAN(10),
SUBPARTITION SUBPART_10 values LESS THAN(MAXVALUE)
)
( PARTITION LOADING_MONTH_HIS_DATA VALUES LESS THAN (TO_DATE(' 2024-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))) ;

Using ora2pg version 24.3 for migration have this as result :

CREATE TABLE LOADING_MONTH_HIS_DATA PARTITION OF TABLE_NAME
FOR VALUES FROM (MINVALUE) TO (' 2024-01-01 00:00:00')
PARTITION BY RANGE (COL2);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_0 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (1);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_1 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (2);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_2 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (3);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_3 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (4);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_4 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (5);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_5 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (6);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_6 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (7);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_7 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (8);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_8 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (9);
CREATE TABLE TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_9 PARTITION OF LOADING_MONTH_HIS_DATA
FOR VALUES FROM (MINVALUE) TO (10);
CREATE TABLE LOADING_MONTH_HIS_DATA_subpart_10 PARTITION OF TABLE_NAME DEFAULT;
CREATE TABLE sys_p663 PARTITION OF TABLE_NAME
FOR VALUES FROM (' 2024-01-01 00:00:00') TO (' 2025-11-01 00:00:00')
PARTITION BY RANGE (COL2);
CREATE TABLE TABLE_NAME_sys_subp563 PARTITION OF sys_p663
FOR VALUES FROM () TO (1);
CREATE TABLE TABLE_NAME_sys_subp564 PARTITION OF sys_p663
FOR VALUES FROM (1) TO (2);
CREATE TABLE TABLE_NAME_sys_subp565 PARTITION OF sys_p663
FOR VALUES FROM (2) TO (3);
CREATE TABLE TABLE_NAME_sys_subp566 PARTITION OF sys_p663
FOR VALUES FROM (3) TO (4);
CREATE TABLE TABLE_NAME_sys_subp567 PARTITION OF sys_p663
FOR VALUES FROM (4) TO (5);
CREATE TABLE TABLE_NAME_sys_subp568 PARTITION OF sys_p663
FOR VALUES FROM (5) TO (6);
CREATE TABLE TABLE_NAME_sys_subp569 PARTITION OF sys_p663
FOR VALUES FROM (6) TO (7);
CREATE TABLE TABLE_NAME_sys_subp570 PARTITION OF sys_p663
FOR VALUES FROM (7) TO (8);
CREATE TABLE TABLE_NAME_sys_subp571 PARTITION OF sys_p663
FOR VALUES FROM (8) TO (9);
CREATE TABLE TABLE_NAME_sys_subp572 PARTITION OF sys_p663
FOR VALUES FROM (9) TO (10);
CREATE TABLE sys_subp573 PARTITION OF inettsegmentation_pyramide_stock DEFAULT;

1 - for the TABLE_NAME_LOADING_MONTH_HIS_DATA_subpart_XX part, why he use (MINVALUE) TO (number) and not the interval everytime ((MINVALUE) TO (2) (MINVALUE) TO (3) and not (1) TO (2) (2) TO (3) )
2- for the CREATE TABLE TABLE_NAME_sys_subp563 PARTITION OF sys_p663 FOR VALUES FROM () TO (1); MINVALUE is missing
3- for the last partition creation : CREATE TABLE sys_subp573 PARTITION OF inettsegmentation_pyramide_stock DEFAULT , isn't rather CREATE TABLE TABLE_NAME_sys_subp573 PARTITION OF sys_p663
FOR VALUES FROM (10) TO (MAXVALUE) ?

Thank you for your reply

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions