Invalidation of Object & Query Cache results in a warning
white-gecko opened this issue · comments
Natanael Arndt commented
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
Michael Martin commented
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.
Michael Martin commented
OK, error occured becaus of changes in the Virtuoso Adapter _execSQL function. i fixed that .. so the error / warning should not occur anymore
Natanael Arndt commented
In which commit/branch did you fix this it still occures on my develop.
Michael Martin commented
Natanael Arndt commented
thx