Thread

  1. Re: Row pattern recognition

    Tatsuo Ishii <ishii@postgresql.org> — 2026-05-31T00:11:19Z

    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