On Mon, Feb 02, 2004 at 09:27:46PM -0500, Tom Lane wrote: > Kurt Roeckx <[EMAIL PROTECTED]> writes: > > - if (memcmp(re_array[i].cre_pat, text_re, text_re_len) == 0 && > > + if (VARSIZE(re_array[i].cre_pat) == text_re_len && > > + memcmp(re_array[i].cre_pat, text_re, text_re_len) == 0 && > > This is not actually broken. The first four bytes of what memcmp is > comparing are the length, and so it'll fall out immediately anyway if > the lengths differ.
That assumes the memcmp starts from the first char and not from the last. If it starts from the last you have undefined behaviour. Kurt ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match