[ https://issues.apache.org/jira/browse/HAWQ-850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15347527#comment-15347527 ]
ASF GitHub Bot commented on HAWQ-850: ------------------------------------- Github user wengyanqing commented on the issue: https://github.com/apache/incubator-hawq/pull/745 LGTM > Planner supports refineCachedPlan interface. > -------------------------------------------- > > Key: HAWQ-850 > URL: https://issues.apache.org/jira/browse/HAWQ-850 > Project: Apache HAWQ > Issue Type: Sub-task > Components: Core > Reporter: Hubert Zhang > Assignee: Hubert Zhang > > in PBE(prepare bind execution) cases, plan will be cached, and only be > generated once in postgres. > But in HAWQ since resource is dynamic or elastic, the plan maybe changed > during the different execution of PBE. Also, the file split allocation result > which is stored in plan is dynamically too, so the split-vseg mapping may > also be changed. > For example, We call a plpgsql function which do "insert into t select * from > t". > in Prepare we cache the plan, with fixed split-vseg mapping(e.g. 10 blocks), > but after insert, there would be 20 blocks so the old split-vseg mapping is > invalid. We need to update it. Also when we call this function again and > again, the data size of t may request more resource to handle it than the > first call, so we should recalculate the entire plan with the new vseg number. > This function is implemented in a interface called refineCachedPlan. -- This message was sent by Atlassian JIRA (v6.3.4#6332)