Cascades throws Verify exception if a KeyExpression
's key is not primitive
#2935
Labels
planner
Related to the query planner
KeyExpression
's key is not primitive
#2935
It is possible to have a
KeyExpression
whose key is referencing a complex type. For example:It is possible that
C
is a non-primitive (and non-enum) type. This is valid as long as there is a special code path that understands how to ser/de this field via a specialTuple
encoding.However, this is not something that Cascades expects, and throws an exception when it encounters such key when attempting to create a create a plan from the corresponding
MatchCandidate
:fdb-record-layer/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/values/IndexEntryObjectValue.java
Line 79 in 2f94a93
Instead, Cascades should have an extra logic to handle this, and more importantly, ignore any
KeyExpression
it can not handle instead of throwing an exception safeguarding against potential evolution inKeyExpression
semantics that it can not immediately deal with.The text was updated successfully, but these errors were encountered: