Re: [PATCH] Keeps tracking the uniqueness with UniqueKey
От | Heikki Linnakangas |
---|---|
Тема | Re: [PATCH] Keeps tracking the uniqueness with UniqueKey |
Дата | |
Msg-id | 0e4ecefb-17b2-fbe1-7c3e-e7d68a744b9b@iki.fi обсуждение исходный текст |
Ответ на | Re: [PATCH] Keeps tracking the uniqueness with UniqueKey (Andy Fan <zhihui.fan1213@gmail.com>) |
Ответы |
Re: [PATCH] Keeps tracking the uniqueness with UniqueKey
|
Список | pgsql-hackers |
On 26/11/2020 16:58, Andy Fan wrote: > This patch has stopped moving for a while, any suggestion about > how to move on is appreciated. The question on whether UniqueKey.exprs should be a list of EquivalenceClasses or PathKeys is unresolved. I don't have an opinion on that, but I'd suggest that you pick one or the other and just go with it. If it turns out to be a bad choice, then we'll change it. Quickly looking at the patches, there's one thing I think no one's mentioned yet, but looks really ugly to me: > + /* Make sure the path->parent point to current joinrel, can't update it in-place. */ > + foreach(lc, outer_rel->pathlist) > + { > + Size sz = size_of_path(lfirst(lc)); > + Path *path = palloc(sz); > + memcpy(path, lfirst(lc), sz); > + path->parent = joinrel; > + add_path(joinrel, path); > + } Copying a Path and modifying it like that is not good, there's got to be a better way to do this. Perhaps wrap the original Paths in ProjectionPaths, where the ProjectionPath's parent is the joinrel and dummypp=true. - Heikki
В списке pgsql-hackers по дате отправления: