Re: [PORTS] FPE on Alpha in Select with PKEY

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [PORTS] FPE on Alpha in Select with PKEY
Дата
Msg-id 199903070323.WAA10337@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: [PORTS] FPE on Alpha in Select with PKEY  (Adriaan Joubert <a.joubert@albourne.com>)
Список pgsql-ports
Yes.  I have an idea.  Did you add a column to the table using ALTER
TABLE.  There was a bug in 6.4.* and earlier that caused this to happend
for added columns.  Do a vacuum analyze on the table and the problem
will go away.  Will be fixed in the next release.


> Further to the above: the error occurs on line 136 of the file
> src/backend/optimizer/path/orindxpath.c
>
> >   136    clausenode->selectivity = (Cost) floatVal(selecs);
>
>
>
> floatVal is a macro
>
> #define floatVal(v)             (((Value *)v)->val.dval)
>
> where value is
>
> typedef struct Value
> {
>         NodeTag         type;                   /* tag appropriately
> (eg. T_String) */
>         union ValUnion
>         {
>                 char       *str;                /* string */
>                 long            ival;
>                 double          dval;
>         }                       val;
> } Value;
>
> The variable selecs is of type list, i.e.
>
> typedef struct List
> {
>         NodeTag         type;
>         union
>         {
>                 void       *ptr_value;
>                 int                     int_value;
>         }                       elem;
>         struct List *next;
> } List;
>
>
> The variable selecs is filled in in the routine best_or_subclause_index
> in orindxpath.c, where the value that is read via the floatVal macro is
> assigned from a float (called selec as well). So this seems wrong
> anyway.
>
> Unfortunately casting ptr_value to float gives garbage as well:
>
> (ladebug) p *(double*)selecs->elem.ptr_value
> 2.48515019858147e-321
> (ladebug) p *(float*)selecs->elem.ptr_value
> 1.3342e-312
>
>
> Any ideas?
>
> Adriaan
>
>


--
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

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

Предыдущее
От: Unprivileged user
Дата:
Сообщение: Port Bug Report: Memory Leak in postgres
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [PORTS] RE: How about a Windows NT port of PostgreSQL