Hi Henning, I think option 2 will be better, mainly because we have 2 different data types - BLOB cannot be 100% mapped over string as BLOB was specifically design for: 1) large amount of data (not suitable for STRING) 2) data containing any kind of chars/bytes (not suitable for STRING, like \0)
For BLOB processing, most of the database libs provide specific function to escape, un-escape data when comes to BLOB, and such code already exists in openser. Also, this will maintain some consistency at the data level and avoid mixing them (and create confusion). Regards, Bogdan Henning Westerholt wrote: > 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 > > _______________________________________________ > Devel mailing list > Devel@lists.openser.org > http://lists.openser.org/cgi-bin/mailman/listinfo/devel > > _______________________________________________ Devel mailing list Devel@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/devel