Cdbschema->Findtablenames() Not Part Of Schemacachingduration

Even with CDbConnection->schemaCachingDuration, Yii does not cache the CDbSchema->findTableNames() call.

This shows up as this with MySQL:


system.db.CDbCommand.query(SHOW TABLES)

And this in Sqlite:


system.db.CDbCommand.query(SELECT DISTINCT tbl_name FROM sqlite_master WHERE tbl_name<>'sqlite_sequence')

On every page.

Is there a good reason that it’s not being cached, or is it an oversight?

Have you enabled the cache component? Can you post your entire config file here?

Yes, the cache is working fine. I’m using CFileCache on the production server, and CApcCache on the development server. It’s caching everything, including the database schema, EXCEPT for the findTableNames() call.

You should be able to reproduce this bug fairly easily.