Skip to content
Snippets Groups Projects
  • Tom Lane's avatar
    9cbd0c15
    Remove the Query structure from the executor's API. This allows us to stop · 9cbd0c15
    Tom Lane authored
    storing mostly-redundant Query trees in prepared statements, portals, etc.
    To replace Query, a new node type called PlannedStmt is inserted by the
    planner at the top of a completed plan tree; this carries just the fields of
    Query that are still needed at runtime.  The statement lists kept in portals
    etc. now consist of intermixed PlannedStmt and bare utility-statement nodes
    --- no Query.  This incidentally allows us to remove some fields from Query
    and Plan nodes that shouldn't have been there in the first place.
    
    Still to do: simplify the execution-time range table; at the moment the
    range table passed to the executor still contains Query trees for subqueries.
    
    initdb forced due to change of stored rules.
    9cbd0c15
    History
    Remove the Query structure from the executor's API. This allows us to stop
    Tom Lane authored
    storing mostly-redundant Query trees in prepared statements, portals, etc.
    To replace Query, a new node type called PlannedStmt is inserted by the
    planner at the top of a completed plan tree; this carries just the fields of
    Query that are still needed at runtime.  The statement lists kept in portals
    etc. now consist of intermixed PlannedStmt and bare utility-statement nodes
    --- no Query.  This incidentally allows us to remove some fields from Query
    and Plan nodes that shouldn't have been there in the first place.
    
    Still to do: simplify the execution-time range table; at the moment the
    range table passed to the executor still contains Query trees for subqueries.
    
    initdb forced due to change of stored rules.