Skip site navigation (1) Skip section navigation (2)

SQLGetTypeInfo does not return COLUMN_SIZE

From: "Martin J(dot) Evans" <bohica(at)ntlworld(dot)com>
To: pgsql-odbc(at)postgresql(dot)org
Subject: SQLGetTypeInfo does not return COLUMN_SIZE
Date: 2013-10-04 17:01:09
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-odbc
I may have discovered an issue with the postgres ODBC Driver.

Postgres ODBC Driver version:
perl -MDBI -le 'my $h = DBI->connect; print $h->get_info(7);'

Platform: Linux, Ubuntu

I maintain Perl DBD::ODBC and the test suite shows a problem because when calling SQLGetTypeInfo some types return

'CREATE_PARAMS' => 'max. length'

but then the COLUMN_SIZE is missing. e.g.:

$VAR1 = {
           'UNSIGNED_ATTRIBUTE' => undef,
           'MAXIMUM_SCALE' => undef,
           'INTERVAL_PRECISION' => '0',
           'CREATE_PARAMS' => 'max. length',
           'NUM_PREC_RADIX' => undef,
           'PRECISION' => 255,
           'SEARCHABLE' => '3',
           'MONEY' => '0',
           'AUTO_INCREMENT' => undef,
           'LOCAL_TYPE_NAME' => undef,
           'LITERAL_PREFIX' => '\'',
           'MINIMUM_SCALE' => undef,
           'TYPE_NAME' => 'varchar',
           'NULLABLE' => '1',
           'DATA_TYPE' => 12,
           'SQL_DATA_TYPE' => '12',
           'LITERAL_SUFFIX' => '\'',
           'CASE_SENSITIVE' => '1',
           'SQL_DATETIME_SUB' => undef

See where COLUMN_SIZE was introduced in ODBC 2 (decades ago) and should exist in the columns returned. Without it, the application cannot know what to put in varchar (size_here) after a column in a create table.

I've put in a special case for now to work around this problem but it issues a warning too. If you need anything further from me please let me know.



pgsql-odbc by date

Next:From: Michael PaquierDate: 2013-10-28 08:10:46
Subject: Code not compiling since 19d5486 due to concatenate operators in macros
Previous:From: Heikki LinnakangasDate: 2013-10-03 07:13:12
Subject: Re: Fwd: pgsql - ODBC Config.html document

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group