| From: | Igor Korot <ikorot01(at)gmail(dot)com> |
|---|---|
| To: | PostgreSQL ODBC list <pgsql-odbc(at)postgresql(dot)org> |
| Subject: | How to properly perform this? |
| Date: | 2026-03-07 06:09:40 |
| Message-ID: | CA+FnnTx+VJi6o9Y8HHUxb89REdNOxBtz1AVkbvM=TGMF_xa=oA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-odbc |
Hi, ALL,
I'm trying to execute following query:
draft=# SELECT c.relname AS name, ixs.tablespace, ARRAY(SELECT
a.attname FROM pg_attribute a WHERE a.attrelid = idx.indrelid AND
a.attnum = ANY(idx.indkey) AND a.attnum > 0 ORDER BY
array_position(idx.indkey, a.attnum) OFFSET idx.indnkeyatts) AS
included, c.reloptions AS storage FROM pg_index idx, pg_class c,
pg_namespace n, pg_class t, pg_indexes ixs WHERE ixs.indexname =
c.relname AND c.oid = idx.indexrelid AND t.oid = idx.indrelid AND
n.oid = c.relnamespace AND idx.indisprimary AND n.nspname = 'public'
AND t.relname = 'leagues';
name | tablespace | included | storage
--------------+------------+----------+---------
leagues_pkey | | {} |
(1 row)
My code is as follows:
while( ( ret = SQLGetData( m_hstmt, 4, SQL_C_WCHAR,
index_param.get(), 255, &ind[3] ) ) != SQL_NO_DATA )
{
if( ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO )
{
auto numBytes = ind[3];
if( ind[3] == SQL_NO_TOTAL )
numBytes = 255;
else if( ind[3] > 255 )
numBytes = 255;
str_to_uc_cpy( options, index_param.get() );
}
else
{
GetErrorMessage( errorMsg, STMT_ERROR );
result = 1;
}
}
Unfortunately it goes into the loop because apparently the driver or
the server keeps seeing the last column as having data and returns
SQL_SUCCESS.
What is the proper way to resolve this?
I'm using unixODBC with PostgreSQL 16.
My odbc.ini looks like this:
[code]
[postgres]
Driver=Postgres
Description=Postgres ODBC Driver
UserId=postgres
Password=XXX
Servername=localhost
Database=draft
Port=5432
[/code]
What is the best way to proceed?
Thank you.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dave Cramer | 2026-03-07 11:40:43 | Re: How to properly perform this? |
| Previous Message | Dusten Scheere | 2025-12-18 20:59:41 | Re: ODBC Release Schedule |