Subject BUG: Non-ascii characters in user name makes GBAK restore fail
Author steinnorheim
Hi, everybody!

I recently noticed (even though in a slightly more complicated
situation...) that the following SQL statements create a database
which after a backup cannot be restored again:

create database '192.168.0.1:test5.gdb' default character set
ISO8859_1;
create role adminuser;
grant adminuser to "örjan";
commit;

The gbak restore fails with the error message:

gbak: ERROR: arithmetic exception, numeric overflow, or string
truncation
gbak: ERROR: Cannot transliterate character between character sets
gbak: Exiting before completion due to errors

Of course the error here comes from having granted the role
"adminuser" to a user called "örjan" whose user name contains the
non-English letter ö.

Firebird, as far as I know, doesn't support these characters anyway in
the user names, so I think it would be better if it gave an error
message already when someone tried to grant the role to a user with an
illegal name.

I have found this bug in Firebird 1.0.0 on win32 and in Firebird 1.0.2
on Linux, and guess that it also exists in Interbase 6.x.

I haven't found any information about this elsewhere, so I thought
that I should let people know about it.

with best regards

Stein