When calling the registerArgument function in the overriden registerSubSearchArgument function in AllAnyFromArrayOp, there is a type mismatch between sqlType and argument's type because there is a compile-time guarantee that ArrayColumnType only receives a value of type List and not Array. This mismatch results in a compilation error when trying to guarantee type-safety with the refactor of IColumnType. Therefore, this is a necessary preparation step for the refactor of IColumnType to make it and its subclasses type-safe.
To avoid introducing a breaking change, the functions anyFrom and allFrom in SQLExpressionBuilder.kt retain the same signature, but convert the Array to a List. In addition, these two functions were overloaded with ones that accept List instead of Array.
When calling the
registerArgument
function in the overridenregisterSubSearchArgument
function inAllAnyFromArrayOp
, there is a type mismatch betweensqlType
andargument
's type because there is a compile-time guarantee that ArrayColumnType only receives a value of typeList
and notArray
. This mismatch results in a compilation error when trying to guarantee type-safety with the refactor of IColumnType. Therefore, this is a necessary preparation step for the refactor of IColumnType to make it and its subclasses type-safe.To avoid introducing a breaking change, the functions
anyFrom
andallFrom
in SQLExpressionBuilder.kt retain the same signature, but convert theArray
to aList
. In addition, these two functions were overloaded with ones that acceptList
instead ofArray
.