Thanks Tom and Gavin for your comments!
Yes, this patch is generated against 8.2 in a short time. As long as the
code is working, I post the patch to get some comments and help.
>> * The xlog routines need help; they seem to not be updated for recent
>> changes in the API for xlog recovery code.
> Yep. The patch was actually against 8.1 and was hastily brought up to 8.2.
> I think Jie's intention was to simply let everyone know that this was
> going on.
Thanks for pointing this out. I didn't notice that these are changed in 8.2.
>> * The hacks on vacuum.c (where it tests the AM name) are utterly
>> unacceptable. If you need the main code to do something special for a
>> particular index AM, define a bool flag column for it in pg_am.
>> * The interface to the existing executor bitmap scan code is mighty
>> messy --- seems like there's a lot of almost duplicate code, a lot
>> of rather invasive hacking, etc. This needs to be rethought and
> I agree.
I will think about this more.
>> * Why in the world is it introducing duplicate copies of a lot
>> of btree comparison functions? Use the ones that are there.
> Yes, I raised this with Jie and she has fixed it. One thought is, we may
> want to rename those comparison functions prefixed with 'bm' to make their
> naming less confusing. They'll be used by btree, gin and bitmap index
> methods. Anyway, a seperate patch.
Yeah, the main problem I hesitated to use btree's comparison functions
because of those function names starting with 'bt'. Since Gavin told me that
Gin is using those functions as well, I had changed them. Renaming them
would be good.
>> * The patch itself is a mess: it introduces .orig and .rej files,
>> changes around $PostgreSQL$ lines, etc.
> Right, not to mention patches to configure and a lot of style which needs
> to be knocked into shape.
The way I generate a patch is kind of clumsy. I need to find a better way to
I will start fixing these.
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?