On Tue, 2025-12-16 at 21:49 -0800, Igor Korot wrote:
> I just tried the following code:
>
> [code]
> std::wstring query1 = L"SELECT t.table_catalog AS catalog,
> t.table_schema AS schema, t.table_name AS table, u.usename AS owner,
> c.oid AS table_id FROM information_schema.tables t,
> pg_catalog.pg_class c, pg_catalog.pg_user u WHERE t.table_name =
> c.relname AND c.relowner = usesysid AND (t.table_type = 'BASE TABLE'
> OR t.table_type = 'VIEW' OR t.table_type = 'LOCAL TEMPORARY') ORDER BY
> table_name;";
> res = PQexec( m_db, m_pimpl->m_myconv.to_bytes( query1.c_str()
> ).c_str() );
> for( int i = 0; i < PQntuples( res ); i++ )
> {
> some code handling the results
> }
> [/code]
>
> The loop is executed exactly 1 time.
>
> My question is - according to the comment above I don't have to use cursor,
> but it looks like it's unavoidable?
I see no cursor in your example...
Yours,
Laurenz Albe