| 97 | } |
| 98 | |
| 99 | AggNode* AggNode::dsqlPass(DsqlCompilerScratch* dsqlScratch) |
| 100 | { |
| 101 | if (dsqlScratch->isPsql()) |
| 102 | { |
| 103 | ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) << |
| 104 | Arg::Gds(isc_dsql_command_err)); |
| 105 | } |
| 106 | |
| 107 | if (!(dsqlScratch->inSelectList || dsqlScratch->inWhereClause || dsqlScratch->inGroupByClause || |
| 108 | dsqlScratch->inHavingClause || dsqlScratch->inOrderByClause)) |
| 109 | { |
| 110 | // not part of a select list, where clause, group by clause, |
| 111 | // having clause, or order by clause |
| 112 | ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) << |
| 113 | Arg::Gds(isc_dsql_agg_ref_err)); |
| 114 | } |
| 115 | |
| 116 | return dsqlCopy(dsqlScratch); |
| 117 | } |
| 118 | |
| 119 | string AggNode::internalPrint(NodePrinter& printer) const |
| 120 | { |