> Zhou Han wrote:
>
> There's a missmatch in the following functions:
>
> Int4
> PGtype_precision(StatementClass *stmt, Int4 type, int col, int
> handle_unknown_size_as)
> {
>
> switch (type)
> {
>
> case PG_TYPE_CHAR:
> return 1;
> ...
>
> }
>
> char *
> pgtype_create_params(StatementClass *stmt, Int4 type)
> {
> switch (type)
> {
> case PG_TYPE_CHAR:
> case PG_TYPE_VARCHAR:return "max. length";
> default:
> return NULL;
> }
> }
>
> "case PG_TYPE_CHAR" should be changed to "case PG_TYPE_BPCHAR", or
> there will be a error when use SQLGetTypeInfo. Because the precision
> of PG_TYPE_CHAR is 1, it should return NULL in function
> "pgtype_create_params" instead of "max. length"!!!
>
> What do you think?
You seem to be right.
I would change PG_TYPE_CHAR to PG_TYPE_BPCHAR.
Thanks for your report.
Hiroshi Inoue
http://w2422.nsk.ne.jp/~inoue/