Firebird ICU/binary compatibility

Michael Meeks michael.meeks at
Mon Jun 24 03:33:30 PDT 2013

On Mon, 2013-06-24 at 11:30 +0200, Lionel Elie Mamane wrote:
> Wrt to section 3.2 Compilation:
>  In indices on text-based columns (CHAR/VARCHAR), Firebird uses ICU to
>  get binary-comparable sequences (collations). These collations may be
>  different in different ICU versions.

	Fun :-)

> This seems like a recipe for disaster to me. Our
> downstream distributors *will*, it at all possible, force system
> firebird and system ICU (e.g. Debian has a very strong policy on that

	Sure sure - all sorts of distros will force that 'optimisation'
regardless of the consequences and without understanding the issue, and
we collectively will get to hold the can & field the horrible user
complaints :-)

> When opening an embedded-firebird .odb file, detect whether the
> indices are built with an incompatible / other ICU version, and then
> just automatically (silently?) rebuild them. I hope we can detect the
> situation automatically.

	I love that solution. Sure we take a performance hit left & right &
center, but - we save hassle for everyone in the long run I think. I
guess it's a matter of using unicode/uversion.h's slightly odd binary
version foo.

	I imagine we have a similar issue around the 2.5 -> 3.0 version upgrade
where we will want to prompt the user (?) presumably not silently -
upgrade the database format, or mark it read-only. Of course, prompting
the user is some last-refuge of desperation, but - at least having some
strong versioning in the .odb from day one, such that we can at least
warn users with old software: "this database is incompatible and was
written by a newer version, please upgrade" or whatever would be rather



michael.meeks at  <><, Pseudo Engineer, itinerant idiot

More information about the LibreOffice mailing list