Re: psqlODBC text length with no records

From: Barry Bell <Barry(dot)Bell(at)hartehanks(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, Hiroshi Saito <hiroshi(at)winpg(dot)jp>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, "Hiroshi Inoue" <inoue(at)tpf(dot)co(dot)jp>
Cc: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, Anna Gershnik <agershnik(at)tableausoftware(dot)com>, "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: psqlODBC text length with no records
Date: 2014-05-14 14:42:36
Message-ID: 5471c0f731f5413a91c73ea34703a7f0@BY2PR08MB281.namprd08.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Currently, the setting B0=254 on the ODBC driver will,
If the string(text) length is 1-254 characters. returns a "varchar"
If the string(text) length is over 254 characters. returns a "text"
If the string(text) length is 0 (or null), it return a "text"(Anyway to change this part?)

The driver settings(B0,Unkown size, unkown type, seem to only apply when data is returned,
If no records are returned (with a length of 0 or null), it returns text, no which settings.

Barry Bell
Senior Developer/Analyst
Logistics
Harte Hanks
1525 NW 3rd ST
Deerfield Beach FL, 33442
954-429-3771 Ext 267 office
954-281-1464 fax

hartehanks.com / linkedin / twitter / facebook

-----Original Message-----
From: Adrian Klaver [mailto:adrian(dot)klaver(at)aklaver(dot)com]
Sent: Wednesday, May 14, 2014 9:50 AM
To: Barry Bell; Hiroshi Saito; Michael Paquier; Hiroshi Inoue
Cc: Heikki Linnakangas; Anna Gershnik; pgsql-odbc(at)postgresql(dot)org
Subject: Re: [ODBC] psqlODBC text length with no records

On 05/14/2014 06:31 AM, Barry Bell wrote:
> I am referring the output of the odbc driver from SQL statement:
> SELECT initcap('ABCDEF')::varchar vv FROM dual WHERE 1=0
>
> You link only show the date type in postgres and I am asking about the driver output.

This is what you asked:

"You said the initcap function return "text", Is this a "short" text like a varchar Or a long text like a clob,memo etc?"

and I answered that question.

> Are you using this statement with the ODBC driver?

No, as I said previously I do not have an ODBC set up available at the moment.

> (Output from the ODBC driver may be different format then for pg admin etc).
>
> SELECT initcap('ABCDEF')::varchar vv FROM dual WHERE 1=0 I am
> expending a "character varying" or "varchar" output from the sql
> statement But the I getting the postgres "text"
> If the SQL is changed to return records, SELECT
> initcap('ABCDEF')::varchar vv FROM dual The output is varchar
>
> So
> SELECT initcap('ABCDEF')::varchar vv FROM dual Works, returns varchar
> So the issues is with:
> SELECT initcap('ABCDEF')::varchar vv FROM dual WHERE 1=0 Returning
> "text", sqllongvar a different type then above, Does not change with
> any unknownsize or datetype setting in ODBC driver.

As I recall this is eventually ending up in a VFP application. So where are you actually seeing the different behavior, in the app or somewhere before the app?

>
> Barry Bell

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message Adrian Klaver 2014-05-14 15:27:09 Re: psqlODBC text length with no records
Previous Message Barry Bell 2014-05-14 14:29:48 Re: psqlODBC text length with no records