MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / genMap

Method genMap

src/jrd/RecordSourceNodes.cpp:1701–1719  ·  view source on GitHub ↗

Generate a value map for a record selection expression.

Source from the content-addressed store, hash-verified

1699
1700// Generate a value map for a record selection expression.
1701void 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
1721AggregateSourceNode* AggregateSourceNode::copy(thread_db* tdbb, NodeCopier& copier) const
1722{

Callers

nothing calls this directly

Calls 3

GEN_exprFunction · 0.85
appendUCharMethod · 0.80
appendUShortMethod · 0.80

Tested by

no test coverage detected