It has already been noted that in upgrading MySQL Connector from version 5.1.38 to 6.0.5 you need to recreate all your datasources that used the old version. But that’s not what this post is about.
After upgrading the Connector I noted strange errors while installing Mura (see the Mura Google group https://groups.google.com/forum/#!topic/mura-cms-developers/jE8HtjwfZVQ).
Apparently the new Connector driver renders the CFDBINFO tag useless. So I set up some tests to demonstrate the problem.
This is my code:
<h3>Version</h3> <cfdbinfo name="rsCheck" type="version" datasource="mura1"> <cfdump var="#rsCheck#" /> <h3>Tables</h3> <cfdbinfo name="rsCheck" type="tables" datasource="mura1" pattern="%"> <cfdump var="#rsCheck#" />
In both tests datasource mura1 is created in Lucee Web Administrator as a MySQL database that points to the mura database.
Test 1: Old driver 5.1.38
Test 2: New driver 6.0.5
Test 1 shows what you might expect (hell I can only post one image). But in test 2 using the new driver I get table data from all databases that the db user has access to, not only the ones that the datasource points to. Furthermore using the new driver the ‘pattern’ attribute is mandatory because of the connection property “nullNamePatternMatchesAll” having its default value changed from true to false as of version 6 of the connector.
Providing a default value for pattern (e.g."%") is not so bad, but metadata being exposed of all databases is no good thing to say the least.
I am using Lucee 126.96.36.199 on Centos7 and MySQL 5.7.19-0ubuntu0.16.04.1 through an ssh tunnel.
Anyone else noticed this strange behaviour? For now I downgraded to connector 5.1.38.
Thanks for your attention!