Watch, Follow, &
Connect with Us

Please visit our new home

Public Report
Report From: InterBase/Server    [ Add a report in this area ]  
Report #:  119645   Status: Reported
CHAR type ill-handled in UTF8 database
Project:  InterBase Build #:
Version:    9.0 Submitted By:   Jacek Komorowski
Report Type:  Basic functionality failure Date Reported:  10/10/2013 4:02:56 AM
Severity:    Serious / Highly visible problem Last Updated: 11/7/2013 9:05:44 AM
Platform:    32 Bit Internal Tracking #:  
Resolution: None  Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
I have a stored procedure (SP) in an UTF8 database.
SP has unique input parameter "A" declared as CHAR(1), and two output parameters: 1st "L" declared as INTEGER and 2nd "CC" declared as CHAR(2).
SP is very simple, it returns L=STRLEN(A) and CC=A||'/'; STRLEN is decared as Ib_udf_strlen provided in Ib_udf.dll.

I expect that execution of SP('A') will return: L=1 and CC='A/'.
The attached test case (written in Delphi 5) shows quite different result, namely: L=4 and CC='A /'; three blanks separate 'A' and '/'.

Since the test case uses IBProvider I've submitted it already to the IBProvider forum
to check whether the issue isn't due to IBProvider. Their opinion seems to be that it's due to IB bug (?).
Steps to Reproduce:
Execute IBUG.EXE included in the attachment IBUG.ZIP

The whole content of IBUG.ZIP should be un-zipped into a single folder to have IBUG.EXE and IBUG.IB on the same path.


Server Response from: ETNACODE01