View Issue Details

IDProjectCategoryView StatusLast Update
0005948OXID eShop (all versions)4.01. Database handlingpublic2014-12-05 10:20
ReporterStanislav Saric Assigned To 
PriorityhighSeverityminorReproducibilityalways
Status closedResolutionno change required 
PlatformAn 
Product Version4.7.3 / 5.0.3 revision 54408 
Summary0005948: DB : column type BLOB for oxconfig.oxvarvalue is not sufficient in some productive scenarios
DescriptionWe have a real-life customer, who has more than 50 Modules (thirdparty plus individual ones) loaded for shopid=1 - quite a customized Shop. We have observed, that with this module-setup the config value "aModuleFiles" would require more than 65536 Bytes. We had to change oxconfig.oxvarvalue to MEDIUMBLOB to make sure, that the serialized array is saved to the DB.

The effect of this limitation is fatal for the shop. If you try to activate another module (the one, which will cause to exceed 64KB in aModuleFiles), oxid will save an empty string into aModuleFiles. As a result the entire frontend will most likely no longer work, as a SystemCompoenent "Class not found" Exception will be thrown for ANY ClassFile that is supposed to extend some Class from aModules configparam.

In my opinion it is necessary to change oxconfig.oxvarvalue to MEDIUMBLOB by default.

Greetings
Stanislav Saric
norisk GmbH
Steps To ReproduceMake sure you install + activate a sufficient amount of modules. If the amount is high enough (this depends on the complexity of each metadata.php of course) aModuleFiles configparam will be set to empty string in DB.
TagsNo tags attached.
ThemeAll
BrowserAll
PHP Version5.3
Database Version5.5

Relationships

duplicate of 0006164 resolvedanton.fedurtsya max size of BLOB for oxconfig.oxvarvalue can be exceeded 

Activities

Linas Kukulskis

2014-12-05 10:19

reporter   ~0010380

this situation if a lot files in module is not usual situation. so to change column type in core code is not necessary. change it in your project. But in near future we have plans to improve this place to avoid such kind of limitations.