I wrote:
> What I suggest is that we redefine previous_word() as returning an empty
> string, not NULL, anytime there is no such preceding word. This is
> better than the current behavior because (a) it's less surprising and
> (b) it's not ambiguous. Right now the caller can't tell the difference
> between "DROP" and "DROP DROP DROP".
> With that change, the correct test at line 795 would become
> else if (pg_strcasecmp(prev_wd, "DROP") == 0 &&
> prev2_wd[0] == '\0')
I've committed this --- please adjust the EXECUTE patch to match.
regards, tom lane