Subject | BUG: Non-ascii characters in user name makes GBAK restore fail |
---|---|
Author | steinnorheim |
Post date | 2003-10-09T17:30:50Z |
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
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