New component works fine on dev machine with MySQL.
Install same component on another machine with MariaDB.
Work the same on both MySQL and MariaDB.
On MariaDB get a 'Prepared statement needs to be re-prepared' error from one of the view models.
Looks like there is a history of this with MariaDB - see Google search results.
Looks like the problem caused by a SQL VIEW being accessing by the Joomla view model.
Restructured the Joomla view model to avoid using the SQL VIEW and works fine on MariaDB.
This is information maybe helpful if others encounter this.
Labels |
Removed:
?
|
Labels |
Added:
No Code Attached Yet
|
Title |
|
New component works fine on dev machine with MySQL.
Install same component on another machine with MariaDB.
So it's not a problem with the CMS core but with a 3rd party component?
i'm really curious to know what SQL standard statements fails on MariaDB and succed on MySQL
No... my curiosity was about what SQL standard query is not managed by core
only that
anyway we need start to think about MariaDB in a more "professional" way
If I use MariaDB, I always modify these settings:
Global Configuration/System/Session Handler -> Session = Filesystem instead of Database
The problem in my case encountered with component model using the getListQuery() method and building the query with the standard Joomla database query building methods.
The problem appeared to be with a join to SQL view which included a group by. The tables contained no data so at that point do not expect to have to MariaDB configuration / tuning.
Good point though that the table_definition_cache might be different between the systems - not checked!
As was stated before, I don't see how this is a core issue or what we could do here. Can we close this?
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2022-02-02 23:11:01 |
Closed_By | ⇒ | richard67 |
Closing as not an issue with the CMS core. See previous comments.
Ok to close.
[https://mariadb.com/kb/en/library/server-system-variables/#table_definition_cache]
SET GLOBAL table_definition_cache = 1024
I think running this in the MariaDB solved the problem.