Full DECIMAL support in ColumnStore (MCOL-641)

[MCOL-4463] Fix between for DECIMAL columns with certain literal values in projection. Created: 2020-12-18  Updated: 2021-02-01  Resolved: 2020-12-22

Status: Closed
Project: MariaDB ColumnStore
Component/s: PrimProc
Affects Version/s: None
Fix Version/s: 6.1.1

Type: Sub-Task Priority: Major
Reporter: Roman Assignee: Roman
Resolution: Fixed Votes: 0
Labels: None

Sprint: 2020-1, 2020-2, 2020-3, 2020-4, 2020-5, 2020-6, 2020-7, 2021-1, 2021-2, 2021-3, 2021-4, 2021-5, 2021-6, 2021-7, 2021-8, 2021-9

 Description   

With the code at cc6c51b5 the test fails:

DROP TABLE cs1;
CREATE TABLE cs1 (d1 DECIMAL(38))engine=columnstore;
INSERT INTO cs1 VALUES (123456);
SELECT "between_test", d1 BETWEEN 123455 AND 123457 f1 FROM cs1;

This happens b/c of the error introduced by the recent decimal comparison refactoring.
The patch also addresses the fact that ConstantColumn() creates fResult.decimalVal as a narrow decimal for literals 123455 and 123457 b/c MDB sends the literals as an INTs and not wide-DECIMALs.


Generated at Thu Feb 08 02:50:32 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.