Issue Details (XML | Word | Printable)

Key: CORE-4759
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Alexander Muylaert-Gelein
Votes: 0
Watchers: 3
Operations

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

request synchronization error when build expression index

Created: 20/Apr/15 03:57 PM   Updated: 23/Sep/15 11:34 AM
Component/s: None
Affects Version/s: 2.5.4
Fix Version/s: 3.0 Beta 2, 2.5.5

File Attachments: 1. File FAST.7z (4.73 MB)

Environment: Windows 64 bit running 2.5.4 32 bit

QA Status: Cannot be tested
Test Details:
Could not reproduce on:
1) official 2.5.3, WI-V2.5.3.26780, issued 03-dec-2014;
2) official 2.5.4, WI-V2.5.4.26856, issued 27-mar-2015.

Both attempts look like this:
===
isql.exe localhost/3254:C:\FBTESTING\qa\fbt-repo\tmp\FAST\C4759.FDB -ch utf8 -nod
Database: localhost/3254:C:\FBTESTING\qa\fbt-repo\tmp\FAST\C4759.FDB
SQL> show version;
ISQL Version: WI-V2.5.4.26856 Firebird 2.5
Server version:
Firebird/x86/Windows NT (access method), version "WI-V2.5.4.26856 Firebird 2.5"
. . .
SQL> CREATE UNIQUE INDEX UNQ_PRC_PR_PRLN_ID ON T_PRICE COMPUTED BY(cast(F_DPK_ID as varchar(20)) || cast(F_PRC_KIND as char(1)) || '|' || coalesce(cast(F_PR_ID as varchar(20)), '$') || '|' || coalesce(cast(F_PRLN_ID as varchar(20)), '$'));
SQL> -- no error here --
SQL> commit;
SQL> show index UNQ_PRC_PR_PRLN_ID;
UNQ_PRC_PR_PRLN_ID UNIQUE INDEX ON T_PRICE COMPUTED BY (cast(F_DPK_ID as varchar(20)) || cast(F_PRC_KIND as char(1)) || '|' || coalesce(cast(F_PR_ID as varchar(20)), '$') || '|' || coalesce(cast(F_PRLN_ID as varchar(20)), '$'))
===

According to http://sourceforge.net/p/firebird/code/60824, patch to CORE-4671 was committed 2015-mar-04 10:37, so one need to have some 'intermediate' build of FB for reproducing.

BTW: some UDf missing ? Restore finishes with:
===
gbak: ERROR:function CLEAN_NUMBER is not defined
===


 Description  « Hide
Hi

I'm getting request synchronization error when I'm trying to place an unique index on a database.
I have it reproducible in a database, but I need to attach a zipped fbk of 15mb.

I have it during following ddl statement

CREATE UNIQUE INDEX UNQ_PRC_PR_PRLN_ID ON T_PRICE COMPUTED BY(cast(F_DPK_ID as varchar(20)) || cast(F_PRC_KIND as char(1)) || '|' || coalesce(cast(F_PR_ID as varchar(20)), '$') || '|' || coalesce(cast(F_PRLN_ID as varchar(20)), '$'));


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexander Muylaert-Gelein added a comment - 20/Apr/15 04:27 PM
Restore under 2.5.4, I have a 32-bit under an Windows 7-64 bit machine

Following statement results in an request synchronization error.

CREATE UNIQUE INDEX UNQ_PRC_PR_PRLN_ID ON T_PRICE COMPUTED BY(cast(F_DPK_ID as varchar(20)) || cast(F_PRC_KIND as char(1)) || '|' || coalesce(cast(F_PR_ID as varchar(20)), '$') || '|' || coalesce(cast(F_PRLN_ID as varchar(20)), '$'));

Adriano dos Santos Fernandes added a comment - 20/Apr/15 06:06 PM
Isn't due to DBSTARTTRANSACTION trigger?

I tried with isql -nod and it worked.

Dmitry Yemanov added a comment - 20/Apr/15 06:15 PM
I could not reproduce the error with an embedded connect (CS on Linux).

Vlad Khorsun added a comment - 21/Apr/15 11:02 AM
The bug was introduced with additional patch for CORE-4671

Alexander Muylaert-Gelein added a comment - 21/Apr/15 12:10 PM
Hi

To summarize, this is a know issue that is resolved in 2.5.5.
I can spend more time on making it reproducable if desired, but if it is already solved, no point in doing that.

thanks

Alexander

Vlad Khorsun added a comment - 21/Apr/15 12:50 PM
Alexander,

it is 100% reproducible using your database, isql -nod -ch utf8, current fb 2.5.5 (before patch of course).

I guess Dmitry and Adriano tried fb3 which is affected but not throws isc_req_sync error due to a bit different code path.