From e0fd2f3c0992f81d407565fed15c438bcf2cb25f Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 9 Dec 2013 12:51:11 +0100 Subject: [PATCH] [#2879] An exception in the check constraint loader can cause all constraint loading to fail --- .../java/org/jooq/util/AbstractDatabase.java | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java index 8693fb6683..d1b3c049f3 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/AbstractDatabase.java @@ -811,13 +811,36 @@ public abstract class AbstractDatabase implements Database { /** * Retrieve ALL relations from the database. */ - protected final Relations getRelations0() throws SQLException { + protected final Relations getRelations0() { DefaultRelations result = new DefaultRelations(); - loadPrimaryKeys(result); - loadUniqueKeys(result); - loadForeignKeys(result); - loadCheckConstraints(result); + try { + loadPrimaryKeys(result); + } + catch (Exception e) { + log.error("Error while fetching primary keys", e); + } + + try { + loadUniqueKeys(result); + } + catch (Exception e) { + log.error("Error while fetching unique keys", e); + } + + try { + loadForeignKeys(result); + } + catch (Exception e) { + log.error("Error while fetching foreign keys", e); + } + + try { + loadCheckConstraints(result); + } + catch (Exception e) { + log.error("Error while fetching check constraints", e); + } return result; }