DBZ-4976 Handle NPEs for column definitions of Oracle DDL statements

This commit is contained in:
Anisha Mohanty 2022-04-13 15:30:42 +05:30 committed by Jiri Pechanec
parent 1d68c8ed53
commit 736a3b149b
3 changed files with 8 additions and 4 deletions

View File

@ -50,7 +50,7 @@ Column getColumn() {
@Override @Override
public void enterColumn_definition(PlSqlParser.Column_definitionContext ctx) { public void enterColumn_definition(PlSqlParser.Column_definitionContext ctx) {
resolveColumnDataType(ctx); resolveColumnDataType(ctx);
if (ctx.DEFAULT() != null) { if (ctx != null && ctx.DEFAULT() != null) {
columnEditor.defaultValueExpression(ctx.column_default_value().getText()); columnEditor.defaultValueExpression(ctx.column_default_value().getText());
} }
super.enterColumn_definition(ctx); super.enterColumn_definition(ctx);
@ -69,7 +69,7 @@ public void enterPrimary_key_clause(PlSqlParser.Primary_key_clauseContext ctx) {
@Override @Override
public void enterModify_col_properties(PlSqlParser.Modify_col_propertiesContext ctx) { public void enterModify_col_properties(PlSqlParser.Modify_col_propertiesContext ctx) {
resolveColumnDataType(ctx); resolveColumnDataType(ctx);
if (ctx.DEFAULT() != null) { if (ctx != null && ctx.DEFAULT() != null) {
columnEditor.defaultValueExpression(ctx.column_default_value().getText()); columnEditor.defaultValueExpression(ctx.column_default_value().getText());
} }
super.enterModify_col_properties(ctx); super.enterModify_col_properties(ctx);
@ -303,7 +303,8 @@ else if (ctx.native_datatype_element().ROWID() != null) {
.type(ctx.native_datatype_element().getText()); .type(ctx.native_datatype_element().getText());
} }
} }
else if (ctx.INTERVAL() != null else if (ctx != null
&& ctx.INTERVAL() != null
&& ctx.YEAR() != null && ctx.YEAR() != null
&& ctx.TO() != null && ctx.TO() != null
&& ctx.MONTH() != null) { && ctx.MONTH() != null) {
@ -315,7 +316,8 @@ else if (ctx.INTERVAL() != null
columnEditor.length(Integer.valueOf((ctx.expression(0).getText()))); columnEditor.length(Integer.valueOf((ctx.expression(0).getText())));
} }
} }
else if (ctx.INTERVAL() != null else if (ctx != null
&& ctx.INTERVAL() != null
&& ctx.DAY() != null && ctx.DAY() != null
&& ctx.TO() != null && ctx.TO() != null
&& ctx.SECOND() != null) { && ctx.SECOND() != null) {

View File

@ -19,6 +19,7 @@ ALTER TABLE S.PRODUCTS DROP PARTITION p0 UPDATE INDEXES;
ALTER TABLE S.PRODUCTS DROP PARTITION p0 UPDATE GLOBAL INDEXES NOPARALLEL; ALTER TABLE S.PRODUCTS DROP PARTITION p0 UPDATE GLOBAL INDEXES NOPARALLEL;
ALTER TABLE S.PRODUCTS DROP PARTITION p0 INVALIDATE GLOBAL INDEXES NOPARALLEL; ALTER TABLE S.PRODUCTS DROP PARTITION p0 INVALIDATE GLOBAL INDEXES NOPARALLEL;
ALTER TABLE S.PRODUCTS DROP PARTITION p0 UPDATE INDEXES NOPARALLEL; ALTER TABLE S.PRODUCTS DROP PARTITION p0 UPDATE INDEXES NOPARALLEL;
ALTER TABLE TEST001 MODIFY NAME DEFAULT NULL;
-- Alter table add unique index -- Alter table add unique index
alter table dbz1211 add constraint name unique (id,data) using index tablespace ts; alter table dbz1211 add constraint name unique (id,data) using index tablespace ts;
alter table dbz1211_child add constraint name unique (id) using index tablespace ts; alter table dbz1211_child add constraint name unique (id) using index tablespace ts;

View File

@ -225,6 +225,7 @@ CREATE TABLE CUSTOMER_TABLE (cust_num VARCHAR2(10), order_num VARCHAR2(20), orde
CREATE TABLE TT_BSTOFF_VERDICHT ( TrxKey NUMBER(12), BStoffPKey NUMBER(12), BStoffBOId VARCHAR2(40), BStoffBelegNr NUMBER(12), BStoffBetrag NUMBER(15,2), BStoffBetragWA NUMBER(15,2), PRIMARY KEY (TrxKey, BStoffPKey)) ORGANIZATION INDEX; CREATE TABLE TT_BSTOFF_VERDICHT ( TrxKey NUMBER(12), BStoffPKey NUMBER(12), BStoffBOId VARCHAR2(40), BStoffBelegNr NUMBER(12), BStoffBetrag NUMBER(15,2), BStoffBetragWA NUMBER(15,2), PRIMARY KEY (TrxKey, BStoffPKey)) ORGANIZATION INDEX;
CREATE TABLE WBXCRLOG (CRID NUMBER not null, CONFLCITTIME DATE default SYSDATE, CONSTRAINT PK_WBXCRLOG PRIMARY KEY(CONFLICTTIME,CRID) USING INDEX TABLESPACE SPLEX_INDX LOCAL) PARTITION BY RANGE(CONFLICTTIME) INTERVAL(NUMTOYMINTERVAL(1, 'MONTH')) STORE IN (SPLEX_DATA) ( PARTITION P201805 VALUES LESS THAN (TO_DATE('2018-06-01', 'YYYY-MM-DD')) TABLESPACE SPLEX_DATA, PARTITION P201806 VALUES LESS THAN (TO_DATE('2018-07-01', 'YYYY-MM-DD')) TABLESPACE SPLEX_DATA ); CREATE TABLE WBXCRLOG (CRID NUMBER not null, CONFLCITTIME DATE default SYSDATE, CONSTRAINT PK_WBXCRLOG PRIMARY KEY(CONFLICTTIME,CRID) USING INDEX TABLESPACE SPLEX_INDX LOCAL) PARTITION BY RANGE(CONFLICTTIME) INTERVAL(NUMTOYMINTERVAL(1, 'MONTH')) STORE IN (SPLEX_DATA) ( PARTITION P201805 VALUES LESS THAN (TO_DATE('2018-06-01', 'YYYY-MM-DD')) TABLESPACE SPLEX_DATA, PARTITION P201806 VALUES LESS THAN (TO_DATE('2018-07-01', 'YYYY-MM-DD')) TABLESPACE SPLEX_DATA );
CREATE TABLE "MYUSER"."ITEMS" ("ID" NUMBER(4,0) GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 101 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE NOT NULL ENABLE, "NAME" VARCHAR2(255) NOT NULL ENABLE, "DESCRIPTION" VARCHAR2(512), "COST" FLOAT(126), PRIMARY KEY ("ID") USING INDEX ENABLE, SUPPLEMENTAL LOG DATA (ALL) COLUMNS); CREATE TABLE "MYUSER"."ITEMS" ("ID" NUMBER(4,0) GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 101 CACHE 20 NOORDER NOCYCLE NOKEEP NOSCALE NOT NULL ENABLE, "NAME" VARCHAR2(255) NOT NULL ENABLE, "DESCRIPTION" VARCHAR2(512), "COST" FLOAT(126), PRIMARY KEY ("ID") USING INDEX ENABLE, SUPPLEMENTAL LOG DATA (ALL) COLUMNS);
CREATE TABLE TEST001(ID NUMBER, NAME VARCHAR2(1) DEFAULT ('0'));
-- Create index -- Create index
create index hr.name on hr.table (id,data) tablespace ts; create index hr.name on hr.table (id,data) tablespace ts;
create unique index idx_eshp_auction_file_history_id on eshp_auction_file_history(history_id); create unique index idx_eshp_auction_file_history_id on eshp_auction_file_history(history_id);