> These are handled differently by OTRS - for
> databases other than MySQL, OTRS stores them in BASE64 encoding. The
> conversion can be done with Postgres using encode(column, 'base64').

I'd rather see MySQL use base64 too. All the world isn't Intel-based, and at 
least base64 is not ambiguous what the byte values really are. 

> My question is: Why do the other databases use character objects for all the
> LONGBLOBs including those that really contain binary data, so that for these
> databases, a BASE64 encoding is necessary, which costs performance when
> encoding and decoding and 33% more storage? Wouldn't it be much better
> and easier if OTRS used BLOBs consistently across all databases for the binary
> columns, and TEXT for the other large columns?

It would make it much more difficult to move data cross-platform. Try setting 
up a OTRS install on a Linux on POWER big-endian machine and moving the 
database from your Intel system. Those binary blobs are a royal pain. The 
base64 columns move perfectly and without any action on the admin's part.

> Also, would it be possible to use BYTEA in PostgreSQL instead of TEXT for the
> binary data columns, changing the database scheme accordingly and setting
> the DB::DirectBlob flag to 1 so that OTRS stops BASE64 encoding these
> columns?

Are you storing attachments in the database? If so, you might consider changing 
that. Most of the big blobs are related to that, and the non-existence of those 
big opaque blobs in the database makes this issue a lot less relevant (to the 
point of being almost not measurable). (in fact, I think that should be the 
default...)
---------------------------------------------------------------------
OTRS mailing list: otrs - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs

Reply via email to