Issue Details (XML | Word | Printable)

Key: CORE-3338
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Adriano dos Santos Fernandes
Reporter: Adriano dos Santos Fernandes
Votes: 0
Watchers: 3
Operations

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

Regression: Code changes disabled support for expression indexes with COALESCE, CASE and DECODE

Created: 06/Feb/11 03:26 PM   Updated: 28/May/15 05:53 PM
Component/s: Engine
Affects Version/s: 3.0 Initial, 2.5.0
Fix Version/s: 3.0 Alpha 1

QA Status: Done successfully


 Description  « Hide
FB 2.5 introduced fixes related to COALESCE, CASE and DECODE expressions to not duplicate sub-expressions in BLR, which was slow and had some bugs. This has made with new blr_stmt_expr. But this new BLR verb turn to be very difficult to support, specially in the optimizer.

As a result of it, some bugs (CORE-3310, for example) were introduced, and some expression indexes stopped to work.

An example of an expression index not working anymore: COMPUTED BY (COALESCE(N * 2, 0)).

The complete (for FB 3) solution for these problems is:
1) introduce new specialized BLR verbs for COALESCE and DECODE/CASE;
2) transform blr_stmt_expr to new nodes when parsing legacy BLR.

Solution for 2.5 still need more analysis.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.