Re: select from a table having more than 32 fields: Quick Workaround
| От | Tom Lane |
|---|---|
| Тема | Re: select from a table having more than 32 fields: Quick Workaround |
| Дата | |
| Msg-id | 13059.982799767@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | select from a table having more than 32 fields: Quick Workaround ("Matteo Cavalleri" <theos@bp.lnf.it>) |
| Список | pgsql-odbc |
"Matteo Cavalleri" <theos@bp.lnf.it> writes:
> A select from a table having more than 32 fields fails during
> SQLDescribeCol on field # 33.
> In my opinion the driver try to allocate space for fields in blocks of
> 32 items as defined in FLD_INCR (parse.c) . The realloc() works
> well but for some reasons the fi pointer seems to get lost during
> SQLDescribeCol on column 1.
I think the bug is in lines 681-694 (of current CVS sources). Actually
there are a couple bugs there: first that the new fi value is not stored
back into stmt->fi (your complaint). Secondly, the calculation of
required space looks to me to have a bunch of errors, both fencepost
type (roundup of stmt->nfld to number of slots actually allocated is
wrong) and conceptual (roundup should be done on total number of slots
needed, not on parts of it). I have no way to test ODBC, though, so
I won't try to fix it.
regards, tom lane
В списке pgsql-odbc по дате отправления: