From 1092f48894f482c69c0884c35c1af07d6ef3010e Mon Sep 17 00:00:00 2001 From: Chris Cranford Date: Thu, 24 Oct 2024 00:55:14 -0400 Subject: [PATCH] [PlSql] Support in-memory-clause in subpartition lists --- sql/plsql/PlSqlParser.g4 | 1 + sql/plsql/examples/create_table.sql | 170 ++++++++++++++++++++++++++++ 2 files changed, 171 insertions(+) diff --git a/sql/plsql/PlSqlParser.g4 b/sql/plsql/PlSqlParser.g4 index d0ba1fd0e1..0d5bd7718a 100644 --- a/sql/plsql/PlSqlParser.g4 +++ b/sql/plsql/PlSqlParser.g4 @@ -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 )+ diff --git a/sql/plsql/examples/create_table.sql b/sql/plsql/examples/create_table.sql index 8f964a5b77..405bed5823 100644 --- a/sql/plsql/examples/create_table.sql +++ b/sql/plsql/examples/create_table.sql @@ -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,