You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2022/01/27 14:42:06 UTC
[empire-db] branch version3 updated: EMPIREDB-362 getSourceColumn cleanup
This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch version3
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/version3 by this push:
new d0af266 EMPIREDB-362 getSourceColumn cleanup
d0af266 is described below
commit d0af266387d4302fb774b3765cd8fc405c00154c
Author: Rainer Döbele <do...@apache.org>
AuthorDate: Thu Jan 27 15:42:03 2022 +0100
EMPIREDB-362 getSourceColumn cleanup
---
.../java/org/apache/empire/data/ColumnExpr.java | 1 -
.../main/java/org/apache/empire/db/DBColumn.java | 13 +++++++--
.../java/org/apache/empire/db/DBColumnExpr.java | 20 +++++--------
.../java/org/apache/empire/db/DBCommandExpr.java | 6 ++--
.../java/org/apache/empire/db/DBQueryColumn.java | 16 +++++-----
.../main/java/org/apache/empire/db/DBRecord.java | 2 +-
.../main/java/org/apache/empire/db/DBUtils.java | 2 +-
.../src/main/java/org/apache/empire/db/DBView.java | 34 +++++++++++-----------
.../empire/db/expr/column/DBAbstractFuncExpr.java | 9 ++++++
.../apache/empire/db/expr/column/DBAliasExpr.java | 9 ++++++
.../apache/empire/db/expr/column/DBCalcExpr.java | 9 ++++++
.../apache/empire/db/expr/column/DBCaseExpr.java | 6 ++++
.../empire/db/expr/column/DBCaseWhenExpr.java | 7 +++++
.../apache/empire/db/expr/column/DBConcatExpr.java | 6 ++++
.../apache/empire/db/expr/column/DBCountExpr.java | 21 +++++++++++--
.../apache/empire/db/expr/column/DBScalarExpr.java | 10 ++++++-
.../apache/empire/db/expr/column/DBValueExpr.java | 13 +++++++--
.../empire/db/expr/compare/DBCompareColExpr.java | 4 +--
.../empire/db/expr/join/DBColumnJoinExpr.java | 8 ++---
.../apache/empire/db/expr/order/DBOrderByExpr.java | 2 +-
.../empire/dbms/oracle/OracleRowNumExpr.java | 11 ++++++-
21 files changed, 149 insertions(+), 60 deletions(-)
diff --git a/empire-db/src/main/java/org/apache/empire/data/ColumnExpr.java b/empire-db/src/main/java/org/apache/empire/data/ColumnExpr.java
index 3fde592..7686852 100644
--- a/empire-db/src/main/java/org/apache/empire/data/ColumnExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/data/ColumnExpr.java
@@ -78,5 +78,4 @@ public interface ColumnExpr extends Unwrappable<ColumnExpr>
* @return the column on which this expression is based or null if not applicable.
*/
Column getSourceColumn();
- ColumnExpr unwrap();
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBColumn.java b/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
index e2d38d8..53bb88d 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBColumn.java
@@ -256,9 +256,16 @@ public abstract class DBColumn extends DBColumnExpr
}
/**
- * Returns this object.
- *
- * @return this object
+ * Returns itself as the source column.
+ */
+ @Override
+ public DBColumn getSourceColumn()
+ {
+ return this;
+ }
+
+ /**
+ * Returns itself as the update column.
*/
@Override
public DBColumn getUpdateColumn()
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBColumnExpr.java b/empire-db/src/main/java/org/apache/empire/db/DBColumnExpr.java
index 29c3ede..e6685b2 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBColumnExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBColumnExpr.java
@@ -28,7 +28,6 @@ import org.apache.empire.commons.ObjectUtils;
import org.apache.empire.commons.OptionEntry;
import org.apache.empire.commons.Options;
import org.apache.empire.commons.StringUtils;
-import org.apache.empire.data.Column;
import org.apache.empire.data.ColumnExpr;
import org.apache.empire.data.DataType;
import org.apache.empire.db.expr.column.DBAliasExpr;
@@ -93,6 +92,14 @@ public abstract class DBColumnExpr extends DBExpr
public abstract boolean isAggregate();
/**
+ * Returns the underlying physical column which was used for this expression
+ * For functions involving none or more than one physical column this function return the first one
+ * @return a column used for this expression
+ */
+ @Override
+ public abstract DBColumn getSourceColumn();
+
+ /**
* Returns the underlying physical column which may be used for updates.
* For functions involving none or more than one physical column this function returns null.
* @return the column to be used for updates if any.
@@ -232,17 +239,6 @@ public abstract class DBColumnExpr extends DBExpr
{
setAttribute(DBCOLATTR_TYPE, controlType);
}
-
- /**
- * Returns the source column.
- * This is equivalent to the "Update Column"
- * see getUpdateColumn()
- */
- @Override
- public final Column getSourceColumn()
- {
- return getUpdateColumn();
- }
/**
* Gets the Java bean property name for this column
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java b/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
index 9d04599..6772bcd 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
@@ -60,7 +60,7 @@ public abstract class DBCommandExpr extends DBExpr
this.cmd = cmd;
// Add Expressions to list
for (int i = 0; i < exprList.length; i++)
- columns.add(exprList[i].getUpdateColumn());
+ columns.add(exprList[i].getSourceColumn());
}
/** Not applicable - returns null */
@@ -249,7 +249,7 @@ public abstract class DBCommandExpr extends DBExpr
if (attributes != null && attributes.indexOf(name)>=0)
return attributes.get(name);
// Otherwise ask expression
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column!=null)
return column.getAttribute(name);
return null;
@@ -264,7 +264,7 @@ public abstract class DBCommandExpr extends DBExpr
if (options != null)
return options;
// Otherwise ask expression
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column!=null)
return column.getOptions();
return null;
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBQueryColumn.java b/empire-db/src/main/java/org/apache/empire/db/DBQueryColumn.java
index df28783..43d4772 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBQueryColumn.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBQueryColumn.java
@@ -56,7 +56,7 @@ public class DBQueryColumn extends DBColumn
@Override
public double getSize()
{
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column==null)
return 0.0;
return column.getSize();
@@ -65,7 +65,7 @@ public class DBQueryColumn extends DBColumn
@Override
public boolean isReadOnly()
{
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column==null)
return true;
return column.isReadOnly();
@@ -74,7 +74,7 @@ public class DBQueryColumn extends DBColumn
@Override
public boolean isAutoGenerated()
{
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column==null)
return false;
return column.isAutoGenerated();
@@ -83,7 +83,7 @@ public class DBQueryColumn extends DBColumn
@Override
public boolean isRequired()
{
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column==null)
return false;
return column.isRequired();
@@ -98,7 +98,7 @@ public class DBQueryColumn extends DBColumn
if (enumType!=null)
return ((Class<Enum<?>>)enumType);
// otherwise check update column
- DBColumn col = expr.getUpdateColumn();
+ DBColumn col = expr.getSourceColumn();
if (col!=null)
return col.getEnumType();
// otherwise
@@ -108,7 +108,7 @@ public class DBQueryColumn extends DBColumn
@Override
public Object validateValue(Object value)
{
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column==null)
return value;
return column.validateValue(value);
@@ -120,7 +120,7 @@ public class DBQueryColumn extends DBColumn
if (attributes != null && attributes.contains(name))
return attributes.get(name);
// Otherwise ask expression
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column==null)
return null;
return column.getAttribute(name);
@@ -132,7 +132,7 @@ public class DBQueryColumn extends DBColumn
if (options != null)
return options;
// Otherwise ask expression
- DBColumn column = expr.getUpdateColumn();
+ DBColumn column = expr.getSourceColumn();
if (column==null)
return null;
return column.getOptions();
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBRecord.java b/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
index e52189a..b2b87a5 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBRecord.java
@@ -658,7 +658,7 @@ public class DBRecord extends DBRecordData implements DBContextAware, Record, Cl
*/
public Options getFieldOptions(DBColumn column)
{
- // DBColumn col = ((colexpr instanceof DBColumn) ? ((DBColumn) colexpr) : colexpr.getUpdateColumn());
+ // DBColumn col = ((colexpr instanceof DBColumn) ? ((DBColumn) colexpr) : colexpr.getSourceColumn());
return column.getOptions();
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBUtils.java b/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
index 56d7e24..6448f5d 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBUtils.java
@@ -365,7 +365,7 @@ public class DBUtils implements DBContextAware
return querySingleInt(sql, null, 0);
}
// find any rowset
- DBRowSet rs = exprList[0].getUpdateColumn().getRowSet();
+ DBRowSet rs = exprList[0].getSourceColumn().getRowSet();
// create the count command
DBCommand countCmd = cmd.clone();
countCmd.clearSelect();
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBView.java b/empire-db/src/main/java/org/apache/empire/db/DBView.java
index 3dd19ce..8a171cf 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBView.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBView.java
@@ -48,7 +48,7 @@ public abstract class DBView extends DBRowSet
protected final DBColumnExpr expr;
protected final DataType dataType;
- protected final DBColumn updateColumn;
+ protected final DBColumn sourceColumn;
protected final double size;
/**
@@ -68,9 +68,9 @@ public abstract class DBView extends DBRowSet
exprType= DataType.INTEGER;
this.dataType = exprType;
// Update Column
- this.updateColumn = expr.getUpdateColumn();
+ this.sourceColumn = expr.getSourceColumn();
// from update column
- this.size = (updateColumn!=null ? updateColumn.getSize() : size);
+ this.size = (sourceColumn!=null ? sourceColumn.getSize() : size);
// Add to view
if (view != null)
view.addColumn(this);
@@ -101,9 +101,9 @@ public abstract class DBView extends DBRowSet
@Override
public boolean isAutoGenerated()
{
- if (updateColumn==null)
+ if (sourceColumn==null)
return false;
- return updateColumn.isAutoGenerated();
+ return sourceColumn.isAutoGenerated();
}
@Override
@@ -112,8 +112,8 @@ public abstract class DBView extends DBRowSet
if (getView().isUpdateable()==false)
return true;
// Check ReadOnly attribute
- if (updateColumn!=null)
- return updateColumn.isReadOnly();
+ if (sourceColumn!=null)
+ return sourceColumn.isReadOnly();
// AUTOINC's are read only
return isAutoGenerated();
}
@@ -124,17 +124,17 @@ public abstract class DBView extends DBRowSet
if (getView().isUpdateable()==false)
return false;
// Check update Column
- if (updateColumn==null)
+ if (sourceColumn==null)
return false;
- return updateColumn.isRequired();
+ return sourceColumn.isRequired();
}
@Override
public Object validateValue(Object value)
{
- if (updateColumn==null)
+ if (sourceColumn==null)
return value;
- return updateColumn.validateValue(value);
+ return sourceColumn.validateValue(value);
}
@Override
@@ -143,9 +143,9 @@ public abstract class DBView extends DBRowSet
if (attributes != null && attributes.contains(name))
return attributes.get(name);
// Otherwise ask expression
- if (updateColumn==null)
+ if (sourceColumn==null)
return null;
- return updateColumn.getAttribute(name);
+ return sourceColumn.getAttribute(name);
}
@Override
@@ -154,9 +154,9 @@ public abstract class DBView extends DBRowSet
if (options != null)
return options;
// Otherwise ask expression
- if (updateColumn==null)
+ if (sourceColumn==null)
return null;
- return updateColumn.getOptions();
+ return sourceColumn.getOptions();
}
@Override
@@ -165,8 +165,8 @@ public abstract class DBView extends DBRowSet
Element elem = XMLUtil.addElement(parent, "column");
elem.setAttribute("name", name);
// set default attributes
- if (updateColumn != null)
- elem.setAttribute("source", updateColumn.getFullName());
+ if (sourceColumn != null)
+ elem.setAttribute("source", sourceColumn.getFullName());
// size
double size = getSize();
if (size > 0)
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAbstractFuncExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAbstractFuncExpr.java
index f00b632..ab02d2a 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAbstractFuncExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAbstractFuncExpr.java
@@ -114,6 +114,15 @@ public abstract class DBAbstractFuncExpr extends DBColumnExpr
}
/**
+ * Returns the expression the source column.
+ */
+ @Override
+ public DBColumn getSourceColumn()
+ {
+ return expr.getSourceColumn();
+ }
+
+ /**
* Returns the DBColunm object.
*
* @return the DBColunm object
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java
index e34ab90..d18ea02 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java
@@ -94,6 +94,15 @@ public class DBAliasExpr extends DBColumnExpr
}
/**
+ * Returns the expression the source column.
+ */
+ @Override
+ public DBColumn getSourceColumn()
+ {
+ return expr.getSourceColumn();
+ }
+
+ /**
* Returns the DBColunm object.
*
* @return the DBColunm object
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java
index e7e352d..b4d2af8 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java
@@ -123,6 +123,15 @@ public class DBCalcExpr extends DBColumnExpr
return parent;
}
+ /**
+ * Returns the expression the source column.
+ */
+ @Override
+ public DBColumn getSourceColumn()
+ {
+ return expr.getSourceColumn();
+ }
+
/** returns null */
@Override
public DBColumn getUpdateColumn()
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCaseExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCaseExpr.java
index b9287d1..ca29473 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCaseExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCaseExpr.java
@@ -76,6 +76,12 @@ public class DBCaseExpr extends DBColumnExpr
}
@Override
+ public DBColumn getSourceColumn()
+ {
+ return trueExpr.getUpdateColumn();
+ }
+
+ @Override
public DBColumn getUpdateColumn()
{
return trueExpr.getUpdateColumn();
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCaseWhenExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCaseWhenExpr.java
index 0de6bdf..1105b9f 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCaseWhenExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCaseWhenExpr.java
@@ -82,6 +82,13 @@ public class DBCaseWhenExpr extends DBColumnExpr
}
@Override
+ public DBColumn getSourceColumn()
+ {
+ DBColumnExpr cexp = getFirstColumnExpr();
+ return cexp.getSourceColumn();
+ }
+
+ @Override
public DBColumn getUpdateColumn()
{
return null;
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatExpr.java
index 26bdd83..4ea1db9 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatExpr.java
@@ -103,6 +103,12 @@ public class DBConcatExpr extends DBColumnExpr
}
@Override
+ public DBColumn getSourceColumn()
+ {
+ return left.getSourceColumn();
+ }
+
+ @Override
public DBColumn getUpdateColumn()
{
return null;
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCountExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCountExpr.java
index 267b8b8..d9998ab 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCountExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCountExpr.java
@@ -18,6 +18,9 @@
*/
package org.apache.empire.db.expr.column;
+import java.util.Set;
+
+import org.apache.empire.data.Column;
// Java
import org.apache.empire.data.DataType;
import org.apache.empire.db.DBColumn;
@@ -27,8 +30,6 @@ import org.apache.empire.db.DBRowSet;
import org.apache.empire.xml.XMLUtil;
import org.w3c.dom.Element;
-import java.util.Set;
-
/**
* This class is used to add the "count" statement to the SQL-Command.
@@ -108,6 +109,22 @@ public class DBCountExpr extends DBColumnExpr
}
/**
+ * Returns the expression the source column.
+ */
+ @Override
+ public DBColumn getSourceColumn()
+ {
+ if (column!=null)
+ return column.getSourceColumn();
+ // key cols
+ Column[] keyCols = rowset.getKeyColumns();
+ if (keyCols!=null)
+ return (DBColumn)keyCols[0].getSourceColumn();
+ // none
+ return null;
+ }
+
+ /**
* Returns null.
*
* @return null
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBScalarExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBScalarExpr.java
index 17ca6c5..f273554 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBScalarExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBScalarExpr.java
@@ -145,8 +145,16 @@ public class DBScalarExpr extends DBColumnExpr
}
/**
+ * Returns the expression the source column.
+ */
+ @Override
+ public DBColumn getSourceColumn()
+ {
+ return null;
+ }
+
+ /**
* Returns null.
- *
* @return null
*/
@Override
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBValueExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBValueExpr.java
index 460630a..420b9ce 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBValueExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBValueExpr.java
@@ -158,9 +158,16 @@ public class DBValueExpr extends DBColumnExpr
}
/**
- * Returns null.
- *
- * @return null
+ * Returns the expression the source column.
+ */
+ @Override
+ public DBColumn getSourceColumn()
+ {
+ return (column != null) ? column.getSourceColumn() : null;
+ }
+
+ /**
+ * Returns the expression the update column.
*/
@Override
public DBColumn getUpdateColumn()
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/compare/DBCompareColExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/compare/DBCompareColExpr.java
index 53da6d9..2e25765 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/compare/DBCompareColExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/compare/DBCompareColExpr.java
@@ -275,8 +275,8 @@ public class DBCompareColExpr extends DBCompareExpr
}
}
// finally check update columns
- DBColumn tcol = texpr.getUpdateColumn();
- DBColumn ocol = oexpr.getUpdateColumn();
+ DBColumn tcol = texpr.getSourceColumn();
+ DBColumn ocol = oexpr.getSourceColumn();
return (tcol!=null) ? (tcol.equals(ocol)) : false;
}
return false;
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/join/DBColumnJoinExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/join/DBColumnJoinExpr.java
index 2600895..49ef3ec 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/join/DBColumnJoinExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/join/DBColumnJoinExpr.java
@@ -85,7 +85,7 @@ public class DBColumnJoinExpr extends DBJoinExpr
@Override
public DBRowSet getLeftTable()
{
- DBColumn col = left.getUpdateColumn();
+ DBColumn col = left.getSourceColumn();
if (col==null)
throw new InvalidPropertyException("left", left);
return col.getRowSet();
@@ -97,7 +97,7 @@ public class DBColumnJoinExpr extends DBJoinExpr
@Override
public DBRowSet getRightTable()
{
- DBColumn col = right.getUpdateColumn();
+ DBColumn col = right.getSourceColumn();
if (col==null)
throw new InvalidPropertyException("right", right);
return col.getRowSet();
@@ -124,8 +124,8 @@ public class DBColumnJoinExpr extends DBJoinExpr
if (column==null)
return false;
// Check Update Columns
- if (column.equals(left.getUpdateColumn()) ||
- column.equals(right.getUpdateColumn()))
+ if (column.equals(left.getSourceColumn()) ||
+ column.equals(right.getSourceColumn()))
return true;
if (compExpr!=null)
{ // Check expression
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/order/DBOrderByExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/order/DBOrderByExpr.java
index c69def1..f1f05c8 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/order/DBOrderByExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/order/DBOrderByExpr.java
@@ -52,7 +52,7 @@ public class DBOrderByExpr extends DBExpr
public DBColumn getColumn()
{
- return expr.getUpdateColumn();
+ return expr.getSourceColumn();
}
public boolean isDescending()
diff --git a/empire-db/src/main/java/org/apache/empire/dbms/oracle/OracleRowNumExpr.java b/empire-db/src/main/java/org/apache/empire/dbms/oracle/OracleRowNumExpr.java
index af16813..a1bf91c 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/oracle/OracleRowNumExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/oracle/OracleRowNumExpr.java
@@ -96,7 +96,16 @@ public class OracleRowNumExpr extends DBColumnExpr
/**
* Returns null.
- *
+ * @return null
+ */
+ @Override
+ public DBColumn getSourceColumn()
+ {
+ return null;
+ }
+
+ /**
+ * Returns null.
* @return null
*/
@Override