Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
22.08.4
-
None
Description
Consider CHAR->INT conversion for a SimpleColumn. The current algorithm includes two calls:
- SimpleColumn::evaluate() that:
- - detects NULL value
- - runs the actual conversion based on the SimpleColumn result data type
- - stores the converted value into the corresponding Result fields
- and TreeNode::getIntValue() that returns the corresponding Result field based on the conversion target type. Unfortunately there are cases when getIntValue() calls for a conversion.
The flaws of this approach raise a number of questions:
- what if SimpleColumn::evaluate() is never called prior to TreeNode::getIntValue()?
- what if conversion source type or target type are not accurate?
- what if NULL value isn't detected in SimpleColumn::evaluate() and produced later in TreeNode::getIntValue()? How to propage NULL upwards?
This issue is dedicated for the research on how to refactor such simple conversion to build a basis for complete runtime type conversion refactoring.