Hi Norman,
thanks for your reply. I am using Mac OS X 10.7.2 (Darwin macbook-
pro.local 11.2.0 Darwin Kernel Version 11.2.0: Tue Aug 9 20:54:00
PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64) with stock PHP
5.3.6 built against iODBC. I have attached the odbc trace log. The
query in question seems to start at line 26287.
I think the problem is the fact that by default PHP-ODBC uses a cursor
and virtuoso fails to detect that your query is a SPARUL query that
might not lent itself to a cursor model.
When you are using the SPARQL_EVAL stored procedure, Virtuoso lowers
the cursor model automatically which is why this work.
Could you edit your php.ini and find the [ODBC] section and set:
[ODBC]
odbc.default_cursortype = 0
and test again.
I will be checking the code to see exactly what is going on and make a
patch when possible, but cursor_type 0 (forward only) or using the
SPARQL_EVAL method should be a good workaround for the moment.
Patrick
---
OpenLink Software