"Andrew - Supernews" <[EMAIL PROTECTED]> writes: > The places in the intarray code that you tried to "fix" in your patch at > the start of this thread are not dealing with data that came from a tuple, > but from data that came from a decompress method. It's expected that the > decompress method does the detoasting. > > So I think you've mis-analyzed the problem. That's especially true since > you are claiming that the existing code is already buggy when in fact no > such bugs have been reported (and clearly intarray has been running with > toasted array values for years).
I'm not claiming, I'm asking, because I can't tell. And it's not clear _int_gist.c has been running with toasted array values for years because it's limited to arrays of 100 integers (or perhaps 200 integers, there's a factor of 2 in the test). That's not enough to trigger toasting unless there are other large columns in the same table. I do know that with packed varlenas I get a crash in g_int_union among other places. I can't tell where the datum came from originally and how it ended up stored in packed format. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend