Skip to content

Improve ICU version mismatch diagnostics #7169

@dyemanov

Description

@dyemanov

While connecting to a database copied from a different machine, I get error:

COLLATION UNICODE_CI for CHARACTER SET UTF8 is not installed

which does not offer any hint what is actually wrong. After looking at firebird.log, I see:

Wed Apr 13 18:52:20 2022
	loadICU failed

Wed Apr 13 18:52:20 2022
	initUnicodeCollation failed - UnicodeUtil::Utf16Collation::create failed

Given that I surely have ICU installed, this at least suggests that ICU version could be a problem. And yes, the problem disappears after gfix -icu. However, it would be more user-friendly if:

  1. The log contains something like "expected ICU version X, encountered Y", or "ICU version X is not found" or something like this, mentioning that a particular version is not found.
  2. The same ICU loading error is added as a secondary code to the status vector, so that the user could understand what's wrong without digging into the server log.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions