Hi Henson, Jian, >> In src/include/nodes/execnodes.h, we're adding quite a few fields to >> WindowAggState that are only used for RPR queries. >> Should we consolidate these fields behind a single pointer (named >> RPRContext) to keep the WindowAggState size smaller for non-RPR >> queries? > > The size win is real -- it's roughly 450-500 bytes per WindowAggState > that every non-RPR window query carries today. But it takes a wide > code change to get there: it reshapes every RPR access path, a > sizable (if mostly mechanical) diff across nodeWindowAgg.c, > execRPR.c, and the explain side. > > Tatsuo, as co-author -- do you want this in v48? If you do, I'll > prepare the RPRContext consolidation as an incremental patch for you to > fold into v48. It isn't blocking either way.
Basically I think Jian's idea is good. In addition to the size reason above, we would have less code changes when we adapt existing R020 codes to R010. However it will need a wide code change as Henson said. I would like to focus on stabilizing our code for now. Therefore I would not want the refactoring in v48. Regards, -- Tatsuo Ishii SRA OSS K.K. English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp
