Skip to content

Commit

Permalink
[PlSql] Support in-memory-clause in subpartition lists
Browse files Browse the repository at this point in the history
  • Loading branch information
Naros committed Oct 24, 2024
1 parent 9f95ea4 commit 1092f48
Show file tree
Hide file tree
Showing 2 changed files with 171 additions and 0 deletions.
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

0 comments on commit 1092f48

Please sign in to comment.