[
https://issues.apache.org/jira/browse/KUDU-1452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15315539#comment-15315539
]
Will Berkeley commented on KUDU-1452:
-------------------------------------
[~sabhyankar] +1 to adding more regex capabilities-- if "column like" is going
to be added, I don't think it's much more work to add more general pattern
matching.
Also, I looked at how to implement this as a way to get more familiar with the
relevant code, and one issue that I think will come up is that this changes the
algebra of the merge operation. Right now, there's Equality, Range, None, and
IsNotNull predicates (and soon InList). The predicate types under merge are a
semigroup-- merge any pair and one gets another predicate of one of the 5
types. This is no longer true once a like predicate (as I'll call it) exists.
Merging a range predicate with a like predicate does not produce an equality,
range, not null, none, in list, or like predicate, in general. A more general
way to combine column predicates on the same column will be necessary, or it
will have to be disallowed or restricted, in the meantime, to try to combine a
like predicate with a range predicate or a like predicate.
Also, if the matching is more general like regex, then merging a like predicate
with a like predicate can produce another like predicate. With just %val%
syntax, this is not true.
> Add predicate to allow scan based on COLUMN LIKE '%val%'
> --------------------------------------------------------
>
> Key: KUDU-1452
> URL: https://issues.apache.org/jira/browse/KUDU-1452
> Project: Kudu
> Issue Type: New Feature
> Components: api, client
> Reporter: Sameer Abhyankar
> Assignee: Sameer Abhyankar
>
> While working on a different issue, I noticed that Kudu currently has no way
> to fetch rows from a table based on the COLUMN LIKE '%value%' filter.
> Most relational DBs will allow lookups based on something like this:
> select c1, c2 from table-a where c3 like '%something%'
> I cant think of an efficient way to do this in Kudu, but I think it would
> still be more efficient than a client fetching all the rows and then doing
> the filtering.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)