While upgrading to beta6-version (and also to latest -dev-version), I got the following message:
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table '.views_data_export_index_194' doesn't exist: SELECT COUNT(*) FROM {views_data_export_index_194}; Array ( ) in views_data_export_plugin_display_export->execute_initial() (line 264 of ..\plugins\views_data_export_plugin_display_export.inc).
Finally, i found out my main displays and VDE-displays are cached.
The solution was to disable the cache for the VDE-display. The main display can still have its cache.
Is there a way to avoid this error, or to disable the cache always?
Comment | File | Size | Author |
---|---|---|---|
#8 | views_data_export-1822916-no-cache--ever.patch | 876 bytes | Steven Jones |
#7 | views_data_export-1822916-no-cache--ever.patch | 876 bytes | Steven Jones |
#5 | views_data_export_1822916_5-cache-form.patch | 1.47 KB | johnv |
#3 | views_data_export-1822916-disable-caching-selection.patch | 953 bytes | Steven Jones |
Comments
Comment #1
johnvI think the following patch is to blame: #1606292: Share result-cache between displays with same results and different output . It makes the VDE-display to use the cache of the main display.
Steven, I don't think you can do anything for that, i'll just disable caching for now.
Comment #2
Steven Jones CreditAttribution: Steven Jones commentedYeah, we should try to stop people using caching on the data export displays until we know if they can handle them.
Comment #3
Steven Jones CreditAttribution: Steven Jones commentedHere's a patch that disables selecting a caching plugin in the UI.
Comment #4
Steven Jones CreditAttribution: Steven Jones commentedPatch committed to 7.x-3.x
Comment #5
johnvThanks for your quick reply.
The solution is not complete, however.
Suppose a View with 3 displays: the Master display, a Page display and a VDE-display.
1. without cache, all is well.
2. if user enables a cache 'for all displays' on Master or Page display, the VDE display generates the Error, with or without the patch #3.
3. So, user needs to disable the cache on VDE-display. He may disable this for 'all displays' (wrong) or for 'this display' (better).
Point 2. should be avoided, and is currently lacking. Attached patch generates a cleaner form, removing all illegal options.
IMO the best way would be to set the 'overridden none-cache' option at every new display, or even at every already-existing display.
Comment #6
Steven Jones CreditAttribution: Steven Jones commentedLame! All good points.
Comment #7
Steven Jones CreditAttribution: Steven Jones commentedThis is properly heavy handed: we force VDE displays to never support caching. Sorry that that isn't going to work for your use-case, and that you'll need to subclass the display to be able to use a cache plugin with the display, but I think we have to do this.
Comment #8
Steven Jones CreditAttribution: Steven Jones commentedThis is properly heavy handed: we force VDE displays to never support caching. Sorry that that isn't going to work for your use-case, and that you'll need to subclass the display to be able to use a cache plugin with the display, but I think we have to do this.
Comment #9
Steven Jones CreditAttribution: Steven Jones commentedI've decided that for now, that is the best solution.
Committed to 7.x-3.x.
Comment #10
johnvOK. Thanks.
Do you have more caching issues?
Comment #11
Steven Jones CreditAttribution: Steven Jones commentedWell not specifically, but I'm not sure how caching should work with a data export view really.
After the 'big refactor' we can revisit and see if we can incorporate some more caching in there somewhere.