While I haven't tried this patch, I tried to break the version 11 of the
patch (some of the work was against earlier versions). In total I have
used a full work day just trying to break things, but haven't been able
to find anything after version 8. I can verify that the partial index
issue is fixed, and the count(*) performance is a lot better now.
One thing I have been thinking about is how does predicate locking
indexes work when using functional indexes and functions marked as
immutable but which really aren't. I don't know how predicate locking
indexes works, so it might be that this is a non-issue. I haven't been
able to break anything in this way, and even if I could, this is
probably something that doesn't need anything else than a warning that
if you label your index functions immutable when they aren't,
serializable transactions might not work.
On 01/15/2011 01:54 AM, Kevin Grittner wrote:
> The index types other than btree don't have fine-grained support,
> which I don't think is a fatal defect, but it would be nice to
> implement. I may be able to get GiST working again this weekend in
> addition to the documentation work. The others might not get done
> for 9.1 unless someone who knows their way around the guts of those
> AMs can give us some advice soon
I wonder if there are people using GiST and GIN indexes and serializable
transactions. When upgrading to 9.1 and if there is no backwards
compatibility GUC this could be a problem... The amount of users in this
category is probably very low anyways, so maybe this is not an issue
worth worrying about.
- Anssi