Return-Path: X-Original-To: apmail-incubator-connectors-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-connectors-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id ACBC693FD for ; Sat, 10 Dec 2011 15:26:50 +0000 (UTC) Received: (qmail 46785 invoked by uid 500); 10 Dec 2011 15:26:50 -0000 Delivered-To: apmail-incubator-connectors-commits-archive@incubator.apache.org Received: (qmail 46746 invoked by uid 500); 10 Dec 2011 15:26:49 -0000 Mailing-List: contact connectors-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: connectors-dev@incubator.apache.org Delivered-To: mailing list connectors-commits@incubator.apache.org Received: (qmail 46739 invoked by uid 99); 10 Dec 2011 15:26:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 10 Dec 2011 15:26:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 10 Dec 2011 15:26:42 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 7A5E22388980; Sat, 10 Dec 2011 15:26:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1212814 - in /incubator/lcf/branches/CONNECTORS-286/warthog/src: main/java/org/apache/warthog/common/ main/java/org/apache/warthog/interfaces/ test/java/org/apache/warthog/tests/ Date: Sat, 10 Dec 2011 15:26:18 -0000 To: connectors-commits@incubator.apache.org From: kwright@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111210152619.7A5E22388980@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: kwright Date: Sat Dec 10 15:26:17 2011 New Revision: 1212814 URL: http://svn.apache.org/viewvc?rev=1212814&view=rev Log: Finish joins. Added: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexAfter.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaAfter.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBefore.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBefore.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBetween.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBetween.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEquals.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEquals.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsMultiple.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsMultiple.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrAfter.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrAfter.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrBefore.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrBefore.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterCriteria.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHFilter.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationshipBuilder.java (with props) incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterSubquery.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/SubqueryFilter.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/IndexRelationshipBuilder.java (with props) incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinAccessor.java (with props) incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHRelationshipBuilder.java - copied, changed from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHAccessorBuilder.java Removed: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaAfter.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBefore.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBetween.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEquals.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsMultiple.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrAfter.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrBefore.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/SubqueryFilter.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHAccessorBuilder.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHFilter.java Modified: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterAccessor.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationship.java incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinRelationship.java incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/MultiThreadTest.java incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/SanityTest.java Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexAfter.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaAfter.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexAfter.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexAfter.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaAfter.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaAfter.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexAfter.java Sat Dec 10 15:26:17 2011 @@ -24,12 +24,12 @@ import org.apache.warthog.interfaces.*; /** This class represents index criteria designed to locate matches that follow * a specific WHValue. */ -public class CriteriaAfter extends IndexCriteria +public class IndexAfter extends IndexCriteria { protected WHValue value; /** Constructor */ - public CriteriaAfter(WHValue value) + public IndexAfter(WHValue value) { super(); this.value = value; Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBefore.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBefore.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBefore.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBefore.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBefore.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBefore.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBefore.java Sat Dec 10 15:26:17 2011 @@ -24,12 +24,12 @@ import org.apache.warthog.interfaces.*; /** This class represents index criteria designed to locate matches that precede * a specific WHValue. */ -public class CriteriaBefore extends IndexCriteria +public class IndexBefore extends IndexCriteria { protected WHValue value; /** Constructor */ - public CriteriaBefore(WHValue value) + public IndexBefore(WHValue value) { super(); this.value = value; Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBetween.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBetween.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBetween.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBetween.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBetween.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaBetween.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexBetween.java Sat Dec 10 15:26:17 2011 @@ -24,13 +24,13 @@ import org.apache.warthog.interfaces.*; /** This class represents index criteria designed to locate matches that follow * a specific WHValue, but precede a second WHValue, non-inclusive. */ -public class CriteriaBetween extends IndexCriteria +public class IndexBetween extends IndexCriteria { protected WHValue afterValue; protected WHValue beforeValue; /** Constructor */ - public CriteriaBetween(WHValue afterValue, WHValue beforeValue) + public IndexBetween(WHValue afterValue, WHValue beforeValue) { super(); this.afterValue = afterValue; Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEquals.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEquals.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEquals.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEquals.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEquals.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEquals.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEquals.java Sat Dec 10 15:26:17 2011 @@ -24,12 +24,12 @@ import org.apache.warthog.interfaces.*; /** This class represents index criteria designed to locate only exact matches against * a specific WHValue. */ -public class CriteriaEquals extends IndexCriteria +public class IndexEquals extends IndexCriteria { protected WHValue value; /** Constructor */ - public CriteriaEquals(WHValue value) + public IndexEquals(WHValue value) { super(); this.value = value; Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsMultiple.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsMultiple.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsMultiple.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsMultiple.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsMultiple.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsMultiple.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsMultiple.java Sat Dec 10 15:26:17 2011 @@ -24,12 +24,12 @@ import org.apache.warthog.interfaces.*; /** This class represents index criteria designed to locate only exact matches against * a specific set of WHValues. */ -public class CriteriaEqualsMultiple extends IndexCriteria +public class IndexEqualsMultiple extends IndexCriteria { protected WHValue[] values; /** Constructor */ - public CriteriaEqualsMultiple(WHValue[] values) + public IndexEqualsMultiple(WHValue[] values) { super(); this.values = values; Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrAfter.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrAfter.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrAfter.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrAfter.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrAfter.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrAfter.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrAfter.java Sat Dec 10 15:26:17 2011 @@ -24,12 +24,12 @@ import org.apache.warthog.interfaces.*; /** This class represents index criteria designed to locate matches that equal or come after * a specific WHValue. */ -public class CriteriaEqualsOrAfter extends IndexCriteria +public class IndexEqualsOrAfter extends IndexCriteria { protected WHValue value; /** Constructor */ - public CriteriaEqualsOrAfter(WHValue value) + public IndexEqualsOrAfter(WHValue value) { super(); this.value = value; Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrBefore.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrBefore.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrBefore.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrBefore.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrBefore.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/CriteriaEqualsOrBefore.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/common/IndexEqualsOrBefore.java Sat Dec 10 15:26:17 2011 @@ -24,12 +24,12 @@ import org.apache.warthog.interfaces.*; /** This class represents index criteria designed to locate that precede or equal * a specific WHValue. */ -public class CriteriaEqualsOrBefore extends IndexCriteria +public class IndexEqualsOrBefore extends IndexCriteria { protected WHValue value; /** Constructor */ - public CriteriaEqualsOrBefore(WHValue value) + public IndexEqualsOrBefore(WHValue value) { super(); this.value = value; Modified: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterAccessor.java URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterAccessor.java?rev=1212814&r1=1212813&r2=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterAccessor.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterAccessor.java Sat Dec 10 15:26:17 2011 @@ -23,11 +23,11 @@ package org.apache.warthog.interfaces; */ public class FilterAccessor implements WHAccessor { - protected WHFilter filter; + protected FilterCriteria filter; protected WHAccessor baseAccessor; protected WHRowID currentRowID; - public FilterAccessor(WHAccessor baseAccessor, WHFilter filter) + public FilterAccessor(WHAccessor baseAccessor, FilterCriteria filter) throws WHException { this.baseAccessor = baseAccessor; Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterCriteria.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHFilter.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterCriteria.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterCriteria.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHFilter.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHFilter.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterCriteria.java Sat Dec 10 15:26:17 2011 @@ -19,13 +19,20 @@ package org.apache.warthog.interfaces; -/** This relationship type applies filtering criteria on top of another relationship. +/** This base class specifies filtering that is applied on top of an accessor. */ -public interface WHFilter +public class FilterCriteria { + public FilterCriteria() + { + } + /** Check if a row should be filtered or not. */ public boolean include(WHAccessor accessor) - throws WHException; + throws WHException + { + return true; + } } Modified: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationship.java URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationship.java?rev=1212814&r1=1212813&r2=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationship.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationship.java Sat Dec 10 15:26:17 2011 @@ -24,10 +24,10 @@ package org.apache.warthog.interfaces; public class FilterRelationship implements WHRelationship { protected WHRelationship relationshipToFilter; - protected WHFilter filterer; + protected FilterCriteria filterer; /** Constructor */ - public FilterRelationship(WHRelationship relationshipToFilter, WHFilter filterer) + public FilterRelationship(WHRelationship relationshipToFilter, FilterCriteria filterer) { this.relationshipToFilter = relationshipToFilter; this.filterer = filterer; Added: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationshipBuilder.java URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationshipBuilder.java?rev=1212814&view=auto ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationshipBuilder.java (added) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationshipBuilder.java Sat Dec 10 15:26:17 2011 @@ -0,0 +1,100 @@ +/* $Id$ */ + +/** +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.warthog.interfaces; + +import java.lang.reflect.*; + +/** Build a relationship based on another WHRelationshipBuilder with an applied filter. +*/ +public class FilterRelationshipBuilder implements WHRelationshipBuilder +{ + protected WHRelationshipBuilder baseRelationshipBuilder; + protected FilterCriteria filterer; + protected String columnToFilter; + protected String filterClassName; + protected String matchColumnName; + protected WHComparator comparator; + + /** Constructor. + * Can be called on one of two ways. Either filterer is null and matchColumnName, columnToFilter, and filterClassName + * are set, or filterer is non-null. The class specified by filterClassName will be instantiated + * using the XXX(columnName, value) constructor. + */ + public FilterRelationshipBuilder(WHRelationshipBuilder baseRelationshipBuilder, + FilterCriteria filterer, String matchColumnName, String filterClassName, String columnToFilter, + WHComparator comparator) + throws WHException + { + this.baseRelationshipBuilder = baseRelationshipBuilder; + this.filterer = filterer; + this.columnToFilter = columnToFilter; + this.filterClassName = filterClassName; + this.matchColumnName = matchColumnName; + this.comparator = comparator; + } + + /** Construct a relationship based on the specified accessor row. + */ + public WHRelationship createRelationship(WHAccessor accessor) + throws WHException + { + // Build the base accessor using the accessor builder we've been handed + WHRelationship baseRelationship = baseRelationshipBuilder.createRelationship(accessor); + + if (matchColumnName != null && columnToFilter != null && filterClassName != null && + comparator != null) + { + WHValue theMatchValue = accessor.getValue(matchColumnName); + try + { + Class classValue = Class.forName(filterClassName); + Constructor constructor = classValue.getConstructor(new Class[]{String.class,WHValue.class,WHComparator.class}); + Object object = constructor.newInstance(new Object[]{columnToFilter,theMatchValue,comparator}); + if (!(object instanceof FilterCriteria)) + throw new WHException("Filter class '"+filterClassName+"' does not extend FilterCriteria"); + filterer = (FilterCriteria)object; + } + catch (ClassNotFoundException e) + { + throw new WHException("Can't find filter class '"+filterClassName+"': "+e.getMessage(),e); + } + catch (NoSuchMethodException e) + { + throw new WHException("Filter class '"+filterClassName+"' does not have a constructor with (String,WHValue,WHComparator) arguments: "+e.getMessage(),e); + } + catch (InvocationTargetException e) + { + throw new WHException("Constructor exception instantiating filter class '"+filterClassName+"': "+e.getMessage(),e); + } + catch (InstantiationException e) + { + throw new WHException("Instantiation exception for filter class '"+filterClassName+"': "+e.getMessage(),e); + } + catch (IllegalAccessException e) + { + throw new WHException("Filter class '"+filterClassName+"' (String,WHValue,WHComparator) constructor has protected access",e); + } + } + + // Now build the filter relationship with it. + return new FilterRelationship(baseRelationship,filterer); + } + +} \ No newline at end of file Propchange: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationshipBuilder.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterRelationshipBuilder.java ------------------------------------------------------------------------------ svn:keywords = Id Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterSubquery.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/SubqueryFilter.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterSubquery.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterSubquery.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/SubqueryFilter.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/SubqueryFilter.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/FilterSubquery.java Sat Dec 10 15:26:17 2011 @@ -26,27 +26,29 @@ package org.apache.warthog.interfaces; * Note that there are a number of 'moving parts' needed to make this filter work. * The accessor must be constructed on the fly, so there has to be some code that * finds the right table or index accessor based on the join criteria. That's going to -* be handled by a class implementing WHAccessorBuilder. +* be handled by a class implementing WHRelationshipBuilder. */ -public class SubqueryFilter implements WHFilter +public class FilterSubquery extends FilterCriteria { protected boolean isExists; - protected WHAccessorBuilder builder; + protected WHRelationshipBuilder builder; /** Constructor */ - public SubqueryFilter(boolean isExists, WHAccessorBuilder builder) + public FilterSubquery(boolean isExists, WHRelationshipBuilder builder) { + super(); this.isExists = isExists; this.builder = builder; } /** Check if a row should be filtered or not. */ + @Override public boolean include(WHAccessor accessor) throws WHException { - WHAccessor checker = builder.createAccessor(accessor); - return isExists ^ (checker.getCurrentRowID() == null); + WHRelationship checkerRelationship = builder.createRelationship(accessor); + return isExists ^ (checkerRelationship.buildAccessor().getCurrentRowID() == null); } } \ No newline at end of file Added: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/IndexRelationshipBuilder.java URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/IndexRelationshipBuilder.java?rev=1212814&view=auto ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/IndexRelationshipBuilder.java (added) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/IndexRelationshipBuilder.java Sat Dec 10 15:26:17 2011 @@ -0,0 +1,107 @@ +/* $Id$ */ + +/** +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.warthog.interfaces; + +import java.lang.reflect.*; + +/** Build an index relationship based on a row in an accessor. +*/ +public class IndexRelationshipBuilder implements WHRelationshipBuilder +{ + protected WHIndex index; + protected IndexCriteria[] criteria; + protected String[] accessorColumn; + protected String[] criteriaClassName; + protected boolean[] orderReversed; + + /** Constructor. The criteria passed to the index will include + * both criteria we specify in the constructor, and criteria based + * the accessor row we see. Thus the segregation of the incoming + * arguments. + * The way it works is that whenever the accessorColumn value is non-null, then + * the matching criteriaClass is instantiated (with a single WHValue argument). + * Otherwise, the criteria passed in the "criteria" argument is used. + */ + public IndexRelationshipBuilder(WHIndex index, + IndexCriteria[] criteria, + String[] accessorColumn, + String[] criteriaClassName, + boolean[] orderReversed) + throws WHException + { + if (criteria.length != accessorColumn.length || + criteria.length != criteriaClassName.length || + criteria.length != orderReversed.length) + throw new WHException("Criteria, accessorColumn, criteriaClassName, and orderReversed all must be the same size"); + this.index = index; + this.criteria = criteria; + this.orderReversed = orderReversed; + this.accessorColumn = accessorColumn; + this.criteriaClassName = criteriaClassName; + } + + /** Construct a relationship based on the specified accessor row. + */ + public WHRelationship createRelationship(WHAccessor accessor) + throws WHException + { + // Fill in the missing pieces from the current accessor. + for (int i = 0 ; i < criteria.length ; i++) + { + if (accessorColumn[i] != null && criteriaClassName[i] != null) + { + WHValue theMatchValue = accessor.getValue(accessorColumn[i]); + try + { + Class classValue = Class.forName(criteriaClassName[i]); + Constructor constructor = classValue.getConstructor(new Class[]{WHValue.class}); + Object object = constructor.newInstance(new Object[]{theMatchValue}); + if (!(object instanceof IndexCriteria)) + throw new WHException("Criteria class '"+criteriaClassName[i]+"' does not extend IndexCriteria"); + criteria[i] = (IndexCriteria)object; + } + catch (ClassNotFoundException e) + { + throw new WHException("Can't find criteria class '"+criteriaClassName[i]+"': "+e.getMessage(),e); + } + catch (NoSuchMethodException e) + { + throw new WHException("Criteria class '"+criteriaClassName[i]+"' does not have a constructor with a WHValue argument: "+e.getMessage(),e); + } + catch (InvocationTargetException e) + { + throw new WHException("Constructor exception instantiating criteria class '"+criteriaClassName[i]+"': "+e.getMessage(),e); + } + catch (InstantiationException e) + { + throw new WHException("Instantiation exception for criteria class '"+criteriaClassName[i]+"': "+e.getMessage(),e); + } + catch (IllegalAccessException e) + { + throw new WHException("Criteria class '"+criteriaClassName[i]+"' WHValue constructor has protected access",e); + } + } + } + + // Create an index relationship so we can get its accessor + return new IndexRelationship(index,criteria,orderReversed); + } + +} \ No newline at end of file Propchange: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/IndexRelationshipBuilder.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/IndexRelationshipBuilder.java ------------------------------------------------------------------------------ svn:keywords = Id Added: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinAccessor.java URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinAccessor.java?rev=1212814&view=auto ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinAccessor.java (added) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinAccessor.java Sat Dec 10 15:26:17 2011 @@ -0,0 +1,118 @@ +/* $Id$ */ + +/** +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.apache.warthog.interfaces; + +import java.util.*; + +/** Accessor class that returns a join of two tables. +*/ +public class JoinAccessor implements WHAccessor +{ + protected WHAccessor primeAccessor; + protected WHRelationshipBuilder secondaryRelationshipBuilder; + protected Map secondaryColumnMap; + + protected WHAccessor currentSecondaryAccessor; + protected WHRowID currentRowID; + + public JoinAccessor(WHAccessor primeAccessor, WHRelationshipBuilder secondaryRelationshipBuilder, + Map secondaryColumnMap) + throws WHException + { + this.primeAccessor = primeAccessor; + this.secondaryRelationshipBuilder = secondaryRelationshipBuilder; + this.secondaryColumnMap = secondaryColumnMap; + goToNextLegalRow(); + } + + protected void goToNextLegalRow() + throws WHException + { + while (true) + { + WHRowID primeRowID = primeAccessor.getCurrentRowID(); + if (primeRowID == null) + { + currentSecondaryAccessor = null; + currentRowID = null; + return; + } + if (currentSecondaryAccessor == null) + currentSecondaryAccessor = secondaryRelationshipBuilder.createRelationship(primeAccessor).buildAccessor(); + WHRowID secondaryRowID = currentSecondaryAccessor.getCurrentRowID(); + if (secondaryRowID == null) + { + // Done with secondary for this primary row, so advance primary + primeAccessor.advance(); + // Since we haven't found a row yet, loop + continue; + } + // We've found a row! Construct a row ID + currentRowID = new JoinRowID(primeRowID,secondaryRowID); + break; + } + } + + /** Advance to the next row. + */ + public void advance() + throws WHException + { + if (currentRowID != null) + { + currentSecondaryAccessor.advance(); + goToNextLegalRow(); + } + } + + /** Read the current relationship row ID, Null will be returned if we are + * at the end of the sequence. + */ + public WHRowID getCurrentRowID() + throws WHException + { + return currentRowID; + } + + /** Get the data for the current row and specified column. + */ + public WHValue getValue(String columnName) + throws WHException + { + String secondaryKey = secondaryColumnMap.get(columnName); + if (secondaryKey == null) + return primeAccessor.getValue(columnName); + return currentSecondaryAccessor.getValue(secondaryKey); + } + + /** This class represents a joined rowID */ + protected static class JoinRowID implements WHRowID + { + protected WHRowID primaryRow; + protected WHRowID secondaryRow; + + public JoinRowID(WHRowID primaryRow, WHRowID secondaryRow) + { + this.primaryRow = primaryRow; + this.secondaryRow = secondaryRow; + } + } + +} Propchange: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinAccessor.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinAccessor.java ------------------------------------------------------------------------------ svn:keywords = Id Modified: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinRelationship.java URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinRelationship.java?rev=1212814&r1=1212813&r2=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinRelationship.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/JoinRelationship.java Sat Dec 10 15:26:17 2011 @@ -19,6 +19,8 @@ package org.apache.warthog.interfaces; +import java.util.*; + /** This relationship type represents the joining of a primary relationship and a * secondary relationship, plus a joining criteria, yielding a result with columns that * includes the columns from both. To build a three-way join, just nest join @@ -27,25 +29,22 @@ package org.apache.warthog.interfaces; public class JoinRelationship implements WHRelationship { protected WHRelationship primeRelationship; - protected String[] secondaryColumns; - protected String[] secondaryReturnColumns; - protected WHAccessorBuilder secondaryAccessorBuilder; - + protected WHRelationshipBuilder secondaryRelationshipBuilder; + + protected Map secondaryColumnMap; protected String[] returnColumns; /** Constructor. */ public JoinRelationship(WHRelationship primeRelationship, String[] secondaryColumns, String[] secondaryReturnColumns, - WHAccessorBuilder secondaryAccessorBuilder) + WHRelationshipBuilder secondaryRelationshipBuilder) throws WHException { if (secondaryColumns.length != secondaryReturnColumns.length) throw new WHException("Secondary columns and return columns must be the same number"); this.primeRelationship = primeRelationship; - this.secondaryColumns = secondaryColumns; - this.secondaryReturnColumns = secondaryReturnColumns; - this.secondaryAccessorBuilder = secondaryAccessorBuilder; + this.secondaryRelationshipBuilder = secondaryRelationshipBuilder; String[] primaryColumns = primeRelationship.getColumnNames(); returnColumns = new String[primaryColumns.length + secondaryReturnColumns.length]; int position = 0; @@ -53,9 +52,11 @@ public class JoinRelationship implements { returnColumns[position++] = primaryColumns[i]; } + secondaryColumnMap = new HashMap(); for (int i = 0 ; i < secondaryReturnColumns.length ; i++) { returnColumns[position++] = secondaryReturnColumns[i]; + secondaryColumnMap.put(secondaryReturnColumns[i],secondaryColumns[i]); } } @@ -73,8 +74,7 @@ public class JoinRelationship implements public WHAccessor buildAccessor() throws WHException { - // MHL - return null; + return new JoinAccessor(primeRelationship.buildAccessor(),secondaryRelationshipBuilder,secondaryColumnMap); } } \ No newline at end of file Copied: incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHRelationshipBuilder.java (from r1212572, incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHAccessorBuilder.java) URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHRelationshipBuilder.java?p2=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHRelationshipBuilder.java&p1=incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHAccessorBuilder.java&r1=1212572&r2=1212814&rev=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHAccessorBuilder.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/main/java/org/apache/warthog/interfaces/WHRelationshipBuilder.java Sat Dec 10 15:26:17 2011 @@ -19,15 +19,15 @@ package org.apache.warthog.interfaces; -/** Classes that implement this interface construct WHAccessor objects based -* on criteria they receive from a specific row in a relationship. +/** Classes that implement this interface construct WHRelationship objects based +* on criteria they receive from a specific row in another relationship. */ -public interface WHAccessorBuilder +public interface WHRelationshipBuilder { - /** Construct an accessor based on the specified row of the specified + /** Construct a relationship based on the specified row of the specified * relationship. */ - public WHAccessor createAccessor(WHAccessor accessor) + public WHRelationship createRelationship(WHAccessor accessor) throws WHException; } \ No newline at end of file Modified: incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/MultiThreadTest.java URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/MultiThreadTest.java?rev=1212814&r1=1212813&r2=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/MultiThreadTest.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/MultiThreadTest.java Sat Dec 10 15:26:17 2011 @@ -381,7 +381,7 @@ public class MultiThreadTest { WHIndex index = ts.lookupIndex("testindex1"); WHAccessor accessor = index.buildAccessor(new IndexCriteria[]{ - new CriteriaBetween(new StringValue("1"),new StringValue("2")), + new IndexBetween(new StringValue("1"),new StringValue("2")), null},null); while (true) { @@ -411,7 +411,7 @@ public class MultiThreadTest { WHIndex index = ts.lookupIndex("testindex2"); WHAccessor accessor = index.buildAccessor(new IndexCriteria[]{ - new CriteriaBetween(new StringValue("23"),new StringValue("25")), + new IndexBetween(new StringValue("23"),new StringValue("25")), null},null); while (true) { @@ -441,7 +441,7 @@ public class MultiThreadTest { WHIndex index = ts.lookupIndex("testindex3"); WHAccessor accessor = index.buildAccessor(new IndexCriteria[]{ - new CriteriaBetween(new StringValue("02"),new StringValue("04")), + new IndexBetween(new StringValue("02"),new StringValue("04")), null},null); while (true) { Modified: incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/SanityTest.java URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/SanityTest.java?rev=1212814&r1=1212813&r2=1212814&view=diff ============================================================================== --- incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/SanityTest.java (original) +++ incubator/lcf/branches/CONNECTORS-286/warthog/src/test/java/org/apache/warthog/tests/SanityTest.java Sat Dec 10 15:26:17 2011 @@ -191,7 +191,7 @@ public class SanityTest // Build a bunch of accessors and see if they do what we expect ts.beginTransaction(); index = ts.lookupIndex("testindex"); - accessor = index.buildAccessor(new IndexCriteria[]{new CriteriaEquals(new LongValue(124L))},null); + accessor = index.buildAccessor(new IndexCriteria[]{new IndexEquals(new LongValue(124L))},null); assertNotNull(accessor.getCurrentRowID()); value = accessor.getValue("colA"); assertNotNull(value); @@ -203,7 +203,7 @@ public class SanityTest ts.beginTransaction(); index = ts.lookupIndex("testindex"); - accessor = index.buildAccessor(new IndexCriteria[]{new CriteriaEqualsOrBefore(new LongValue(124L))},null); + accessor = index.buildAccessor(new IndexCriteria[]{new IndexEqualsOrBefore(new LongValue(124L))},null); assertNotNull(accessor.getCurrentRowID()); value = accessor.getValue("colA"); assertNotNull(value); @@ -227,7 +227,7 @@ public class SanityTest ts.beginTransaction(); index = ts.lookupIndex("testindex"); - accessor = index.buildAccessor(new IndexCriteria[]{new CriteriaEqualsOrAfter(new LongValue(124L))},null); + accessor = index.buildAccessor(new IndexCriteria[]{new IndexEqualsOrAfter(new LongValue(124L))},null); assertNotNull(accessor.getCurrentRowID()); value = accessor.getValue("colA"); assertNotNull(value); @@ -251,7 +251,7 @@ public class SanityTest ts.beginTransaction(); index = ts.lookupIndex("testindex"); - accessor = index.buildAccessor(new IndexCriteria[]{new CriteriaBefore(new LongValue(124L))},null); + accessor = index.buildAccessor(new IndexCriteria[]{new IndexBefore(new LongValue(124L))},null); assertNotNull(accessor.getCurrentRowID()); value = accessor.getValue("colA"); assertNotNull(value); @@ -269,7 +269,7 @@ public class SanityTest ts.beginTransaction(); index = ts.lookupIndex("testindex"); - accessor = index.buildAccessor(new IndexCriteria[]{new CriteriaAfter(new LongValue(124L))},null); + accessor = index.buildAccessor(new IndexCriteria[]{new IndexAfter(new LongValue(124L))},null); assertNotNull(accessor.getCurrentRowID()); value = accessor.getValue("colA"); assertNotNull(value); @@ -287,7 +287,7 @@ public class SanityTest ts.beginTransaction(); index = ts.lookupIndex("testindex"); - accessor = index.buildAccessor(new IndexCriteria[]{new CriteriaEqualsMultiple(new WHValue[]{new LongValue(123L),new LongValue(333L)})},null); + accessor = index.buildAccessor(new IndexCriteria[]{new IndexEqualsMultiple(new WHValue[]{new LongValue(123L),new LongValue(333L)})},null); assertNotNull(accessor.getCurrentRowID()); value = accessor.getValue("colA"); assertNotNull(value); @@ -305,7 +305,7 @@ public class SanityTest ts.beginTransaction(); index = ts.lookupIndex("testindex"); - accessor = index.buildAccessor(new IndexCriteria[]{new CriteriaBetween(new LongValue(123L),new LongValue(333L))},null); + accessor = index.buildAccessor(new IndexCriteria[]{new IndexBetween(new LongValue(123L),new LongValue(333L))},null); assertNotNull(accessor.getCurrentRowID()); value = accessor.getValue("colA"); assertNotNull(value); @@ -319,7 +319,7 @@ public class SanityTest ts.beginTransaction(); table = ts.lookupTable("testtable"); index = ts.lookupIndex("testindex"); - table.deleteRows(index.buildAccessor(new IndexCriteria[]{new CriteriaEquals(new LongValue(124L))},null)); + table.deleteRows(index.buildAccessor(new IndexCriteria[]{new IndexEquals(new LongValue(124L))},null)); ts.commitTransaction(); // Go through the iterator to see if it's gone @@ -410,8 +410,8 @@ public class SanityTest ts.beginTransaction(); index = ts.lookupIndex("testindex"); accessor = index.buildAccessor(new IndexCriteria[]{ - new CriteriaEquals(new StringValue("hello")), - new CriteriaBefore(new LongValue(123L))},null); + new IndexEquals(new StringValue("hello")), + new IndexBefore(new LongValue(123L))},null); assertNotNull(accessor.getCurrentRowID()); value = accessor.getValue("colA"); assertNotNull(value);