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...
That is my question.
The code shows cursor but the comment indicate that the cursor is not required.
So do I have to use it? And if not - how to get the results?