Re: How to properly use TRIM()?

From: Igor Korot <ikorot01(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Rob Sargent <robjsargent(at)gmail(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: How to properly use TRIM()?
Date: 2026-03-07 21:46:42
Message-ID: CA+FnnTwqP_-RcQSRCUMc4gpYk8ofNV11MJ_S2rYCpWhe3CPTmA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi, Adrian,

On Sat, Mar 7, 2026 at 3:29 PM Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> wrote:
>
> On 3/7/26 12:46 PM, Igor Korot wrote:
> > Hi, David,
> >
> > On Sat, Mar 7, 2026 at 12:03 PM David G. Johnston
> > <david(dot)g(dot)johnston(at)gmail(dot)com <mailto:david(dot)g(dot)johnston(at)gmail(dot)com>> wrote:
> >
> > On Sat, Mar 7, 2026 at 12:58 PM Igor Korot <ikorot01(at)gmail(dot)com
> > <mailto:ikorot01(at)gmail(dot)com>> wrote:
> >
> > So I started looking for a way to return SQL_NO_DATA
> > on that 4th column...
> >
> >
> > Doesn't "No Data" refer to the result set as a whole, not individual
> > columns? I'd assume NULL is detected some other way.
> >
> >
> > No, I think it’s column based.
>
> 1) My knowledge of ODBC is limited.
>
> 2) This:
>
> https://learn.microsoft.com/en-us/sql/odbc/reference/develop-app/return-codes-odbc?view=sql-server-ver17
>
> "SQL_NO_DATA No more data was available. The application calls
> SQLGetDiagRec or SQLGetDiagField to retrieve additional information. One
> or more driver-defined status records in class 02xxx may be returned.
> Note: In ODBC 2.x, this return code was named SQL_NO_DATA_FOUND."
>
> would seem to indicate that David Johnston is correct:

From the SQLGetData() ODBC documentation
(https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/sqlgetdata-function?view=sql-server-ver17)

[quote]
When it returns the last part of the data, SQLGetData returns
SQL_SUCCESS. Neither SQL_NO_TOTAL nor zero can be returned on the last
valid call to retrieve data from a column, because the application
would then have no way of knowing how much of the data in the
application buffer is valid. If SQLGetData is called after this, it
returns SQL_NO_DATA. For more information, see the next section,
"Retrieving Data with SQLGetData."
[/quote]

However it looks like the driver does not behave as expected.

It keeps returning SQL_SUCCESS continuously...

Or am I misinterpreting the docs?

Thank you.

>
> 'Doesn't "No Data" refer to the result set as a whole, not individual
> columns? I'd assume NULL is detected some other way.'
>
> > The call to SQLGetData() returns data in one column.
> >
> > And as stated it successfully retrieves empty array for column 3 and
> > moves on.
> >
> > Thank you.
> >
> >
> > David J.
> >
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2026-03-07 22:26:35 Re: How to properly use TRIM()?
Previous Message Adrian Klaver 2026-03-07 21:29:07 Re: How to properly use TRIM()?