Generate a value map for a record selection expression.
| 1699 | |
| 1700 | // Generate a value map for a record selection expression. |
| 1701 | void AggregateSourceNode::genMap(DsqlCompilerScratch* dsqlScratch, UCHAR blrVerb, dsql_map* map) |
| 1702 | { |
| 1703 | USHORT count = 0; |
| 1704 | |
| 1705 | for (dsql_map* temp = map; temp; temp = temp->map_next) |
| 1706 | ++count; |
| 1707 | |
| 1708 | //if (count >= STREAM_MAP_LENGTH) // not sure if the same limit applies |
| 1709 | // ERR_post(Arg::Gds(isc_too_many_contexts)); // maybe there's better msg. |
| 1710 | |
| 1711 | dsqlScratch->appendUChar(blrVerb); |
| 1712 | dsqlScratch->appendUShort(count); |
| 1713 | |
| 1714 | for (dsql_map* temp = map; temp; temp = temp->map_next) |
| 1715 | { |
| 1716 | dsqlScratch->appendUShort(temp->map_position); |
| 1717 | GEN_expr(dsqlScratch, temp->map_node); |
| 1718 | } |
| 1719 | } |
| 1720 | |
| 1721 | AggregateSourceNode* AggregateSourceNode::copy(thread_db* tdbb, NodeCopier& copier) const |
| 1722 | { |
nothing calls this directly
no test coverage detected