DECIMALn_y fields as input to Roxie queries not handled correctly

Environment

Alpha Dev Roxie

Description

Deployed a simple Roxie query that has a STORED request parameter of type DECIMAL5_2 as follows:

export test11() := FUNCTION
DECIMAL5_2 inSalvageValue := 0.0 : STORED('SalvageValue');
OUTPUT(inSalvageValue);
RETURN TRUE;
END;

For some inputs, it causes an exception:

./testsocket.exe 10.194.205.7:9876 "<klogemann.test11><salvagevalue>1.15</salvagevalue><submit_type>run_xslt</submit_type></klogemann.test11>"
<Exception>
<Source>Roxie</Source><Code>3000</Code><Message>assert(m.length() == tlen) failed - file: ccdcontext.cpp, line 1913</Message></Exception>

For other inputs, it doesn't get an exception, but doesn't produce the proper value:

./testsocket.exe 10.194.205.7:9876 "<klogemann.test11><salvagevalue>1.5</salvagevalue><submit_type>run_xslt</submit_type></klogemann.test11>"
<Dataset name='Result 1'>
<Row><Result_1>####</Result_1></Row>
</Dataset>
<Dataset name='Result 2'>
<Row><Result_2>true</Result_2></Row>
</Dataset>

Conclusion

None

Activity

Show:

Kevin Logemann July 6, 2021 at 5:07 PM

And DECIMALn_y fields are pretty rare as query inputs in the first place.

Anthony Fishbeck July 6, 2021 at 4:07 PM

The last comment explains why we probably don't see this with most of our production roxie queries as they get most of their input from nested record layouts.

Kevin Logemann July 6, 2021 at 3:44 PM

Appears to only be an issue for STORED values directly; when DECIMALn_y used in a nested input layout, no issues are encountered.

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Components

Assignee

Reporter

Priority

Fix versions

Pull Request URL

Affects versions

Created July 6, 2021 at 3:28 PM
Updated July 9, 2021 at 1:18 PM
Resolved July 9, 2021 at 1:05 PM
Loading...