Re: odbc_num_rows fails when HAVE_SQL_EXTENDED_FETCH is commented out

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If HAVE_SQL_EXTENDED_FETCH is defined, then the odbc ext will use the
ODBC API function SQLExtendedFetch instead of SQLFetch to retrieve
records. SQLExtendedFetch is only necessary if a forward-only cursor is
not being used.  In the case of the odbc ext, it uses a dynamic cursor if
HAVE_SQL_EXTENDED_FETCH is defined.  The problem is that dynamic cursors
have the worst performance, while forward-only cursors have the best
performance.  However, forward-only cursors do not allow you to
predetermine the number of rows. This is why you are getting -1 from
odbc_num_rows().  A static cursor should have been used instead of a
dynamic cursor.  While it is not faster than forward-only, it is faster
than dynamic, and still allows you to get a row count.

-- bob

On Thu, 26 Aug 2004, Mahmut Eren wrote:

> Hi,
> I'm using php-4.3.3 on mandrake Linux. I had a performance problem accessing to DB2 databases on As400 systems. When I searched the internet I found out that commenting out '#define HAVE_SQL_EXTENDED_FETCH 1' lines from php_odbc_includes.h file could solve the problem. I edited the file and recompiled php; the result was a much better performance. But this time odbc_num_rows() statement fails and always returns -1. How can I solve this problem? Any suggestions?
> Thanks in advance
> Mahmut Eren
>
> ==========================================================-
> Bu e-posta sadece yukarida isimleri belirtilen kisiler arasinda özel haberlesme amacini tasimaktadir. Size yanlislikla ulasmissa lütfen gönderen kisiyi bilgilendiriniz ve mesaji sisteminizden siliniz. Turkiye Cumhuriyet Merkez Bankasi A.S. bu mesajin icerigi ile ilgili olarak hicbir hukuksal sorumlulugu kabul etmez.
>
> This e-mail communication is intended for the private use of the people named above. If you received this message in error, please immediately notify the sender and delete it from your system. The Central Bank of The Republic of Turkey does not accept legal responsibility for the contents of this message.
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux