From 514ad900c555acaaafbbb43779e1bc846c1d6ecd Mon Sep 17 00:00:00 2001 From: hns Date: Thu, 15 Feb 2007 14:13:53 +0000 Subject: [PATCH] * Optimize getDbColumns() for inheriting relational dbmappings. * Avoid useless double assignment to column field --- src/helma/objectmodel/db/DbMapping.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/helma/objectmodel/db/DbMapping.java b/src/helma/objectmodel/db/DbMapping.java index 7f7de69a..cd57ca1c 100644 --- a/src/helma/objectmodel/db/DbMapping.java +++ b/src/helma/objectmodel/db/DbMapping.java @@ -926,8 +926,9 @@ public final class DbMapping { public synchronized DbColumn[] getColumns() throws ClassNotFoundException, SQLException { if (!isRelational()) { - throw new SQLException("Can't get columns for non-relational data mapping " + - this); + throw new SQLException("Can't get columns for non-relational data mapping " + this); + } else if (inheritsStorage()) { + return parentMapping.getColumns(); } // Use local variable cols to avoid synchronization (schema may be nulled elsewhere) @@ -963,8 +964,7 @@ public final class DbMapping { DbColumn col = new DbColumn(colName, meta.getColumnType(i + 1), rel, this); list.add(col); } - columns = new DbColumn[list.size()]; - columns = (DbColumn[]) list.toArray(columns); + columns = (DbColumn[]) list.toArray(new DbColumn[list.size()]); } return columns;