Neil Conway <neilc@samurai.com> writes:
> I've attached the latest list rewrite patch (gzip'ed, against current
> sources). Unfortunately, the compatibility API we defined earlier wasn't
> that effective: it was more efficient for me to look at more or less
> every lfirst() call site in the backend and rewrite it as necessary than
> to just start up the backend and wait for things to break.
I'm surprised you did that much work and did not fix things to
distinguish ListCell * from List * ... we're gonna have to make
another pass over all these places to do that.
I wonder whether it wasn't a bad idea to define the compatibility API
to try to gloss over the type difference between ListCell* and List*.
I have a strong suspicion that some of the "remaining bugs" you mention
would be caught by enabling the compiler to complain about using one
pointer type where the other is needed.
> It seems we're mangling pstate->p_namespace in parse_relation.c somehow,
> but I haven't managed to figure out why yet (any suggestions welcome)
Odd, the p_namespace manipulations look straightforward enough. I
wonder if this could be a double-evaluation issue?
> I'm working hard to get this finished by the end of this week.
Offer of help is still open, if you want to try to divvy up the
remaining work. I really want to see this get in.
regards, tom lane