Hi all,


How to fetch certain number of tuples from a postgres table.



Same I am doing in oracle using following lines by setting prefetch attribute.



For oracle
// Prepare query
    if( OCIStmtPrepare( myOciStatement, myOciError, (text *)aSqlStatement,
// Get statement type
 OCIAttrGet( (void *)myOciStatement, OCI_HTYPE_STMT, &statement_type, 0, 
OCI_ATTR_STMT_TYPE, myOciError );
// Set prefetch count
  OCIAttrSet( myOciStatement, OCI_HTYPE_STMT, &prefetch, 0, 
OCI_ATTR_PREFETCH_ROWS, myOciError );
// Execute query
status = OCIStmtExecute( myOciServerCtx, myOciStatement, myOciError, iters, 0, 
NULL, NULL, OCI_DEFAULT );


For Postgres



Can you please tell us how set this prefetch attribute in following lines. Is 
PQexec returns all the rows from the table?


mySqlResultsPG = PQexec(connection, aSqlStatement);
if((PQresultStatus(mySqlResultsPG) == PGRES_FATAL_ERROR ) || 
(PQstatus(connection) != CONNECTION_OK)){}
if ((PQresultStatus(mySqlResultsPG) == PGRES_COMMAND_OK) || 
(PQresultStatus(mySqlResultsPG) == PGRES_TUPLES_OK))
    {
        myNumColumns = PQnfields(mySqlResultsPG);
        myTotalNumberOfRowsInQueryResult = PQntuples(mySqlResultsPG);
        myCurrentRowNum = 0 ;
    }



Regards

Tarkeshwar

Reply via email to