From 38e104fcb1d47c4a92f62cf9fce13dbc4578f845 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Sun, 1 Nov 2020 16:43:33 +0300 Subject: [PATCH] #10210 Oracle trigger delete rule fix Former-commit-id: e8e50d1e6750c73610584a023d087e6bc81743a9 --- .../ext/oracle/model/OracleTableForeignKey.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleTableForeignKey.java b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleTableForeignKey.java index af819950e9..9031016386 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleTableForeignKey.java +++ b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleTableForeignKey.java @@ -90,7 +90,19 @@ public class OracleTableForeignKey extends OracleTableConstraintBase implements } String deleteRuleName = JDBCUtils.safeGetString(dbResult, "DELETE_RULE"); - this.deleteRule = "CASCADE".equals(deleteRuleName) ? DBSForeignKeyModifyRule.CASCADE : DBSForeignKeyModifyRule.NO_ACTION; + if (CommonUtils.isEmpty(deleteRuleName)) { + this.deleteRule = DBSForeignKeyModifyRule.NO_ACTION; + } else { + switch (deleteRuleName) { + case "CASCADE": + this.deleteRule = DBSForeignKeyModifyRule.CASCADE; + case "SET NULL": + this.deleteRule = DBSForeignKeyModifyRule.SET_NULL; + case "NO ACTION": + default: + this.deleteRule = DBSForeignKeyModifyRule.NO_ACTION; + } + } } @Property(viewable = true, order = 3) -- GitLab