AKSW / Erfurt

PHP5 / Zend based Semantic Web API for Social Semantic Software

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Invalidation of Object & Query Cache results in a warning

white-gecko opened this issue · comments

When I select Object & Query Cache from the debug menu I get the following Warning (I'm using cache.backend.type = "database"):

( ! ) Warning: odbc_exec(): SQL error: [unixODBC][OpenLink][Virtuoso iODBC Driver][Virtuoso Server]SQ200: No table ef_cache_query_result, SQL state S0002 in SQLExecDirect in /home/…/public_html/OntoWiki/libraries/Erfurt/library/Erfurt/Store/Adapter/Virtuoso.php on line 1061
Call Stack
#   Time    Memory  Function    Location
1   0.0000  237920  {main}( )   ../index.php:0
2   4.3227  4303800 Zend_Application->run( )    ../index.php:188
3   4.3227  4303920 Zend_Application_Bootstrap_Bootstrap->run( )    ../Application.php:366
4   4.3228  4305776 Zend_Controller_Front->dispatch( )  ../Bootstrap.php:97
5   4.3256  4345760 Zend_Controller_Plugin_Broker->routeShutdown( ) ../Front.php:923
6   4.3257  4347104 OntoWiki_Controller_Plugin_SetupHelper->routeShutdown( )    ../Broker.php:260
7   4.3260  4347784 Erfurt_Store->getModel( )   ../SetupHelper.php:57
8   4.3260  4347832 Erfurt_Store->isModelAvailable( )   ../Store.php:810
9   4.3260  4347880 Erfurt_Store->_checkAc( )   ../Store.php:1130
10  4.3261  4348800 Erfurt_Ac_Default->isModelAllowed( )    ../Store.php:1813
11  4.3276  4355472 Erfurt_Ac_Default->_getUserModelRights( )   ../Default.php:285
12  4.3277  4366424 Erfurt_Ac_Default->_sparql( )   ../Default.php:551
13  4.3277  4367552 Erfurt_Store->sparqlQuery( )    ../Default.php:719
14  4.3281  4368984 Erfurt_Store->_prepareQuery( )  ../Store.php:1408
15  4.3291  4380536 Erfurt_Store->getImportsClosure( )  ../Store.php:1316
16  4.3291  4380768 Erfurt_Store->_getImportsClosure( ) ../Store.php:748
17  4.3291  4381016 Erfurt_Store_Adapter_Virtuoso->getImportsClosure( ) ../Store.php:770
18  4.3296  4417984 Erfurt_Cache_Frontend_QueryCache->load( )   ../Virtuoso.php:918
19  4.3297  4418208 Erfurt_Cache_Backend_QueryCache_Database->load( )   ../QueryCache.php:112
20  4.3297  4418648 Erfurt_Cache_Backend_QueryCache_Database->_query( ) ../Database.php:231
21  4.3297  4418792 Erfurt_Store->sqlQuery( )   ../Database.php:846
22  4.3297  4418840 Erfurt_Store_Adapter_Virtuoso->sqlQuery( )  ../Store.php:1503
23  4.3297  4419128 Erfurt_Store_Adapter_Virtuoso->_execSql( )  ../Virtuoso.php:777
24  4.3298  4419176 odbc_exec ( )   ../Virtuoso.php:1061

Yes that is right.
To prevent to much queries the existence of the cache will be checked if an error occurs. Because such a misleading query will not be handled as an exception from PHP. I will create a workaround.

OK, error occured becaus of changes in the Virtuoso Adapter _execSQL function. i fixed that .. so the error / warning should not occur anymore

In which commit/branch did you fix this it still occures on my develop.