Sounds good to me. However let's let this one sit in the head for a while since it has
potentially wide reaching effects. It effects the semantics of search and there are several
things that I cannot easily foresee. So I want to think about this one a little bit.
After investigation, the problem is a little bit more complex than
what I just described.
We have done some tests with Studio, and here is what we found :
- if you define an attributeType _without_ any matching rule, then you
should have a problem. As we cannot use an identity MR (because none
has been defined), you will get a NPE at some point, unless we define
the filter as undefined.
- I have fixed many places in the server where we didn't replaced a
missing Substring MR by the identity MR. I will commit those fixes
after integration tests.
- Now, some users want to do searches using filters like
(uniqueMember=uid=g.kelly*). Of course, we can say that it should
return nothing, as the filter is undefined, but I find this a little
bit too tight. What if we simply use th equality MR in this case ?
I would say that if we don't have Substring MR, we should use Equality
MR, and if we don't have Equality MR, then we should simply consider
the filter as undefined. This could be done during the filter parsing,
instead of doing it during the filter evaluation.