From 2d60fef9edd8dc9bf0b5a2ad4ad60761a1d54a9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=A9=E5=B0=91?= Date: Tue, 22 May 2012 07:45:23 +0800 Subject: [PATCH] bug fixed for hbase support --- .../hdriver/impl/execute/SingleTableQueryExecutePlan.java | 6 +++++- .../alibaba/druid/hbase/HBaseDriverTest_getIndex_or.java | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableQueryExecutePlan.java b/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableQueryExecutePlan.java index f56293b815..329f1e824f 100644 --- a/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableQueryExecutePlan.java +++ b/src/main/java/com/alibaba/druid/hdriver/impl/execute/SingleTableQueryExecutePlan.java @@ -184,8 +184,12 @@ public class SingleTableQueryExecutePlan extends SingleTableExecutePlan { } } } else { + List filters = new ArrayList(); + filters.add(parentFilter); + filters.add(filter); + FilterList.Operator filterOp = and ? FilterList.Operator.MUST_PASS_ALL : FilterList.Operator.MUST_PASS_ONE; - return new FilterList(filterOp, parentFilter, filter); + return new FilterList(filterOp, filters); } } diff --git a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex_or.java b/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex_or.java index 35b5ff9f55..f154644707 100644 --- a/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex_or.java +++ b/src/test/java/com/alibaba/druid/hbase/HBaseDriverTest_getIndex_or.java @@ -15,7 +15,7 @@ public class HBaseDriverTest_getIndex_or extends TestCase { HDriver driver = new HDriver(); Connection conn = driver.connect("jdbc:druid-hbase:10.20.153.63", new Properties()); - PreparedStatement stmt = conn.prepareStatement("SELECT id, name, gender, salary FROM test_user where id = 3 or id = ?"); + PreparedStatement stmt = conn.prepareStatement("SELECT id, name, gender, salary FROM test_user where id = 3 or id = ? or name = 'user-4'"); stmt.setInt(1, 6); ResultSet rs = stmt.executeQuery();