Affects versions 1.3.5 and above

For people that are using database caching, if the serialized session variable reaches 64Kb then the constants collapse throughout the site. This is commonly presented as a SQL error with something allong the lines of

error: check your sql syntax where EXPECTED_SORT_ORDER

this collapsed constant is not predictable as it depends on how zencart is configured and which constants are looked for first. The main cause is installing many shipping and payment modules so that the stored session variable is over 65k, which is leading to people saying "something's wrong with your module". Commonly the first time the site is visited, nothing will go wrong as the data is pulled from the database and then stored in the cache, the second time when the data is retrieved from the cache the site collapses.

The fix: The database db_cache should be created with the column cache_data as a mediumblob not as a blob for future version of zencart.

Current users of zencart can either change to to file based sessions or can upgrade their database manually by using the query

ALTER TABLE db_cache CHANGE COLUMN cache_data cache_data MEDIUMBLOB

This query should be run through either a mysql console or phpmyadmin. It should also be included in the upgrades from version 1.3.5 upwards.

Philip.