Index: java/engine/org/apache/derby/impl/sql/compile/VerifyAggregateExpressionsVisitor.java =================================================================== --- java/engine/org/apache/derby/impl/sql/compile/VerifyAggregateExpressionsVisitor.java (revision 648032) +++ java/engine/org/apache/derby/impl/sql/compile/VerifyAggregateExpressionsVisitor.java (working copy) @@ -119,15 +119,7 @@ SQLState.LANG_INVALID_NON_GROUPED_SELECT_LIST : SQLState.LANG_INVALID_GROUPED_SELECT_LIST); } - } else if (node instanceof JavaToSQLValueNode) - { - // disallow any expression which involves native java computation. - // Not possible to consider java expressions for equivalence. - throw StandardException.newException( (groupByList == null) ? - SQLState.LANG_INVALID_NON_GROUPED_SELECT_LIST : - SQLState.LANG_INVALID_GROUPED_SELECT_LIST); } - return node; } Index: java/engine/org/apache/derby/impl/sql/compile/GroupByList.java =================================================================== --- java/engine/org/apache/derby/impl/sql/compile/GroupByList.java (revision 648032) +++ java/engine/org/apache/derby/impl/sql/compile/GroupByList.java (working copy) @@ -215,6 +215,13 @@ */ numColsAddedHere++; } + if (groupingCol.getColumnExpression() instanceof JavaToSQLValueNode) + { + // disallow any expression which involves native java computation. + // Not possible to consider java expressions for equivalence. + throw StandardException.newException( + SQLState.LANG_INVALID_GROUPED_SELECT_LIST); + } } /* Verify that no subqueries got added to the dummy list */