[Flow] Does Oracle work with Flow?

Peter Russ peter.russ at 4many.net
Tue Jun 4 19:58:21 CEST 2013


--- Original Nachricht ---
Absender:   Qbus | Axel Wüstemann
Datum:       03.06.2013 22:46:
> Am 31.05.2013 22:03, schrieb Mathias Schreiber:
>> Qbus | Axel Wüstemann schrieb:
>>> ORA-00972: identifier is too long
>>>
>>> It seems, that the by flow generated table name is too long.
>>>
>>> Is there a solution for it?
>>
>> You can hint the "real" table name via an ORM annotation in the "main"
>> comment of the model class.
>> @ORM\Table(name="tsf_studio") did the trick for me on SQL Server
>>
>
> This does not help, because the error comes with the typo3 flow party
> domain:
>
>   typo3_party_domain_model_perso_dcb6c_electronicaddresses_join
>
> Is the a place where I can set the length for oracle tables in doctrine?

Oracle limits the length for tables to 30 characters.

This is set correctly in Doctrine\DBAL\Platforms\OraclePlatform.

Due to the hash you see that Flow tries to limit the length for the 
prefix to 30 characters.

So what's going here?
as the prefix('typo3_party_domain_model_person') and 
suffix('_electronicaddresses_join') is > 30 Flow tries to reduce it:

strlen(prefix) = 31
strlen(suffix) = 25

Mhh.... ;-)

Now try to calculate this:
$identifier = substr($identifier, 0, $lengthLimit - 6) . '_' . 
substr(sha1($hashSource !== NULL ? $hashSource : $identifier), 0, 5);

You see?

30 - 25 = 5, This will go into the method, but 5 - 6 = -1

And voila: instead of truncating the name it is extended.

Please feel free to report a major bug.

Peter.






-- 
Fiat lux! Docendo discimus.
_____________________________
uon GbR

http://www.uon.li
http://www.xing.com/profile/Peter_Russ



More information about the Flow mailing list