Hi, About the 0002-patch [Check for volatile defaults].
I wonder if we can check the volatile default value by traversing "query->targetList" in planner. IMO, the column default expression was written into the targetList, and the current parallel-safety check travere the "query->targetList" to determine whether it contains unsafe column default expression. Like: standard_planner-> query_tree_walker if (walker((Node *) query->targetList, context)) return true; May be we can do the similar thing to check the volatile defaults, if so, we do not need to add a field to TargetEntry. Best regards, houzj