commit 3b8efe1865f71743389386d3aeb8ef34c3d3c1d8 Author: Todd Lipcon Date: Fri Sep 9 16:11:04 2011 -0700 x diff --git src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java index 3f3cc6f..e3010ed 100644 --- src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java +++ src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java @@ -653,7 +653,8 @@ public class ParseFilter { quotedByteArray.length < 2 || quotedByteArray[0] != ParseConstants.SINGLE_QUOTE || quotedByteArray[quotedByteArray.length - 1] != ParseConstants.SINGLE_QUOTE) { - throw new IllegalArgumentException("removeQuotesFromByteArray needs a quoted byte array"); + throw new IllegalArgumentException("removeQuotesFromByteArray needs a quoted byte array." + + " Instead, got: " + Bytes.toStringBinary(quotedByteArray)); } else { byte [] targetString = new byte [quotedByteArray.length - 2]; Bytes.putBytes(targetString, 0, quotedByteArray, 1, quotedByteArray.length - 2); diff --git src/main/ruby/hbase/table.rb src/main/ruby/hbase/table.rb index f9433d4..a8f9faa 100644 --- src/main/ruby/hbase/table.rb +++ src/main/ruby/hbase/table.rb @@ -237,10 +237,13 @@ module Hbase columns.each { |c| scan.addColumns(c) } - unless filter.class == String + if filter.java_kind_of?(org.apache.hadoop.hbase.filter.Filter) scan.setFilter(filter) - else - scan.setFilter(org.apache.hadoop.hbase.filter.ParseFilter.new.parseFilterString(filter)) + elsif filter.class == String + filter = org.apache.hadoop.hbase.filter.ParseFilter.new.parseFilterString(filter) + scan.setFilter(filter) + elsif not filter.nil? + raise ArgumentError.new("Invalid filter: " + filter.to_s) end scan.setTimeStamp(timestamp) if timestamp