Karel Zak <[EMAIL PROTECTED]> writes:
> On Fri, 2005-03-25 at 03:29 -0500, Tom Lane wrote:
>> I intend to look at that tomorrow.  Meanwhile, have you got a fix
>> for bug#1500?
>> http://archives.postgresql.org/pgsql-bugs/2005-02/msg00226.php

> Sorry. Not yet. I haven't time today. Maybe next week :-(

I looked at this and found the problem is that dch_date() isn't
defending itself against the possibility that tm->tm_mon is zero,
as it well might be for an interval.  What do you think about
just adding

        case DCH_MONTH:
+           if (!tm->tm_mon)
+               return 0;
            strcpy(workbuff, months_full[tm->tm_mon - 1]);
            sprintf(inout, "%*s", S_FM(suf) ? 0 : -9, str_toupper(workbuff));
            if (S_FM(suf))
                return strlen(p_inout) - 1;
            else
                return 8;

and similarly in each of the other case arms that use tm_mon?
This would case "MON" to convert to a null string for intervals,
which is probably as good as we can do.

                        regards, tom lane

---------------------------(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

Reply via email to