Re: ODBC query problem

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: ODBC query problem
Дата
Msg-id 25217.1058391139@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: ODBC query problem  (Luis Magaña <joe666@gnovus.com>)
Ответы Re: ODBC query problem  (Luis Magaña <joe666@gnovus.com>)
Список pgsql-general
Luis =?ISO-8859-1?Q?Maga=F1a?= <joe666@gnovus.com> writes:
> I've moved the database to a third location in the same disk using
> pg_dumpall, the new location works with no errors, the initdb was made
> without localization.

> The production db was inited with es_MX locale, may that has something
> to do with the problem ?.

Yeah, according to recent reports from Maksim Likharev, there are some
bugs in Solaris' locale libraries.  It appears that strxfrm() will
sometimes write more bytes than it is supposed to, thereby clobbering
nearby data structures.  The critical code is in
src/backend/utils/adt/selfuncs.c, around line 2360 in 7.3.3:

        /* Guess that transformed string is not much bigger than original */
        xfrmsize = strlen(val) + 32;    /* arbitrary pad value here... */
        xfrmstr = (char *) palloc(xfrmsize);
        xfrmlen = strxfrm(xfrmstr, val, xfrmsize);
        if (xfrmlen >= xfrmsize)
        {
            /* Oops, didn't make it */
            pfree(xfrmstr);
            xfrmstr = (char *) palloc(xfrmlen + 1);
            xfrmlen = strxfrm(xfrmstr, val, xfrmlen + 1);
        }

We've been debating what to do to work around this bug.  I'd suggest
changing
        xfrmstr = (char *) palloc(xfrmsize);
to
        xfrmstr = (char *) palloc(xfrmsize + 32);
so that there is more free space available than we tell strxfrm about.
Perhaps also change
            xfrmstr = (char *) palloc(xfrmlen + 1);
to
            xfrmstr = (char *) palloc(xfrmlen + 1 + 32);
(although in theory that one should not be needed...)

If that doesn't improve matters, try 100 extra bytes instead of 32.
Please let us know how it goes.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: nolan@celery.tssi.com
Дата:
Сообщение: Re: Anyone used pgHoster.com?
Следующее
От: Dmitry Tkach
Дата:
Сообщение: Re: Postgresql "FIFO" Tables, How-To ?