Issue Details (XML | Word | Printable)

Key: CORE-4604
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Adriano dos Santos Fernandes
Reporter: Nickolay Ponomarev
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Firebird Core

EXECUTE STATEMENT rise varchar char_length() size

Created: 11/Nov/14 01:24 PM   Updated: 25/Sep/15 01:16 PM
Component/s: Engine
Affects Version/s: 3.0 Alpha 2, 2.5.3, 3.0 Beta 1
Fix Version/s: 2.5.4, 3.0 Beta 2

Environment: Windows 7 Professional, IBExpert
Issue Links:
Duplicate
 
Relate
 

QA Status: Done successfully
Test Details: Wrong results confirmed on WI-T3.0.0.31374.


 Description  « Hide
Same UUID have different size between and after select in execute statement. Base locale: UTF8. With WIN1251 all OK.

Code:

execute block returns (tmp_res varchar(38), str_size integer)
as
declare variable tmp_guid varchar(38);
declare variable tmp_sqltext varchar(300);
begin
  tmp_guid = uuid_to_char(gen_uuid());
  tmp_res = tmp_guid;
  str_size = char_length(tmp_guid);
  suspend;
  tmp_sqltext = 'select ''' || tmp_guid || ''' from rdb$database';
  execute statement (:TMP_SQLTEXT) into :tmp_guid;
  tmp_res = tmp_guid;
  str_size = char_length(tmp_guid);
  suspend;
end

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Dmitry Yemanov added a comment - 11/Nov/14 01:42 PM
What was the connection charset?

Nickolay Ponomarev added a comment - 11/Nov/14 01:48 PM
UTF8 for UTF8 base, WIN1251 for WIN1251 base.

Adriano dos Santos Fernandes added a comment - 11/Nov/14 01:51 PM
I can reproduce in 2.5 with UTF-8.

Adriano dos Santos Fernandes added a comment - 11/Nov/14 03:27 PM
Problem also happens in 3.0 with external data source.