[TYPO3-core] length and usage of column "ident" of table "cash_hash"
Franz Holzinger
franz at fholzinger.com
Mon Jul 17 13:29:37 CEST 2006
Hello Martin,
>The problem in particular is the ident field. Some extension (eg
>automaketemplate) use the field. That is they fill it, but the don't use
>it. Otherwise it might have been noticed that a value of
>"tx_automaketemplate_pi1" will be truncated to "tx_automaketemplate_".
>
>
>
/**
* Stores a string value in the cache_hash table identified by $hash.
* Can be used from your frontend plugins if you like. You can call it directly like t3lib_pageSelect::storeHash()
*
* @param string 32 bit hash string (eg. a md5 hash of a serialized array identifying the data being stored)
* @param string The data string. If you want to store an array, then just serialize it first.
* @param string $ident is just a textual identification in order to inform about the content! May be 20 characters long.
* @return void
* @see tslib_TStemplate::start(), getHash()
*/
function storeHash($hash,$data,$ident) {
$insertFields = array(
'hash' => $hash,
'content' => $data,
'ident' => $ident,
'tstamp' => time()
);
>What to do now?
>
>We could enlarge the column (20 chars is not extremely) long. Nice but not
>really necessary.
>
>Or we could do a substr on the ident value (in the identical functions
>storeHash in t3lib_page and t3lib_befunc). This should not hurt any code
>that reads the ident as it has always been trimmed by mysql. But we could
>say it's up to the PHP developer to send correct data.
>
>
>
The string should only be touched when it is longer than 20 characters.
I think the function should return a false in this case and cut off the
first characters.
You can offer an additional function or parameter for a generation of
this string.
Greets,
Franz
More information about the TYPO3-team-core
mailing list