@Override public boolean visitEnter(FunctionParseNode node) throws SQLException { // TODO: Oracle supports nested aggregate function while other DBs don't. Should we? if (node.isAggregate()) { if (aggregateFunction != null) { throw new SQLFeatureNotSupportedException("Nested aggregate functions are not supported"); } this.aggregateFunction = node; this.isAggregate = true; } return true; }
@Override public boolean visitEnter(FunctionParseNode node) throws SQLException { boolean isAggregate = node.isAggregate(); this.hasNoAggregateFunctions = this.hasNoAggregateFunctions && !isAggregate; return !isAggregate && super.visitEnter(node); }
@Override public boolean visitEnter(FunctionParseNode node) throws SQLException { // TODO: Oracle supports nested aggregate function while other DBs don't. Should we? if (node.isAggregate()) { if (aggregateFunction != null) { throw new SQLFeatureNotSupportedException("Nested aggregate functions are not supported"); } this.aggregateFunction = node; this.isAggregate = true; } return true; }
@Override public boolean visitEnter(FunctionParseNode node) throws SQLException { // TODO: Oracle supports nested aggregate function while other DBs don't. Should we? if (node.isAggregate()) { if (aggregateFunction != null) { throw new SQLFeatureNotSupportedException("Nested aggregate functions are not supported"); } this.aggregateFunction = node; this.isAggregate = true; } return true; }
@Override public boolean visitEnter(FunctionParseNode node) throws SQLException { boolean isAggregate = node.isAggregate(); this.hasNoAggregateFunctions = this.hasNoAggregateFunctions && !isAggregate; return !isAggregate && super.visitEnter(node); }
@Override public boolean visitEnter(FunctionParseNode node) throws SQLException { boolean isAggregate = node.isAggregate(); this.hasNoAggregateFunctions = this.hasNoAggregateFunctions && !isAggregate; return !isAggregate && super.visitEnter(node); }
FunctionParseNode f = wg==null ? factory.function(field, l) : factory.function(field,l,l2,a!=null); if (!contextStack.isEmpty()) { contextStack.peek().setAggregate(f.isAggregate()); contextStack.peek().setAggregate(f.isAggregate()); FunctionParseNode f = factory.functionDistinct(field, l); if (!contextStack.isEmpty()) { contextStack.peek().setAggregate(f.isAggregate());
FunctionParseNode f = wg==null ? factory.function(field, l) : factory.function(field,l,l2,a!=null); if (!contextStack.isEmpty()) { contextStack.peek().setAggregate(f.isAggregate()); contextStack.peek().setAggregate(f.isAggregate()); FunctionParseNode f = factory.functionDistinct(field, l); if (!contextStack.isEmpty()) { contextStack.peek().setAggregate(f.isAggregate());
FunctionParseNode f = wg==null ? factory.function(field, l) : factory.function(field,l,l2,a!=null); if (!contextStack.isEmpty()) { contextStack.peek().setAggregate(f.isAggregate()); contextStack.peek().setAggregate(f.isAggregate()); FunctionParseNode f = factory.functionDistinct(field, l); if (!contextStack.isEmpty()) { contextStack.peek().setAggregate(f.isAggregate());