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

Method parseLegacyPartitionBy

src/jrd/RecordSourceNodes.cpp:2269–2288  ·  view source on GitHub ↗

Parse PARTITION BY subclauses of window functions.

Source from the content-addressed store, hash-verified

2267
2268// Parse PARTITION BY subclauses of window functions.
2269void WindowSourceNode::parseLegacyPartitionBy(thread_db* tdbb, CompilerScratch* csb)
2270{
2271 SET_TDBB(tdbb);
2272
2273 SSHORT context;
2274 Window& window = windows.add();
2275 window.stream = PAR_context(csb, &context);
2276
2277 const UCHAR count = csb->csb_blr_reader.getByte();
2278
2279 if (count != 0)
2280 {
2281 window.group = PAR_sort_internal(tdbb, csb, false, count);
2282 window.regroup = PAR_sort_internal(tdbb, csb, false, count);
2283 }
2284
2285 window.order = PAR_sort(tdbb, csb, blr_sort, true);
2286 window.map = parseMap(tdbb, csb, window.stream, true);
2287 window.frameExtent = WindowClause::FrameExtent::createDefault(*tdbb->getDefaultPool());
2288}
2289
2290// Parse frame subclauses of window functions.
2291void WindowSourceNode::parseWindow(thread_db* tdbb, CompilerScratch* csb)

Callers 1

parseMethod · 0.80

Calls 8

SET_TDBBFunction · 0.85
PAR_contextFunction · 0.85
PAR_sort_internalFunction · 0.85
PAR_sortFunction · 0.85
parseMapFunction · 0.85
addMethod · 0.45
getByteMethod · 0.45
getDefaultPoolMethod · 0.45

Tested by

no test coverage detected