[OpenSER-Devel] TEXT vs BLOB data in database modules
Henning Westerholt
henning.westerholt at 1und1.de
Fri Apr 18 12:46:08 CEST 2008
Hi all,
i reviewed for bug #1940022 the BLOB and TEXT handling in the postgres and
mysql modules. At the moment there is a mismatch in the handling of this both
datatypes the database modules.
The db_mysql module uses a DB_BLOB result type for TEXT fields, db_postgres
DB_STRING. This breaks the cpl-c module for postgres, as its wants the data
in DB_BLOB format, but defines the colums as TEXT. The same issue exists for
db_unixodbc and db_oracle, and affect probably other (non-db) modules.
So what is the correct way of dealing with this?
1. treat TEXT, CLOB as DB_STRING
- review all modules that uses TEXT if they really need to store binary data
- use BLOB in database if true, otherwise change them to use DB_STRING as type
- change database modules to use only this scheme
- will probably break some modules during the change
2. treat TEXT, CLOB as DB_BLOB
- change database modules to use only this scheme
- will probably not break that much, as mysql uses this the moment
(Affected tables: cpl.xml, pr_active_watchers.xml, pr_pua.xml,
rls_watchers.xml, silo.xml, sip_trace.xml)
Any opinions?
Henning
More information about the Devel
mailing list