fix: operators in, contains, containsany and containsall#1796
Conversation
|
I spelled out the predicates below to clarify my thinking. Please correct me if I am wrong or I am missing something.
|
|
I see it. In our code, I guess inherited from OrientDB, when both left and right are arrays (collections), it does this: if (right instanceof Collection) {
if (left instanceof Collection<?>)
return ((Collection<?>) right).containsAll((Collection<?>) left);I don't know how many use cases are useful when you check if an array is in an array of arrays. Also in classic SQL this seems to not be supported. We could just document this special behavior: |
|
@lvca I am fine with that (and can also do that in the docs), but wouldn't that make |
|
Since you can have a sub query with the IN, I don't see any use case for the |
|
Besides being more semantic me neither. |
|
Fixed the basic cases with null values. |
Hi @gramian, this PR fixes #1785.
I've created new test for the missing cases. About your tests, check my comments: