[ https://issues.apache.org/jira/browse/HBASE-1002?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell updated HBASE-1002: ---------------------------------- Issue Type: Sub-task (was: Improvement) Parent: HBASE-2000 > Small query language for filters > -------------------------------- > > 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.