| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | "Matteo Cavalleri" <theos(at)bp(dot)lnf(dot)it> |
| Cc: | pgsql-odbc(at)postgresql(dot)org |
| Subject: | Re: select from a table having more than 32 fields: Quick Workaround |
| Date: | 2001-02-21 23:56:07 |
| Message-ID: | 13059.982799767@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-odbc |
"Matteo Cavalleri" <theos(at)bp(dot)lnf(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Hiroshi Inoue | 2001-02-22 03:51:21 | Re: select from a table having more than 32 fields: Quick Workaround |
| Previous Message | Matteo Cavalleri | 2001-02-21 15:49:48 | select from a table having more than 32 fields: Quick Workaround |