Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PlSql] Support in-memory-clause in subpartition lists #4288

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sql/plsql/PlSqlParser.g4
Original file line number Diff line number Diff line change
Expand Up @@ -3761,6 +3761,7 @@ partitioning_storage_clause
| OVERFLOW (TABLESPACE tablespace)?
| table_compression
| key_compression
| inmemory_table_clause
| lob_partitioning_storage
| VARRAY varray_item STORE AS (BASICFILE | SECUREFILE)? LOB lob_segname
)+
Expand Down
170 changes: 170 additions & 0 deletions sql/plsql/examples/create_table.sql
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,176 @@ CREATE TABLE tab (ID number(9) primary key, data xmltype, data2 xmltype) NO MEMO

CREATE TABLE tab IF NOT EXISTS (ID number(9) primary key);

CREATE TABLE "TBG"."SCS_DM_DOCUMENTS"(
"BRANCH" VARCHAR2(8 CHAR) NOT NULL ENABLE,
"NO" NUMBER(30,0) NOT NULL ENABLE,
"DOC_TYPE" VARCHAR2(7 CHAR) NOT NULL ENABLE,
"ID" VARCHAR2(32 CHAR),
"AGRE_NO" NUMBER(30,0),
"CLASS_OP" VARCHAR2(32 CHAR),
"CREATED" DATE DEFAULT sysdate NOT NULL ENABLE,
"CREATED_BY" VARCHAR2(40 CHAR) DEFAULT coalesce(sys_context('userenv','client_identifier'), user) NOT NULL ENABLE,
"UPDATED" DATE,
"UPDATED_BY" VARCHAR2(40 CHAR),
"AUTHORIZED" DATE,
"AUTHORIZED_BY" VARCHAR2(40 CHAR),
"REMITTANT_NO" NUMBER,
"REMITTANT_NAME" VARCHAR2(240 CHAR),
"REMIT_BANK_NO" NUMBER,
"RECEIPIENT_NO" NUMBER,
"RECEIPIENT_NAME" VARCHAR2(240 CHAR),
"REC_BANK_NO" NUMBER,
"TRANSMIT_BY" VARCHAR2(20 CHAR),
"DEBIT_ACC_ID" VARCHAR2(25 CHAR),
"CREDIT_ACC_ID" VARCHAR2(25 CHAR),
"TR_NO" NUMBER,
"CASH_SYM" VARCHAR2(4 CHAR),
"AMOUNT_CUR_1" NUMBER(22,2),
"CURRENCY_NO_1" VARCHAR2(3 CHAR),
"COURSE_ID_1" VARCHAR2(10 CHAR),
"AMOUNT_RUB_1" NUMBER(22,2),
"AMOUNT_CUR_2" NUMBER(22,2),
"CURRENCY_NO_2" VARCHAR2(3 CHAR),
"COURSE_ID_2" VARCHAR2(10 CHAR),
"CHARGE_PERIOD_1" NUMBER(22,2),
"CHARGE_INT_1" NUMBER(7,3),
"CHARGE_AMOUNT_1" NUMBER(22,2),
"PAYMENT_PURPOSE" VARCHAR2(240 CHAR),
"VALUE_DATE" DATE NOT NULL ENABLE,
"PAYMENT_ORDER" VARCHAR2(30 CHAR),
"ORDER_NO" VARCHAR2(25 CHAR),
"SIGNED" DATE,
"SIGNED_BY" VARCHAR2(80 CHAR),
"REMARKS" VARCHAR2(240 CHAR),
"MFO_REC" VARCHAR2(15 CHAR),
"MFO_REM" VARCHAR2(15 CHAR),
"REM_ACC_NO" VARCHAR2(20 CHAR),
"REC_ACC_NO" VARCHAR2(20 CHAR),
"BATCH_NO" VARCHAR2(7 CHAR),
"PAYMENT_PURPOSE_CODE" VARCHAR2(20 CHAR),
"REM_TAX_NUMBER" VARCHAR2(15 CHAR),
"REC_TAX_NUMBER" VARCHAR2(15 CHAR),
"CARD2_NO" NUMBER(30,0),
"PAYMENT_DATE" DATE,
"CASH_FLAG" CHAR(1 CHAR),
"ZAKO" CHAR(1 CHAR),
"REIS_NO" NUMBER(3,0),
"RKC_OUT" CHAR(1 CHAR),
"DATE_RKC_OUT" DATE,
"PARENT_MDL" VARCHAR2(6 CHAR),
"PARENT_SCN" VARCHAR2(32 CHAR),
"CASH_SYM_CRED" VARCHAR2(4 CHAR),
"STATUS" VARCHAR2(8 CHAR),
"OBJECT_KEY" NUMBER,
"INC_CORR_ID" VARCHAR2(25 CHAR),
"OUT_CORR_ID" VARCHAR2(25 CHAR),
"NORES_CL_OP" VARCHAR2(20 CHAR),
"REM_RSN_CODE" VARCHAR2(9 CHAR),
"REC_RSN_CODE" VARCHAR2(9 CHAR),
"STAT_TAX" VARCHAR2(2 CHAR),
"CBC" VARCHAR2(20 CHAR),
"OKATO" VARCHAR2(11 CHAR),
"PAYM_FOUND" VARCHAR2(2 CHAR),
"TAX_PERIOD" VARCHAR2(10 CHAR),
"TAX_DOC_NO" VARCHAR2(15 CHAR),
"TAX_DOC_DATE" VARCHAR2(10 CHAR),
"TAX_PAYM_TYPE" VARCHAR2(2 CHAR),
"PLAN_TYPE" VARCHAR2(3 CHAR) DEFAULT 'LOC' NOT NULL ENABLE,
"BRANCH_CORR" VARCHAR2(8 CHAR),
"MARKED" DATE,
"DIVISION" VARCHAR2(8 CHAR),
"ACCR_TYPE" VARCHAR2(240 CHAR),
"ACCR_DCM" VARCHAR2(240 CHAR),
"ACCR_CAUS" VARCHAR2(240 CHAR),
"TERM" NUMBER,
"NEW_DATE" DATE,
"ACC_ID_REC" VARCHAR2(25 CHAR),
"ACC_ID_COVERING" VARCHAR2(25 CHAR),
"LAST_ACTION" NUMBER,
"PRIORITY" NUMBER(1,0),
"LAST_FCD" NUMBER,
"PAYM_DCM_PART_NO" NUMBER,
"PAYM_DCM_CIPHER" VARCHAR2(3 CHAR),
"PAYM_DCM_NO" VARCHAR2(6 CHAR),
"PAYM_DCM_DATE" DATE,
"PAYM_DCM_DEBT_AMT" NUMBER,
"ACC_REC_BANK" VARCHAR2(70 CHAR),
"DOC_CHARGE_DATE" DATE,
"TYPE_OP_REESTR" VARCHAR2(2 CHAR),
"FREEFIELD05" VARCHAR2(240 CHAR),
"FREEFIELD14" VARCHAR2(4 CHAR),
"FREEFIELD15" VARCHAR2(35 CHAR),
"PARENT_DCM_CNT" NUMBER,
"LIST_CNT" NUMBER,
"PAYM_CONDITION" VARCHAR2(240 CHAR),
"JUS_PAY" VARCHAR2(1 CHAR) DEFAULT 'N' NOT NULL ENABLE,
"RKC_HIDE_DEBIT" VARCHAR2(1 CHAR),
"SYS_ID" VARCHAR2(5 CHAR),
"SYS_MT" VARCHAR2(5 CHAR),
"EXT_NO" VARCHAR2(48 CHAR),
"PARTITION_KEY" NUMBER DEFAULT 64001 NOT NULL ENABLE,
"DOC_CODE" VARCHAR2(30 CHAR),
"DEBIT_BRANCH" VARCHAR2(8 CHAR),
"CREDIT_BRANCH" VARCHAR2(8 CHAR),
"IS_TRUST" VARCHAR2(1 CHAR) DEFAULT 'N',
"PAYMENT_TERMS" VARCHAR2(1 CHAR),
"OPER_DESCR" VARCHAR2(255 CHAR),
"STORN_NO" NUMBER,
"OP_TYPE_C" VARCHAR2(30 CHAR),
"CORRECTING" VARCHAR2(1 CHAR) DEFAULT 'N',
"TAX_FLAG" VARCHAR2(1 CHAR),
"CODE" VARCHAR2(25 CHAR),
"STORN_BATCH_ID" NUMBER,
"STORN_ENTRY_NUM" NUMBER,
"STAT_TYPE" VARCHAR2(3 CHAR),
"APP_ID" NUMBER,
"GROUP_NO" VARCHAR2(100 CHAR),
"BLANK_SERIAL_NO" VARCHAR2(30 CHAR),
"BLANK_LIST_NUM" VARCHAR2(30 CHAR),
"TRANSIT_ACC_ID" VARCHAR2(25 CHAR),
"LINKED_DOC_ID" VARCHAR2(32 CHAR),
"SPOD" VARCHAR2(1 CHAR),
"DEBIT_ACCT_ID" NUMBER,
"CREDIT_ACCT_ID" NUMBER,
"ACCT_ID_COVERING" NUMBER,
"OTHER_PERSON_FLAG" VARCHAR2(1 CHAR),
"PT_PRECEDENCE" VARCHAR2(2 CHAR),
"LINKED_BATCH_ID" NUMBER,
"LINKED_BATCH_ENTRY_NO" NUMBER,
"TRUST_PA_ID" NUMBER,
"PCF_CARD_ID" VARCHAR2(90 CHAR),
"OPERATION_ID" VARCHAR2(32 CHAR),
"REM_BANK_NAME" VARCHAR2(160 CHAR),
"REC_BANK_NAME" VARCHAR2(160 CHAR),
"RES_FIELD" VARCHAR2(35 CHAR),
CONSTRAINT "SCS_DM_DOCUMENTS_PK" PRIMARY KEY ("NO", "BRANCH") USING INDEX ENABLE,
CONSTRAINT "SCS_DM_DOCUMENTS_UI1" UNIQUE ("OBJECT_KEY") USING INDEX ENABLE,
CONSTRAINT "SCS_DM_DOCUMENTS_CHK02" CHECK (JUS_PAY in ('Y','N')) ENABLE,
CONSTRAINT "SCS_DM_DOCUMENTS_CHK01" CHECK (Value_Date = trunc(Value_Date)) ENABLE,
SUPPLEMENTAL LOG DATA (ALL) COLUMNS,
CONSTRAINT "SCS_DM_DOCUMENTS_FK5" FOREIGN KEY ("STORN_NO", "BRANCH")
REFERENCES "TBG"."SCS_DM_DOCUMENTS" ("NO", "BRANCH") ENABLE,
CONSTRAINT "SCS_DM_DOCUMENTS_FK4" FOREIGN KEY ("OP_TYPE_C")
REFERENCES "TBG"."MGC_SM_SCT_OP_TYPE_C" ("OP_TYPE_C") ENABLE,
CONSTRAINT "SCS_DM_DOCUMENTS_FK1" FOREIGN KEY ("STATUS")
REFERENCES "TBG"."MGC_SM_SCT_STATUS" ("CODE") ENABLE,
CONSTRAINT "SCS_DM_DOCUMENTS_FK2" FOREIGN KEY ("DOC_TYPE")
REFERENCES "TBG"."SCS_DM_DOC_TYPE_302P_C" ("DOC_TYPE_302P_C") ENABLE,
CONSTRAINT "SCS_DM_DOCUMENTS_FK3" FOREIGN KEY ("DOC_CODE")
REFERENCES "TBG"."SCS_DM_DOC_CODE" ("DOC_CODE") ENABLE
)
INMEMORY PRIORITY LOW NO MEMCOMPRESS
DISTRIBUTE AUTO NO DUPLICATE
PARTITION BY LIST ("PARTITION_KEY")
SUBPARTITION BY HASH ("NO")
SUBPARTITIONS 1
(PARTITION "SCS_DM_DOCUMENTS_NEW"
VALUES (64001) INMEMORY PRIORITY LOW NO MEMCOMPRESS DISTRIBUTE AUTO NO DUPLICATE
( SUBPARTITION "SYS_SUBP301" INMEMORY PRIORITY LOW NO MEMCOMPRESS DISTRIBUTE AUTO NO DUPLICATE ),
PARTITION "SCS_DM_DOCUMENTS_ARC"
VALUES (0) INMEMORY PRIORITY LOW NO MEMCOMPRESS DISTRIBUTE AUTO NO DUPLICATE
( SUBPARTITION "SYS_SUBP302" INMEMORY PRIORITY LOW NO MEMCOMPRESS DISTRIBUTE AUTO NO DUPLICATE ) );

CREATE TABLE T1 (
"NAME" VARCHAR(10) NOT NULL,
"ID" INT NOT NULL,
Expand Down
Loading