QoQ shouldn't fall back to HSQLDB after queryparam error

Activity

Show:

Zac Spitzer 21 November 2022 at 17:45

Pothys - MitrahSoft 26 September 2022 at 07:30

I've checked this ticket with the lucee latest version 5.3.10.80-SNAPSHOT. If QoQ has a queryparam error means that is not fall back to HSQLDB and returns the correct exception.

Zac Spitzer 23 September 2022 at 10:00

nice work

Brad Wood 19 September 2022 at 17:19

The following QoQ errors which used to fall back to HSQLDB will now throw the original, and much more useful exception, directly from the native QoQ implementation.

  • Divide by zero - 1/0

  • Mod zero - 1%0

  • Too many count columns - count( col1, col2 )

  • Too many count distinct columns - count( DISTINCT col1, col2 )

  • Cast with missing type - cast( col )

  • Union with mismatched column counts in the selects

  • Union with invalid order by

  • Order by with invalid ordinal position - ORDER BY 9001

  • Positional param value with wrong type

  • Named param value with wrong type

Brad Wood 19 September 2022 at 17:13

This pull adds a new exception type IllegalQoQException which indicates a QoQ is illegal and needs to fail right away without attempting to fail back to HSQLDB which will obfuscate the original error. I have added test cases for every place QoQ currently fails and we know there is no reason to try again with HSQLDB.

Fixed

Details

Assignee

Reporter

Priority

Fix versions

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Created 17 February 2022 at 21:55
Updated 11 April 2023 at 20:03
Resolved 26 September 2022 at 07:30