You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jeff Hammerbacher (JIRA)" <ji...@apache.org> on 2010/05/14 16:34:43 UTC

[jira] Commented: (HBASE-1002) Coprocessors: Support small query language as filter on server side

    [ https://issues.apache.org/jira/browse/HBASE-1002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12867508#action_12867508 ] 

Jeff Hammerbacher commented on HBASE-1002:
------------------------------------------

Note that Google has something similar according to this 2008 article from the SIGMOD Record: http://turing.cs.washington.edu/papers/dataprojects-google-sigmodrecord08.pdf

> Coprocessors: Support small query language as filter on server side
> -------------------------------------------------------------------
>
>                 Key: HBASE-1002
>                 URL: https://issues.apache.org/jira/browse/HBASE-1002
>             Project: Hadoop HBase
>          Issue Type: Sub-task
>          Components: filters
>            Reporter: Andrew Purtell
>            Priority: Minor
>
> Improve the usability of filters by making them specifiable or executable using a little query language. 
> For example:
>     col("entry:price") > 3 && (col("entry:name") = "ABC" || col("entry:name") = "XYZ")
> Can be implemented as a little language compiler that takes filter specifications as input and builds the requisite hierarchy of filter API classes and actions as emitted java code. 
> Compiler can be a utility class, something like:
> {code}
> Scan scan = new Scan();
> scan.addFamily(Bytes.toBytes("entry"));
> // ...
> scan.setFilter(Filter.compile("col(\"entry:price\") > 3 && 
> (col(\"entry:name\") =  \"ABC\" || col(\"entry:name\") = \"XYZ\""));
> // ...
> {code}
> or even something like
> {code}
> Scan scan = Filter.compileScan("col(\"entry:price\") > 3 && 
> (col(\"entry:name\") =  \"ABC\" || col(\"entry:name\") = \"XYZ\""));
> // ...
> {code}
> Can also be implemented using JRuby snippets sent to the regionserver for execution, but this has troublesome security implications.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.