Command "ISQL -X" can not extract ROLE name when use multi-byte charset for 
connection (4.x only is affected)
-------------------------------------------------------------------------------------------------------------

                 Key: CORE-6211
                 URL: http://tracker.firebirdsql.org/browse/CORE-6211
             Project: Firebird Core
          Issue Type: Bug
          Components: Charsets/Collation, Engine
    Affects Versions: 4.0 Beta 1
            Reporter: Pavel Zotov


Steps to reproduce:
1) Create following script (correct path and name of test DB to your env.):
=======
set bail on;
set names utf8;
shell del c:\temp\tmp4test.fdb 2>nul;
create database 'localhost:c:\temp\tmp4test.fdb' user 'SYSDBA'  password 
'masterkey'; -- default character set utf8;
create role fo;
commit;
set heading off;
select 'Completed.' from rdb$database;
show version;
=======

2)  Apply it:
======
C:\FBTESTING\qa\fbt-repo\tmp>C:\FB\40SS\isql -q -i test-role-utf8.sql

Completed.

ISQL Version: WI-T4.0.0.1694 Firebird 4.0 Beta 1
Server version:
Firebird/Windows/AMD/Intel/x64 (access method), version "WI-T4.0.0.1694 
Firebird 4.0 Beta 1"
Firebird/Windows/AMD/Intel/x64 (remote server), version "WI-T4.0.0.1694 
Firebird 4.0 Beta 1/tcp (Image-PC1)/P16"
Firebird/Windows/AMD/Intel/x64 (remote interface), version "WI-T4.0.0.1694 
Firebird 4.0 Beta 1/tcp (Image-PC1)/P16"
on disk structure version 13.0
======

3) Try to extract metadata:

3.1) without specifying charset for connect:  
C:\FB\40SS\isql -x localhost:c:\temp\tmp4test.fdb

Output:
---------
SET SQL DIALECT 3;
. . .
CREATE ROLE FO;

(i.e. all fine)

3.2) with specifying single-byte charset. I use win1251: 
C:\FB\40SS\isql -x -ch win1251 localhost:c:\temp\tmp4test.fdb

Output: the same, all fine.
---------

3.3) with specifying UTF8: 
C:\FB\40SS\isql -x -ch utf8 localhost:c:\temp\tmp4test.fdb

Output:
---------

SET SQL DIALECT 3;

/* CREATE DATABASE 'localhost:c:\temp\tmp4test.fdb' PAGE_SIZE 8192 DEFAULT 
CHARACTER SET NONE; */


COMMIT WORK;

/* Grant roles for this database */

/* Role: FO, Owner: SYSDBA */
CREATE ROLE FOStatement failed, SQLSTATE = 22001
arithmetic exception, numeric overflow, or string truncation
-string right truncation
-expected length 2, actual 8
;

No such error on WI-V3.0.5.33217.

PS.
Note: i intentionally did not use non-ascii role name (though when use it the 
error the same).


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to