Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
Run the following test: TestTopNSchemaChanges.testUnionTypes(). It will pass. Look at the expected output:
builder.baselineValues(0l, 0l); builder.baselineValues(1.0d, 1.0d); builder.baselineValues(3l, 3l); builder.baselineValues(4.0d, 4.0d); builder.baselineValues(6l, 6l); builder.baselineValues(7.0d, 7.0d); builder.baselineValues(9l, 9l); builder.baselineValues("2", "2");
The string values sort after the numbers.
After the fix for DRILL-7502, we get the following output:
builder.baselineValues(0l, 0l); builder.baselineValues(1.0d, 1.0d); builder.baselineValues("2", "2"); builder.baselineValues(3l, 3l); builder.baselineValues(4.0d, 4.0d); builder.baselineValues("5", "5"); builder.baselineValues(6l, 6l); builder.baselineValues(7.0d, 7.0d);
This accidental fix suggests that the original design was to convert values to the same type, then compare them. Converting numbers to strings, say, would cause them to be lexically ordered, as in the second output.
The UNION type is poorly supported, so it is likely that this bug does not affect actual users.
Attachments
Issue Links
- is part of
-
DRILL-7502 Incorrect/invalid codegen for typeof() with UNION
-
- Resolved
-