This list is closed, nobody may subscribe to it.
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(139) |
Aug
(94) |
Sep
(232) |
Oct
(143) |
Nov
(138) |
Dec
(55) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
(127) |
Feb
(90) |
Mar
(101) |
Apr
(74) |
May
(148) |
Jun
(241) |
Jul
(169) |
Aug
(121) |
Sep
(157) |
Oct
(199) |
Nov
(281) |
Dec
(75) |
2012 |
Jan
(107) |
Feb
(122) |
Mar
(184) |
Apr
(73) |
May
(14) |
Jun
(49) |
Jul
(26) |
Aug
(103) |
Sep
(133) |
Oct
(61) |
Nov
(51) |
Dec
(55) |
2013 |
Jan
(59) |
Feb
(72) |
Mar
(99) |
Apr
(62) |
May
(92) |
Jun
(19) |
Jul
(31) |
Aug
(138) |
Sep
(47) |
Oct
(83) |
Nov
(95) |
Dec
(111) |
2014 |
Jan
(125) |
Feb
(60) |
Mar
(119) |
Apr
(136) |
May
(270) |
Jun
(83) |
Jul
(88) |
Aug
(30) |
Sep
(47) |
Oct
(27) |
Nov
(23) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
(4) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <tho...@us...> - 2010-09-30 16:14:51
|
Revision: 3699 http://bigdata.svn.sourceforge.net/bigdata/?rev=3699&view=rev Author: thompsonbry Date: 2010-09-30 16:14:43 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Added a factory pattern for the query engine and hooked it into the unit tests and the sail. Working in the new logic for named and default graph access paths. I've added a method to clear annotations that we do not want to pass around. Exposed a method in RuleState (public static) to report the variables to be retained by each join. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/FederatedQueryEngine.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/join/PipelineJoin.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/RuleState.java branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/fed/TestFederatedQueryEngine.java branches/QUADS_QUERY_BRANCH/bigdata-jini/src/test/com/bigdata/bop/fed/jini/TestJiniFederatedQueryEngine.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java Added Paths: ----------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -411,11 +411,6 @@ * The name. * @param value * The value. - * - * @return The old value. - * - * @todo thread safety and visibility for concurrent access to and - * modifications of the annotations map. */ protected void setProperty(final String name, final Object value) { @@ -423,6 +418,23 @@ } + /** + * Clear an annotation. + * <p> + * Note: This protected to facilitate copy-on-write patterns. It is not + * public to prevent arbitrary changes to operators outside of methods which + * clone the operator and return the modified version. This is part of the + * effectively immutable contract for {@link BOp}s. + * + * @param name + * The name. + */ + protected void clearProperty(final String name) { + + annotations.remove(name); + + } + public int getId() { return (Integer) getRequiredProperty(Annotations.BOP_ID); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -93,7 +93,7 @@ super(vars, NV.asMap(annotations)); } - + /** * Disallows <code>null</code> in any position. * @param args @@ -491,6 +491,28 @@ } + /** + * Strips off the named annotations. + * + * @param names + * The annotations to be removed. + * + * @return A new predicate in which the specified annotations do not appear. + */ + public Predicate<E> clearAnnotations(final String[] names) { + + final Predicate<E> tmp = this.clone(); + + for(String name : names) { + + tmp.clearProperty(name); + + } + + return tmp; + + } + public String toString() { return toString(null/* bindingSet */); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/QueryEngine.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -269,7 +269,17 @@ return localIndexManager; } + + /** + * Return <code>true</code> iff running against an + * {@link IBigdataFederation}. + */ + public boolean isScaleOut() { + return false; + + } + /** * The currently executing queries. */ Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/FederatedQueryEngine.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/FederatedQueryEngine.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/FederatedQueryEngine.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -125,6 +125,13 @@ return resourceService; } + + @Override + final public boolean isScaleOut() { + + return true; + + } /** * Overridden to strengthen the return type. Added: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java (rev 0) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -0,0 +1,215 @@ +/** + +Copyright (C) SYSTAP, LLC 2006-2010. All rights reserved. + +Contact: + SYSTAP, LLC + 4501 Tower Road + Greensboro, NC 27410 + lic...@bi... + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +/* + * Created on Sep 30, 2010 + */ + +package com.bigdata.bop.fed; + +import java.io.File; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.util.Properties; +import java.util.UUID; + +import com.bigdata.bop.engine.QueryEngine; +import com.bigdata.journal.BufferMode; +import com.bigdata.journal.IIndexManager; +import com.bigdata.journal.Journal; +import com.bigdata.service.IBigdataFederation; +import com.bigdata.service.ManagedResourceService; +import com.bigdata.service.ResourceService; +import com.bigdata.util.config.NicUtil; + +/** + * Factory for a query controller. + * + * @author <a href="mailto:tho...@us...">Bryan Thompson</a> + * @version $Id$ + */ +public class QueryEngineFactory { + + /** + * New instance for standalone or scale-out. + * + * @param indexManager + * The database. + * + * @return The query controller. + */ + static public QueryEngine newQueryController(final IIndexManager indexManager) { + + if (indexManager instanceof IBigdataFederation<?>) { + + return newFederatedQueryController((IBigdataFederation<?>) indexManager); + + } + + return newStandaloneQueryController((Journal) indexManager); + + } + + /** + * New query controller for standalone. + * + * @param indexManager + * The journal. + * + * @return The query controller. + */ + static public QueryEngine newStandaloneQueryController( + final Journal indexManager) { + + final QueryEngine queryEngine = new QueryEngine(indexManager); + + queryEngine.init(); + + return queryEngine; + + } + + /** + * New query controller for scale-out. + * + * @param fed + * The federation. + * + * @return The query controller. + * + * @todo parameterize the local resource service and temporary storage. + */ + static public FederatedQueryEngine newFederatedQueryController( + final IBigdataFederation<?> fed) { + + // The local resource service for the query controller. + ManagedResourceService queryEngineResourceService = null; + + // The local persistence store for the query controller. + Journal queryEngineStore = null; + + final FederatedQueryEngine queryEngine; + try { + + // Create index manager for the query controller. + { + + final Properties p = new Properties(); + + p.setProperty(Journal.Options.BUFFER_MODE, BufferMode.Temporary + .toString()); + + p.setProperty(Journal.Options.CREATE_TEMP_FILE, "true"); + + queryEngineStore = new Journal(p); + + } + + // create resource service for the query controller. + { + queryEngineResourceService = new ManagedResourceService( + new InetSocketAddress(InetAddress + .getByName(NicUtil.getIpAddress("default.nic", + "default", true/* loopbackOk */)), 0/* port */ + ), 0/* requestServicePoolSize */) { + + @Override + protected File getResource(UUID uuid) throws Exception { + // Will not serve up files. + return null; + } + }; + } + + // create the query controller. + queryEngine = new FederatedQueryController(fed.getServiceUUID(), + fed, queryEngineStore, queryEngineResourceService); + + } catch (Throwable t) { + + if (queryEngineStore != null) + queryEngineStore.destroy(); + + if (queryEngineResourceService != null) + queryEngineResourceService.shutdownNow(); + + throw new RuntimeException(t); + + } + + queryEngine.init(); + + return queryEngine; + + } + + /** + * Implementation manages its own local storage and resource service. + */ + private static class FederatedQueryController extends FederatedQueryEngine { + + /** The local persistence store for the {@link #queryEngine}. */ + final Journal queryEngineStore; + + /** The local {@link ResourceService} for the {@link #queryEngine}. */ + final ManagedResourceService queryEngineResourceService; + + /** + * @param thisService + * @param fed + * @param indexManager + * @param resourceService + */ + public FederatedQueryController(UUID thisService, + IBigdataFederation<?> fed, Journal indexManager, + ManagedResourceService resourceService) { + + super(thisService, fed, indexManager, resourceService); + + this.queryEngineStore = indexManager; + + this.queryEngineResourceService = resourceService; + + } + + @Override + public void shutdown() { + super.shutdown(); + queryEngineResourceService.shutdown(); + tearDown(); + } + + @Override + public void shutdownNow() { + super.shutdownNow(); + queryEngineResourceService.shutdownNow(); + tearDown(); + } + + private void tearDown() { + queryEngineStore.destroy(); + } + + } + +} Property changes on: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/fed/QueryEngineFactory.java ___________________________________________________________________ Added: svn:keywords + Id Date Revision Author HeadURL Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/join/PipelineJoin.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/join/PipelineJoin.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/join/PipelineJoin.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -46,6 +46,7 @@ import com.bigdata.bop.BOp; import com.bigdata.bop.BOpContext; import com.bigdata.bop.BOpEvaluationContext; +import com.bigdata.bop.NV; import com.bigdata.bop.PipelineOp; import com.bigdata.bop.IBindingSet; import com.bigdata.bop.IConstraint; @@ -241,6 +242,39 @@ } } + + /** + * Shallow copy vararg constructor. + * + * @param args + * @param annotations + */ + public PipelineJoin(final BOp[] args, NV[] annotations) { + + this(args, NV.asMap(annotations)); + + } + + /** + * Shallow copy constructor. + * + * @param args + * @param annotations + */ + public PipelineJoin(final BOp[] args, final Map<String, Object> annotations) { + + super(args, annotations); + + if (arity() != 2) + throw new IllegalArgumentException(); + + if (left() == null) + throw new IllegalArgumentException(); + + if (right() == null) + throw new IllegalArgumentException(); + + } /** * @param left @@ -254,14 +288,8 @@ public PipelineJoin(final PipelineOp left, final IPredicate<?> right, final Map<String, Object> annotations) { - super(new BOp[] { left, right }, annotations); + this(new BOp[] { left, right }, annotations); - if (left == null) - throw new IllegalArgumentException(); - - if (right == null) - throw new IllegalArgumentException(); - } /** Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/RuleState.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/RuleState.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/RuleState.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -308,7 +308,7 @@ * @return * The array of required variables for each tail index. */ - protected IVariable[][] computeRequiredVarsForEachTail(final IRule rule, + static public IVariable[][] computeRequiredVarsForEachTail(final IRule rule, final int[] order) { if (order == null) Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/fed/TestFederatedQueryEngine.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/fed/TestFederatedQueryEngine.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/fed/TestFederatedQueryEngine.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -27,10 +27,7 @@ package com.bigdata.bop.fed; -import java.io.File; import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.util.Map; import java.util.Properties; @@ -40,7 +37,6 @@ import com.bigdata.bop.BOp; import com.bigdata.bop.BOpContext; import com.bigdata.bop.BOpEvaluationContext; -import com.bigdata.bop.PipelineOp; import com.bigdata.bop.Constant; import com.bigdata.bop.HashBindingSet; import com.bigdata.bop.IBindingSet; @@ -49,6 +45,7 @@ import com.bigdata.bop.IVariable; import com.bigdata.bop.IVariableOrConstant; import com.bigdata.bop.NV; +import com.bigdata.bop.PipelineOp; import com.bigdata.bop.Var; import com.bigdata.bop.ap.E; import com.bigdata.bop.ap.Predicate; @@ -66,21 +63,15 @@ import com.bigdata.bop.solutions.SliceOp; import com.bigdata.bop.solutions.SortOp; import com.bigdata.btree.keys.KeyBuilder; -import com.bigdata.journal.BufferMode; import com.bigdata.journal.ITx; -import com.bigdata.journal.Journal; -import com.bigdata.rdf.spo.DistinctSPOIterator; import com.bigdata.relation.accesspath.IAsynchronousIterator; import com.bigdata.relation.accesspath.ThickAsynchronousIterator; import com.bigdata.service.AbstractEmbeddedFederationTestCase; import com.bigdata.service.DataService; import com.bigdata.service.EmbeddedClient; import com.bigdata.service.EmbeddedFederation; -import com.bigdata.service.ManagedResourceService; -import com.bigdata.service.ResourceService; import com.bigdata.striterator.ChunkedArrayIterator; import com.bigdata.striterator.Dechunkerator; -import com.bigdata.util.config.NicUtil; /** * Unit tests for {@link FederatedQueryEngine} running against an @@ -132,12 +123,12 @@ // The separator key between the index partitions. private byte[] separatorKey; - /** The local persistence store for the {@link #queryEngine}. */ - private Journal queryEngineStore; +// /** The local persistence store for the {@link #queryEngine}. */ +// private Journal queryEngineStore; +// +// /** The local {@link ResourceService} for the {@link #queryEngine}. */ +// private ManagedResourceService queryEngineResourceService; - /** The local {@link ResourceService} for the {@link #queryEngine}. */ - private ManagedResourceService queryEngineResourceService; - /** The query controller. */ private FederatedQueryEngine queryEngine; @@ -163,42 +154,43 @@ // final IBigdataFederation<?> fed = client.connect(); - // create index manager for the query controller. - { - final Properties p = new Properties(); - p.setProperty(Journal.Options.BUFFER_MODE, BufferMode.Transient - .toString()); - queryEngineStore = new Journal(p); - } +// // create index manager for the query controller. +// { +// final Properties p = new Properties(); +// p.setProperty(Journal.Options.BUFFER_MODE, BufferMode.Transient +// .toString()); +// queryEngineStore = new Journal(p); +// } +// +// // create resource service for the query controller. +// { +// queryEngineResourceService = new ManagedResourceService( +// new InetSocketAddress(InetAddress +// .getByName(NicUtil.getIpAddress("default.nic", +// "default", true/* loopbackOk */)), 0/* port */ +// ), 0/* requestServicePoolSize */) { +// +// @Override +// protected File getResource(UUID uuid) throws Exception { +// // Will not serve up files. +// return null; +// } +// }; +// } +// +// { +// +// // create the query controller. +// queryEngine = new FederatedQueryEngine(UUID.randomUUID(), fed, +// queryEngineStore, queryEngineResourceService); +// +// queryEngine.init(); +// +// System.err.println("controller: " + queryEngine); +// +// } + queryEngine = QueryEngineFactory.newFederatedQueryController(fed); - // create resource service for the query controller. - { - queryEngineResourceService = new ManagedResourceService( - new InetSocketAddress(InetAddress - .getByName(NicUtil.getIpAddress("default.nic", - "default", true/* loopbackOk */)), 0/* port */ - ), 0/* requestServicePoolSize */) { - - @Override - protected File getResource(UUID uuid) throws Exception { - // Will not serve up files. - return null; - } - }; - } - - { - - // create the query controller. - queryEngine = new FederatedQueryEngine(UUID.randomUUID(), fed, - queryEngineStore, queryEngineResourceService); - - queryEngine.init(); - - System.err.println("controller: " + queryEngine); - - } - // dataService0 = fed.getDataService(dataServices[0]); // dataService1 = fed.getDataService(dataServices[1]); { @@ -251,14 +243,14 @@ // clear reference. separatorKey = null; - if (queryEngineResourceService != null) { - queryEngineResourceService.shutdownNow(); - queryEngineResourceService = null; - } - if (queryEngineStore != null) { - queryEngineStore.destroy(); - queryEngineStore = null; - } +// if (queryEngineResourceService != null) { +// queryEngineResourceService.shutdownNow(); +// queryEngineResourceService = null; +// } +// if (queryEngineStore != null) { +// queryEngineStore.destroy(); +// queryEngineStore = null; +// } if (queryEngine != null) { queryEngine.shutdownNow(); queryEngine = null; Modified: branches/QUADS_QUERY_BRANCH/bigdata-jini/src/test/com/bigdata/bop/fed/jini/TestJiniFederatedQueryEngine.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-jini/src/test/com/bigdata/bop/fed/jini/TestJiniFederatedQueryEngine.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata-jini/src/test/com/bigdata/bop/fed/jini/TestJiniFederatedQueryEngine.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -27,10 +27,7 @@ package com.bigdata.bop.fed.jini; -import java.io.File; import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; import java.util.Map; import java.util.Properties; import java.util.UUID; @@ -43,7 +40,6 @@ import com.bigdata.bop.BOp; import com.bigdata.bop.BOpContext; import com.bigdata.bop.BOpEvaluationContext; -import com.bigdata.bop.PipelineOp; import com.bigdata.bop.Constant; import com.bigdata.bop.HashBindingSet; import com.bigdata.bop.IBindingSet; @@ -51,6 +47,7 @@ import com.bigdata.bop.IVariable; import com.bigdata.bop.IVariableOrConstant; import com.bigdata.bop.NV; +import com.bigdata.bop.PipelineOp; import com.bigdata.bop.Var; import com.bigdata.bop.ap.E; import com.bigdata.bop.ap.Predicate; @@ -64,25 +61,21 @@ import com.bigdata.bop.engine.RunningQuery; import com.bigdata.bop.engine.TestQueryEngine; import com.bigdata.bop.fed.FederatedQueryEngine; +import com.bigdata.bop.fed.QueryEngineFactory; import com.bigdata.bop.join.PipelineJoin; import com.bigdata.bop.solutions.SliceOp; import com.bigdata.bop.solutions.SortOp; import com.bigdata.btree.keys.KeyBuilder; -import com.bigdata.journal.BufferMode; import com.bigdata.journal.ITx; -import com.bigdata.journal.Journal; import com.bigdata.relation.accesspath.IAsynchronousIterator; import com.bigdata.relation.accesspath.ThickAsynchronousIterator; import com.bigdata.service.DataService; import com.bigdata.service.IBigdataFederation; import com.bigdata.service.IDataService; -import com.bigdata.service.ManagedResourceService; -import com.bigdata.service.ResourceService; import com.bigdata.service.jini.JiniClient; import com.bigdata.service.jini.JiniFederation; import com.bigdata.striterator.ChunkedArrayIterator; import com.bigdata.striterator.Dechunkerator; -import com.bigdata.util.config.NicUtil; import com.ibm.icu.impl.ByteBuffer; /** @@ -137,12 +130,12 @@ private JiniClient<?> client; - /** The local persistence store for the {@link #queryEngine}. */ - private Journal queryEngineStore; +// /** The local persistence store for the {@link #queryEngine}. */ +// private Journal queryEngineStore; +// +// /** The local {@link ResourceService} for the {@link #queryEngine}. */ +// private ManagedResourceService queryEngineResourceService; - /** The local {@link ResourceService} for the {@link #queryEngine}. */ - private ManagedResourceService queryEngineResourceService; - /** The query controller. */ private FederatedQueryEngine queryEngine; @@ -163,40 +156,42 @@ final IBigdataFederation<?> fed = client.connect(); - // create index manager for the query controller. - { - final Properties p = new Properties(); - p.setProperty(Journal.Options.BUFFER_MODE, BufferMode.Transient - .toString()); - queryEngineStore = new Journal(p); - } - - // create resource service for the query controller. - { - queryEngineResourceService = new ManagedResourceService( - new InetSocketAddress(InetAddress - .getByName(NicUtil.getIpAddress("default.nic", - "default", true/* loopbackOk */)), 0/* port */ - ), 0/* requestServicePoolSize */) { +// // create index manager for the query controller. +// { +// final Properties p = new Properties(); +// p.setProperty(Journal.Options.BUFFER_MODE, BufferMode.Transient +// .toString()); +// queryEngineStore = new Journal(p); +// } +// +// // create resource service for the query controller. +// { +// queryEngineResourceService = new ManagedResourceService( +// new InetSocketAddress(InetAddress +// .getByName(NicUtil.getIpAddress("default.nic", +// "default", true/* loopbackOk */)), 0/* port */ +// ), 0/* requestServicePoolSize */) { +// +// @Override +// protected File getResource(UUID uuid) throws Exception { +// // Will not serve up files. +// return null; +// } +// }; +// } +// +// // create the query controller. +// { +// +// queryEngine = new FederatedQueryEngine(fed.getServiceUUID(), fed, +// queryEngineStore, queryEngineResourceService); +// +// queryEngine.init(); +// +// } - @Override - protected File getResource(UUID uuid) throws Exception { - // Will not serve up files. - return null; - } - }; - } - - // create the query controller. - { - - queryEngine = new FederatedQueryEngine(fed.getServiceUUID(), fed, - queryEngineStore, queryEngineResourceService); + queryEngine = QueryEngineFactory.newFederatedQueryController(fed); - queryEngine.init(); - - } - /* * Discover the data services. We need their UUIDs in order to create * the test relation split across an index partition located on each of @@ -280,14 +275,14 @@ dataService0 = null; dataService1 = null; - if (queryEngineResourceService != null) { - queryEngineResourceService.shutdownNow(); - queryEngineResourceService = null; - } - if (queryEngineStore != null) { - queryEngineStore.destroy(); - queryEngineStore = null; - } +// if (queryEngineResourceService != null) { +// queryEngineResourceService.shutdownNow(); +// queryEngineResourceService = null; +// } +// if (queryEngineStore != null) { +// queryEngineStore.destroy(); +// queryEngineStore = null; +// } if (queryEngine != null) { queryEngine.shutdownNow(); queryEngine = null; Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2010-09-30 15:30:23 UTC (rev 3698) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2010-09-30 16:14:43 UTC (rev 3699) @@ -113,6 +113,7 @@ import org.openrdf.sail.SailException; import com.bigdata.bop.engine.QueryEngine; +import com.bigdata.bop.fed.QueryEngineFactory; import com.bigdata.journal.IIndexManager; import com.bigdata.journal.ITransactionService; import com.bigdata.journal.ITx; @@ -920,11 +921,10 @@ namespaces = Collections.synchronizedMap(new LinkedHashMap<String, String>()); + + queryEngine = QueryEngineFactory.newQueryController(database + .getIndexManager()); - queryEngine = new QueryEngine(database.getIndexManager()); - - queryEngine.init(); - } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-30 15:30:34
|
Revision: 3698 http://bigdata.svn.sourceforge.net/bigdata/?rev=3698&view=rev Author: thompsonbry Date: 2010-09-30 15:30:23 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Added checkArgs() to Predicte to trap null 'c' values. Fixed some Predicator constructor invocations with null for 'c'. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-30 15:05:13 UTC (rev 3697) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-30 15:30:23 UTC (rev 3698) @@ -126,7 +126,7 @@ * @throws IllegalArgumentException * if the arguments are not valid for the operator. */ - protected void checkArgs(final Object[] args) { + protected void checkArgs(final BOp[] args) { } Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java 2010-09-30 15:05:13 UTC (rev 3697) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java 2010-09-30 15:30:23 UTC (rev 3698) @@ -93,6 +93,18 @@ super(vars, NV.asMap(annotations)); } + + /** + * Disallows <code>null</code> in any position. + * @param args + */ + @Override + protected void checkArgs(BOp[] args) { + for (BOp a : args) { + if (a == null) + throw new IllegalArgumentException(); + } + } // /** // * Simplified ctor. Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java 2010-09-30 15:05:13 UTC (rev 3697) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java 2010-09-30 15:30:23 UTC (rev 3698) @@ -991,7 +991,9 @@ } - Predicate<ISPO> pred = new SPOPredicate(new BOp[] { S, P, O, C }, + Predicate<ISPO> pred = new SPOPredicate( + keyArity == 4 ? new BOp[] { S, + P, O, C } : new BOp[] { S, P, O }, new NV(IPredicate.Annotations.RELATION_NAME, new String[] { getNamespace() })); @@ -2197,12 +2199,16 @@ final StringBuilder sb = new StringBuilder(); final IPredicate<ISPO> pred = new SPOPredicate( - new BOp[]{// + keyArity==4?new BOp[]{// Var.var("s"),// Var.var("p"),// Var.var("o"),// - keyArity == 3 ? null : Var.var("c"),// - },// + Var.var("c"),// + }:new BOp[] { + Var.var("s"),// + Var.var("p"),// + Var.var("o"),// + },// NV.asMap(new NV[] {// new NV(IPredicate.Annotations.RELATION_NAME, new String[] { getNamespace() }),// Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java 2010-09-30 15:05:13 UTC (rev 3697) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java 2010-09-30 15:30:23 UTC (rev 3698) @@ -92,8 +92,9 @@ */ public SPOStarJoin(final SPOPredicate pred) { - super(new BOp[] { pred.s(), Var.var(), Var.var(), pred.c() }, - deepCopy(pred.annotations())); + super(pred.arity() == 3 ? new BOp[] { pred.s(), Var.var(), Var.var() } + : new BOp[] { pred.s(), Var.var(), Var.var(), pred.c() }, + deepCopy(pred.annotations())); // this(new String[] { pred.getOnlyRelationName() }, pred.getPartitionId(), // pred.s(), // s Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java 2010-09-30 15:05:13 UTC (rev 3697) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java 2010-09-30 15:30:23 UTC (rev 3698) @@ -2484,12 +2484,17 @@ final SPORelation r = getSPORelation(); final SPOPredicate p = new SPOPredicate( + quads? new BOp[]{// Var.var("s"),// Var.var("p"),// Var.var("o"),// - quads ? Var.var("c") : null,// - },// + Var.var("c")// + }: new BOp[]{ + Var.var("s"),// + Var.var("p"),// + Var.var("o"),// + },// NV.asMap(new NV[] {// new NV(IPredicate.Annotations.RELATION_NAME, new String[] { r.getNamespace() }),// Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java 2010-09-30 15:05:13 UTC (rev 3697) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java 2010-09-30 15:30:23 UTC (rev 3698) @@ -117,16 +117,16 @@ store.commit(); System.err.println(store.dumpStore()); - - final SPOPredicate pred = new SPOPredicate( - store.getSPORelation().getNamespace(), - Var.var("frameClass"), - new Constant<IV>(store.getIV(RDF.TYPE)), - new Constant<IV>(frameClass.getIV()) - ); + final SPOPredicate pred = new SPOPredicate(new BOp[] { + Var.var("frameClass"), + new Constant<IV>(store.getIV(RDF.TYPE)), + new Constant<IV>(frameClass.getIV()) }, new NV( + IPredicate.Annotations.RELATION_NAME, new String[] { store + .getSPORelation().getNamespace(), })); + final SPOStarJoin starJoin = new SPOStarJoin(new BOp[] { - Var.var("frameClass"), Var.var(), Var.var() }, + Var.var("frameClass"), Var.var(), Var.var()},//, null /* c */}, NV.asMap(new NV[] { new NV( SPOStarJoin.Annotations.RELATION_NAME, new String[]{store .getSPORelation().getNamespace()}) })); @@ -271,14 +271,14 @@ System.err.println(store.dumpStore()); final SPOPredicate pred = new SPOPredicate( - store.getSPORelation().getNamespace(), - Var.var("frameProperty"), + new BOp[]{Var.var("frameProperty"), new Constant<IV>(store.getIV(RDF.TYPE)), - new Constant<IV>(store.getIV(RDFS.RESOURCE)) + new Constant<IV>(store.getIV(RDFS.RESOURCE))}, + new NV(IPredicate.Annotations.RELATION_NAME,new String[]{store.getSPORelation().getNamespace()}) ); final SPOStarJoin starJoin = new SPOStarJoin(new BOp[] { - Var.var("frameProperty"), Var.var(), Var.var() }, + Var.var("frameProperty"), Var.var(), Var.var()},//, null /* c */}, NV.asMap(new NV[] { new NV( SPOStarJoin.Annotations.RELATION_NAME, new String[]{store .getSPORelation().getNamespace()}) })); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrp...@us...> - 2010-09-30 15:05:19
|
Revision: 3697 http://bigdata.svn.sourceforge.net/bigdata/?rev=3697&view=rev Author: mrpersonick Date: 2010-09-30 15:05:13 +0000 (Thu, 30 Sep 2010) Log Message: ----------- getting rid of null c Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java 2010-09-30 14:58:32 UTC (rev 3696) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java 2010-09-30 15:05:13 UTC (rev 3697) @@ -126,7 +126,7 @@ ); final SPOStarJoin starJoin = new SPOStarJoin(new BOp[] { - Var.var("frameClass"), Var.var(), Var.var(), null /* c */}, + Var.var("frameClass"), Var.var(), Var.var() }, NV.asMap(new NV[] { new NV( SPOStarJoin.Annotations.RELATION_NAME, new String[]{store .getSPORelation().getNamespace()}) })); @@ -278,7 +278,7 @@ ); final SPOStarJoin starJoin = new SPOStarJoin(new BOp[] { - Var.var("frameProperty"), Var.var(), Var.var(), null /* c */}, + Var.var("frameProperty"), Var.var(), Var.var() }, NV.asMap(new NV[] { new NV( SPOStarJoin.Annotations.RELATION_NAME, new String[]{store .getSPORelation().getNamespace()}) })); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-30 14:58:39
|
Revision: 3696 http://bigdata.svn.sourceforge.net/bigdata/?rev=3696&view=rev Author: thompsonbry Date: 2010-09-30 14:58:32 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Removed logging to stderr. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java 2010-09-30 14:56:57 UTC (rev 3695) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java 2010-09-30 14:58:32 UTC (rev 3696) @@ -123,9 +123,6 @@ public boolean isValid(Object o) { - System.err.println(o); - System.err.println(o.getClass()); - if (!canAccept(o)) { return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-30 14:57:03
|
Revision: 3695 http://bigdata.svn.sourceforge.net/bigdata/?rev=3695&view=rev Author: thompsonbry Date: 2010-09-30 14:56:57 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Fixed problem with SolutionFilter where it was failing to resolve the solution to the ISPO. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/SolutionFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/TestRuleRdfs04.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/SolutionFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/SolutionFilter.java 2010-09-30 14:54:59 UTC (rev 3694) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/SolutionFilter.java 2010-09-30 14:56:57 UTC (rev 3695) @@ -27,17 +27,15 @@ } - public boolean isValid(final Object o) { + @SuppressWarnings("unchecked") + public boolean isValid(final Object o) { - return delegate.isValid(o); + final E e = ((ISolution<E>) o).get(); + + return delegate.isValid(e); } - /* - * Note: The old implementation is below. Based on it, the canAccept() - * method was not (and still is not) being invoked for SolutionFilter. - */ - // public boolean accept(final ISolution<E> solution) { // // final E e = solution.get(); Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/TestRuleRdfs04.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/TestRuleRdfs04.java 2010-09-30 14:54:59 UTC (rev 3694) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/rules/TestRuleRdfs04.java 2010-09-30 14:56:57 UTC (rev 3695) @@ -230,7 +230,7 @@ .getAxioms(), true/* forwardChainRdfTypeRdfsResource */); applyRule(store, r, filter/*, false /*justified*/, - -1/* solutionCount */, 0/* mutationCount*/); + 0/* solutionCount */, 0/* mutationCount*/); /* * validate the state of the primary store - there is no entailment This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrp...@us...> - 2010-09-30 14:55:05
|
Revision: 3694 http://bigdata.svn.sourceforge.net/bigdata/?rev=3694&view=rev Author: mrpersonick Date: 2010-09-30 14:54:59 +0000 (Thu, 30 Sep 2010) Log Message: ----------- rolling back changes to filters to handle solutions Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOFilter.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java 2010-09-30 14:18:41 UTC (rev 3693) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java 2010-09-30 14:54:59 UTC (rev 3694) @@ -58,10 +58,8 @@ } - final ISolution solution = (ISolution) o; + return accept((ISPO) o); - return accept((ISPO) solution.get()); - } private boolean accept(final ISPO spo) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java 2010-09-30 14:18:41 UTC (rev 3693) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java 2010-09-30 14:54:59 UTC (rev 3694) @@ -132,10 +132,8 @@ } - final ISolution solution = (ISolution) o; + return accept((ISPO) o); - return accept((ISPO) solution.get()); - } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java 2010-09-30 14:18:41 UTC (rev 3693) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java 2010-09-30 14:54:59 UTC (rev 3694) @@ -67,10 +67,8 @@ } - final ISolution solution = (ISolution) o; + return accept((ISPO) o); - return accept((ISPO) solution.get()); - } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java 2010-09-30 14:18:41 UTC (rev 3693) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java 2010-09-30 14:54:59 UTC (rev 3694) @@ -87,10 +87,8 @@ } - final ISolution solution = (ISolution) o; + return accept((ISPO) o); - return accept((ISPO) solution.get()); - } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java 2010-09-30 14:18:41 UTC (rev 3693) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java 2010-09-30 14:54:59 UTC (rev 3694) @@ -73,10 +73,8 @@ } - final ISolution solution = (ISolution) o; + return accept((ISPO) o); - return accept((ISPO) solution.get()); - } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java 2010-09-30 14:18:41 UTC (rev 3693) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java 2010-09-30 14:54:59 UTC (rev 3694) @@ -70,10 +70,8 @@ } - final ISolution solution = (ISolution) o; + return accept((ISPO) o); - return accept((ISPO) solution.get()); - } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java 2010-09-30 14:18:41 UTC (rev 3693) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java 2010-09-30 14:54:59 UTC (rev 3694) @@ -67,10 +67,8 @@ } - final ISolution solution = (ISolution) o; + return accept((ISPO) o); - return accept((ISPO) solution.get()); - } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOFilter.java 2010-09-30 14:18:41 UTC (rev 3693) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOFilter.java 2010-09-30 14:54:59 UTC (rev 3694) @@ -1,7 +1,6 @@ package com.bigdata.rdf.spo; import com.bigdata.relation.accesspath.IElementFilter; -import com.bigdata.relation.rule.eval.ISolution; public abstract class SPOFilter<E extends ISPO> implements IElementFilter<E> { @@ -12,16 +11,8 @@ public boolean canAccept(final Object o) { - if (o instanceof ISolution) { - - ISolution solution = (ISolution) o; - - return solution.get() instanceof ISPO; - - } + return o instanceof ISPO; - return false; - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrp...@us...> - 2010-09-30 14:18:47
|
Revision: 3693 http://bigdata.svn.sourceforge.net/bigdata/?rev=3693&view=rev Author: mrpersonick Date: 2010-09-30 14:18:41 +0000 (Thu, 30 Sep 2010) Log Message: ----------- added a system.err Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java 2010-09-30 13:47:26 UTC (rev 3692) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java 2010-09-30 14:18:41 UTC (rev 3693) @@ -123,6 +123,9 @@ public boolean isValid(Object o) { + System.err.println(o); + System.err.println(o.getClass()); + if (!canAccept(o)) { return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <res...@us...> - 2010-09-30 13:47:35
|
Revision: 3692 http://bigdata.svn.sourceforge.net/bigdata/?rev=3692&view=rev Author: resendes Date: 2010-09-30 13:47:26 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Removing branch after merge with (parent) maven_scaleout branch Removed Paths: ------------- branches/bbb_cleanup/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <res...@us...> - 2010-09-30 13:43:39
|
Revision: 3691 http://bigdata.svn.sourceforge.net/bigdata/?rev=3691&view=rev Author: resendes Date: 2010-09-30 13:43:30 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Merge (back) from bbb_cleanup branch -- fixes for com.bigdata.util package Modified Paths: -------------- branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/BootStateUtil.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/CSVReader.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/EntryUtil.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/Format.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/HTMLUtility.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/InnerCause.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/MillisecondTimestampFactory.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/NT.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/NV.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ReverseLongComparator.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestAll.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestCSVReader.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestInnerCause.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestMillisecondTimestampFactory.java Added Paths: ----------- branches/maven_scaleout/bigdata-core/build/ branches/maven_scaleout/bigdata-core/build/classes/ branches/maven_scaleout/bigdata-core/src/META-INF/ branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/CSVReaderBuilder.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestBootStateUtil.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestEntryUtil.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestFormat.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestHTMLUtility.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestNT.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestNV.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestReverseLongComparator.java Removed Paths: ------------- branches/maven_scaleout/bigdata-core/build/classes/ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ByteBufferBitVector.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ChecksumError.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ClassLoaderUtil.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/HybridTimestampFactory.java branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/NanosecondTimestampFactory.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestByteBufferBitVector.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestHybridTimestampFactory.java branches/maven_scaleout/bigdata-core/src/test/java/com/bigdata/util/TestNanosecondTimestampFactory.java Property Changed: ---------------- branches/maven_scaleout/bigdata-core/ branches/maven_scaleout/bigdata-core/bigdata-perf/ branches/maven_scaleout/bigdata-core/bigdata-perf/lubm/src/resources/ branches/maven_scaleout/bigdata-core/dsi-utils/LEGAL/ branches/maven_scaleout/bigdata-core/dsi-utils/lib/ branches/maven_scaleout/bigdata-core/dsi-utils/src/ branches/maven_scaleout/bigdata-core/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom/ branches/maven_scaleout/bigdata-core/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom/ branches/maven_scaleout/bigdata-core/osgi/ branches/maven_scaleout/bigdata-core/src/main/deploy/bin/ branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/ branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/boot/ branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/logging/ branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties branches/maven_scaleout/bigdata-core/src/main/java/ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/attr/ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/disco/ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/rdf/sail/bench/ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/rdf/util/ branches/maven_scaleout/bigdata-core/src/samples-sail/com/bigdata/samples/fastload.properties branches/maven_scaleout/bigdata-core/src/test/deploy/testing/conf/bigdataStandaloneTesting.config branches/maven_scaleout/bigdata-core/src/test/deploy/testing/data/com/bigdata/jini/start/config/testfed.config branches/maven_scaleout/bigdata-core/src/test/deploy/testing/data/com/bigdata/jini/start/testfed.config branches/maven_scaleout/bigdata-core/src/test/deploy/testing/data/com/bigdata/service/jini/master/TestMappedRDFDataLoadMaster.config branches/maven_scaleout/bigdata-core/src/test/java/ Property changes on: branches/maven_scaleout/bigdata-core ___________________________________________________________________ Modified: svn:mergeinfo - /trunk:3499 + /branches/bbb_cleanup/bigdata-core:3588-3690 /trunk:3499 Property changes on: branches/maven_scaleout/bigdata-core/bigdata-perf ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/bigdata-perf:3379-3541 + /branches/bbb_cleanup/bigdata-core/bigdata-perf:3588-3690 /trunk/bigdata-perf:3379-3541 Property changes on: branches/maven_scaleout/bigdata-core/bigdata-perf/lubm/src/resources ___________________________________________________________________ Modified: svn:mergeinfo - /branches/dev-btm/bigdata-perf/lubm/src/resources:2574-3440 /trunk/bigdata-perf/lubm/src/resources:3379-3541 + /branches/bbb_cleanup/bigdata-core/bigdata-perf/lubm/src/resources:3588-3690 /branches/dev-btm/bigdata-perf/lubm/src/resources:2574-3440 /trunk/bigdata-perf/lubm/src/resources:3379-3541 Property changes on: branches/maven_scaleout/bigdata-core/dsi-utils/LEGAL ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/dsi-utils/LEGAL:3379-3430,3499 + /branches/bbb_cleanup/bigdata-core/dsi-utils/LEGAL:3588-3690 /trunk/dsi-utils/LEGAL:3379-3430,3499 Property changes on: branches/maven_scaleout/bigdata-core/dsi-utils/lib ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/dsi-utils/lib:3379-3430,3499 + /branches/bbb_cleanup/bigdata-core/dsi-utils/lib:3588-3690 /trunk/dsi-utils/lib:3379-3430,3499 Property changes on: branches/maven_scaleout/bigdata-core/dsi-utils/src ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/dsi-utils/src:3379-3430,3499 + /branches/bbb_cleanup/bigdata-core/dsi-utils/src:3588-3690 /trunk/dsi-utils/src:3379-3430,3499 Property changes on: branches/maven_scaleout/bigdata-core/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom:3379-3430,3499 + /branches/bbb_cleanup/bigdata-core/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom:3588-3690 /trunk/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom:3379-3430,3499 Property changes on: branches/maven_scaleout/bigdata-core/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom:3379-3430,3499 + /branches/bbb_cleanup/bigdata-core/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom:3588-3690 /trunk/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom:3379-3430,3499 Property changes on: branches/maven_scaleout/bigdata-core/osgi ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/osgi:3379-3430,3499 + /branches/bbb_cleanup/bigdata-core/osgi:3588-3690 /trunk/osgi:3379-3430,3499 Property changes on: branches/maven_scaleout/bigdata-core/src/main/deploy/bin ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/bin:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/bin:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/bin:2633-3304 /branches/bugfix-btm/bigdata-core/src/main/deploy/bin:2594-3237 /branches/dev-btm/bigdata-core/src/main/deploy/bin:2574-3440,3443,3463,3469-3470 /branches/dev-btm/src/resources/bin:3463 /branches/fko/bigdata-core/src/main/deploy/bin:3150-3194 /trunk/bigdata-core/src/main/deploy/bin:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 + /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/bin:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/bin:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/bin:2633-3304 /branches/bbb_cleanup/bigdata-core/src/main/deploy/bin:3588-3690 /branches/bugfix-btm/bigdata-core/src/main/deploy/bin:2594-3237 /branches/dev-btm/bigdata-core/src/main/deploy/bin:2574-3440,3443,3463,3469-3470 /branches/dev-btm/src/resources/bin:3463 /branches/fko/bigdata-core/src/main/deploy/bin:3150-3194 /trunk/bigdata-core/src/main/deploy/bin:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 Property changes on: branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini ___________________________________________________________________ Modified: svn:mergeinfo - /trunk/src/main/deploy/var/config/jini:3499 /trunk/src/resources/config:3516-3528 + /branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/jini:3588-3690 /trunk/src/main/deploy/var/config/jini:3499 /trunk/src/resources/config:3516-3528 Property changes on: branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2633-3304 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2594-3237 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2574-3440,3443,3463,3469-3470 /branches/dev-btm/src/resources/config/bigdataCluster.config:3463 /branches/fko/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 /trunk/src/resources/config/bigdataCluster.config:3516-3528 + /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2633-3304 /branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:3588-3690 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2594-3237 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:2574-3440,3443,3463,3469-3470 /branches/dev-btm/src/resources/config/bigdataCluster.config:3463 /branches/fko/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 /trunk/src/resources/config/bigdataCluster.config:3516-3528 Property changes on: branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/boot ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/jini/boot:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/jini/boot:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/jini/boot:2633-3304 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/jini/boot:2594-3237 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/jini/boot:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/boot/config:3469-3470 /branches/fko/bigdata-core/src/main/deploy/var/config/jini/boot:3150-3194 /branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/boot:3379-3438 /trunk/bigdata-core/src/main/deploy/var/config/jini/boot:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 + /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/jini/boot:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/jini/boot:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/jini/boot:2633-3304 /branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/jini/boot:3588-3690 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/jini/boot:2594-3237 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/jini/boot:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/boot/config:3469-3470 /branches/fko/bigdata-core/src/main/deploy/var/config/jini/boot:3150-3194 /branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/boot:3379-3438 /trunk/bigdata-core/src/main/deploy/var/config/jini/boot:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 Property changes on: branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2633-3304 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2594-3237 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/metadata/config/shardlocator.config:3463 /branches/fko/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 + /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2633-3304 /branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:3588-3690 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2594-3237 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/metadata/config/shardlocator.config:3463 /branches/fko/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 Property changes on: branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/logging ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/logging:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/logging:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/logging:2633-3304 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/logging:2594-3237 /branches/dev-btm/bigdata/src/resources/logging:3463 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/logging:2574-3440,3443,3463,3469-3470 /branches/fko/bigdata-core/src/main/deploy/var/config/logging:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/logging:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 + /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/logging:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/logging:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/logging:2633-3304 /branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/logging:3588-3690 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/logging:2594-3237 /branches/dev-btm/bigdata/src/resources/logging:3463 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/logging:2574-3440,3443,3463,3469-3470 /branches/fko/bigdata-core/src/main/deploy/var/config/logging:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/logging:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 Property changes on: branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2633-3304 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2594-3237 /branches/dev-btm/bigdata/src/resources/logging/shardlocator-logging.properties:3463 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/metadata/config/logging.properties:3463 /branches/fko/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 + /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2633-3304 /branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:3588-3690 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2594-3237 /branches/dev-btm/bigdata/src/resources/logging/shardlocator-logging.properties:3463 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/metadata/config/logging.properties:3463 /branches/fko/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 Property changes on: branches/maven_scaleout/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2633-3304 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2594-3237 /branches/dev-btm/bigdata/src/resources/logging/transaction-logging.properties:3463 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/transaction/config/logging.properties:3463 /branches/fko/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 + /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2633-3304 /branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:3588-3690 /branches/bugfix-btm/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2594-3237 /branches/dev-btm/bigdata/src/resources/logging/transaction-logging.properties:3463 /branches/dev-btm/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/transaction/config/logging.properties:3463 /branches/fko/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:3150-3194 /trunk/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 Property changes on: branches/maven_scaleout/bigdata-core/src/main/java ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/java:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/java:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/java:2633-3304 /branches/bugfix-btm/bigdata-core/src/main/java:2594-3237 /branches/dev-btm/bigdata/src/java:3463 /branches/dev-btm/bigdata-core/src/main/java:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java:3463,3469-3470 /branches/dev-btm/bigdata-rdf/src/java:3463 /branches/dev-btm/bigdata-sails/src/java:3463 /branches/fko/bigdata-core/src/main/java:3150-3194 /trunk/bigdata/src/java:3507 /trunk/bigdata-core/src/main/java:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 /trunk/bigdata-rdf/src/java:3542 + /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/java:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/java:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/java:2633-3304 /branches/bbb_cleanup/bigdata-core/src/main/java:3588-3690 /branches/bugfix-btm/bigdata-core/src/main/java:2594-3237 /branches/dev-btm/bigdata/src/java:3463 /branches/dev-btm/bigdata-core/src/main/java:2574-3440,3443,3463,3469-3470 /branches/dev-btm/bigdata-jini/src/java:3463,3469-3470 /branches/dev-btm/bigdata-rdf/src/java:3463 /branches/dev-btm/bigdata-sails/src/java:3463 /branches/fko/bigdata-core/src/main/java:3150-3194 /trunk/bigdata/src/java:3507 /trunk/bigdata-core/src/main/java:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 /trunk/bigdata-rdf/src/java:3542 Property changes on: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/attr ___________________________________________________________________ Modified: svn:mergeinfo - /branches/dev-btm/bigdata-jini/src/java/com/bigdata/attr:3463,3469-3470 /trunk/bigdata-jini/src/java/com/bigdata/attr:3379-3430 + /branches/bbb_cleanup/bigdata-core/src/main/java/com/bigdata/attr:3588-3690 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/attr:3463,3469-3470 /trunk/bigdata-jini/src/java/com/bigdata/attr:3379-3430 Property changes on: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/disco ___________________________________________________________________ Modified: svn:mergeinfo - /branches/dev-btm/bigdata-jini/src/java/com/bigdata/disco:3463,3469-3470 /trunk/bigdata-jini/src/java/com/bigdata/disco:3379-3430 + /branches/bbb_cleanup/bigdata-core/src/main/java/com/bigdata/disco:3588-3690 /branches/dev-btm/bigdata-jini/src/java/com/bigdata/disco:3463,3469-3470 /trunk/bigdata-jini/src/java/com/bigdata/disco:3379-3430 Property changes on: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/rdf/sail/bench ___________________________________________________________________ Modified: svn:mergeinfo - /branches/dev-btm/bigdata-sails/src/java/com/bigdata/rdf/sail/bench:3463 /trunk/bigdata-sails/src/java/com/bigdata/rdf/sail/bench:3379-3430 + /branches/bbb_cleanup/bigdata-core/src/main/java/com/bigdata/rdf/sail/bench:3588-3690 /branches/dev-btm/bigdata-sails/src/java/com/bigdata/rdf/sail/bench:3463 /trunk/bigdata-sails/src/java/com/bigdata/rdf/sail/bench:3379-3430 Property changes on: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/rdf/util ___________________________________________________________________ Modified: svn:mergeinfo - /branches/dev-btm/bigdata-rdf/src/java/com/bigdata/rdf/util:3463 /trunk/bigdata-rdf/src/java/com/bigdata/rdf/util:3379-3430,3542 + /branches/bbb_cleanup/bigdata-core/src/main/java/com/bigdata/rdf/util:3588-3690 /branches/dev-btm/bigdata-rdf/src/java/com/bigdata/rdf/util:3463 /trunk/bigdata-rdf/src/java/com/bigdata/rdf/util:3379-3430,3542 Modified: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/BootStateUtil.java =================================================================== --- branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/BootStateUtil.java 2010-09-30 11:47:53 UTC (rev 3690) +++ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/BootStateUtil.java 2010-09-30 13:43:30 UTC (rev 3691) @@ -45,7 +45,6 @@ import com.sun.jini.config.Config; import net.jini.config.Configuration; import net.jini.config.ConfigurationException; -import net.jini.config.NoSuchEntryException; import net.jini.core.lookup.ServiceID; /** @@ -80,7 +79,7 @@ private File persistenceDir = null; private UUID proxyId = null; private ServiceID serviceId = null; - private String stateKey = null; + private String stateKey = null; //TODO -- not used? public BootStateUtil(final Configuration config, final String componentName, @@ -128,22 +127,6 @@ recoverBootState(defaultServiceId); } - - public BootStateUtil(File persistenceDir, - Class entityImplType, - ServiceID defaultServiceId) - throws IOException, ClassNotFoundException - { - if(entityImplType == null) { - throw new NullPointerException("entityImplType null"); - } - this.entityImplType = entityImplType; - this.logger = Logger.getLogger(this.getClass()); - this.persistenceDir = persistenceDir; - - recoverBootState(defaultServiceId); - } - /** * Returns the entity's unique <i>proxy id</i> that is generated/recoverd * as part of the boot state maintained by this class. @@ -161,44 +144,6 @@ return serviceId; } - /** - * Returns the <code>String</code> representing the path of the - * directory in which the entity's <i>boot state</i> is located. - * If the value returned is <code>null</code>, then the entity - * was configured to run in <i>transient</i> mode. - */ - public String getPersistenceDirectory() { - return (persistenceDir != null) ? persistenceDir.toString() : null; - } - - /** - * Returns the <code>true</code> if the entity was configured to - * run in <i>persistent</i> mode; <code>false</code> otherwise. - */ - public boolean isPersistent() { - return (persistenceDir != null); - } - - /** - * If the entity is currently configured to run in <i>persistent</i> - * mode, returns the name-based key under which an entity's (non-boot) - * state was persisted during previous runs of the entity. If the - * entity is currently configured to run in <i>transient</i> mode, - * a non-<code>null</code>, randomly-generated key value is returned. - */ - public String getStateKey() { - return stateKey; - } - - /** - * Returns the <code>Class</code> type of the entity whose boot state - * is associated with the current instance of this utility. - */ - public Class getType() { - return entityImplType; - } - - /* Performs the actual retrieval of the entity's boot state. This * method is called only once, in this utility's constructor. * It recovers the entity's boot state from local persistence storage, @@ -338,6 +283,7 @@ /** * @see java.io.ObjectInputStream#resolveClass */ + @Override protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException { @@ -354,7 +300,7 @@ * An interface is specified here to support evolution of new * versions of BootState. */ - interface BootState { + private interface BootState { Class getType(); UUID getProxyId(); String getKey(); Deleted: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ByteBufferBitVector.java =================================================================== --- branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ByteBufferBitVector.java 2010-09-30 11:47:53 UTC (rev 3690) +++ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ByteBufferBitVector.java 2010-09-30 13:43:30 UTC (rev 3691) @@ -1,167 +0,0 @@ -/* - -Copyright (C) SYSTAP, LLC 2006-2008. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* - * Created on Aug 6, 2009 - */ - -package com.bigdata.util; - -import it.unimi.dsi.bits.AbstractBitVector; - -import java.nio.ByteBuffer; - -import cern.colt.bitvector.BitVector; - -/** - * Wraps a {@link ByteBuffer} as a read-only {@link BitVector}. - * - * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ - */ -public class ByteBufferBitVector extends AbstractBitVector { - - /** - * The {@link ByteBuffer} containing the backing data. - */ - final private ByteBuffer b; - - /** - * The #of bits in the vector. - */ - private final long len; - - /** - * The bit offset into the {@link ByteBuffer} of the first bit in the - * vector. - */ - private final long off; - - final public long length() { - - return len; - - } - - /** - * Ctor assumes that all bits in the buffer are used. - * - * @param b - * The buffer. - */ - public ByteBufferBitVector(final ByteBuffer b) { - - this(b, 0/* offset */, b == null ? 0 : b.capacity() * 8/* len */); - - } - - /** - * - * @param b - * The buffer. - * @param off - * The offset from the start of the buffer for the view. - * @param len - * The #of bits which will be included in the view. - */ - public ByteBufferBitVector(final ByteBuffer b, final long off, - final long len) { - - if (b == null) - throw new IllegalArgumentException(); - - if (len < 0) - throw new IllegalArgumentException(); - - if (len < 0) - throw new IllegalArgumentException(); - - if (off + len > b.capacity() * 8L) - throw new IllegalArgumentException(); - - this.b = b; - - this.len = len; - - this.off = off; - - } - - /** - * Return the index of the byte in which the bit with the given index is - * encoded. - * - * @param bitIndex - * The bit index. - * - * @return The byte index. - */ - final protected int byteIndexForBit(final long bitIndex) { - - return ((int) ((bitIndex + off) / 8)); - - } - - /** - * Return the offset within the byte in which the bit is coded of the bit - * (this is just the remainder <code>bitIndex % 8</code>). - * - * @param bitIndex - * The bit index into the byte[]. - * - * @return The offset of the bit in the appropriate byte. - */ - final protected int withinByteIndexForBit(final long bitIndex) { - - return (int) ((bitIndex + off) % 8); - - } - - /** - * Extract and return a bit coded flag. - * - * @param offset - * The offset in the buffer of the start of the byte[] sequence - * in which the bit coded flags are stored. - * @param index - * The index of the bit. - * - * @return The value of the bit. - */ - public boolean getBoolean(final long index) { - - if (index < 0 || index >= len) - throw new IndexOutOfBoundsException(); - - return (b.get(byteIndexForBit(index)) & (1 << withinByteIndexForBit(index))) != 0; - - } - -// // @todo override for mutation. -// public boolean set(final long index, final boolean value) { -// -// throw new UnsupportedOperationException(); -// -// } - -} Modified: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/CSVReader.java =================================================================== --- branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/CSVReader.java 2010-09-30 11:47:53 UTC (rev 3690) +++ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/CSVReader.java 2010-09-30 13:43:30 UTC (rev 3691) @@ -93,10 +93,8 @@ private final String name; - public String getName() { - - return name; - + public String getName() { + return name; } /** @@ -227,25 +225,29 @@ } /** - * Equal if the headers have the same data. + * Equal if the headers have the same name. */ - public boolean equals(Header o) { + @Override + public boolean equals(Object o) { + if (!(o instanceof Header)) + return false; + + Header h = (Header)o; - if(this==o) return true; - - return name.equals(o.name); - + return name.equals(h.name); } /** * Based on the header name. */ + @Override public int hashCode() { return name.hashCode(); } + @Override public String toString() { return name; @@ -289,7 +291,7 @@ * The header definitions (initially null). * * @see #readHeaders() - * @see #setHeaders(String[]) + * @see #setHeaders(Header[]) */ protected Header[] headers; @@ -324,54 +326,54 @@ } - public boolean setSkipCommentLines(boolean skipCommentLines) { +// public boolean setSkipCommentLines(boolean skipCommentLines) { +// +// boolean tmp = this.skipCommentLines; +// +// this.skipCommentLines = skipCommentLines; +// +// return tmp; +// +// } +// +// public boolean getSkipCommentLines() { +// +// return skipCommentLines; +// +// } - boolean tmp = this.skipCommentLines; +// public boolean setSkipBlankLines(boolean skipBlankLines) { +// +// boolean tmp = this.skipBlankLines; +// +// this.skipBlankLines = skipBlankLines; +// +// return tmp; +// +// } +// +// public boolean getSkipBlankLines() { +// +// return skipBlankLines; +// +// } - this.skipCommentLines = skipCommentLines; +// public boolean setTrimWhitespace(boolean trimWhitespace) { +// +// boolean tmp = this.trimWhitespace; +// +// this.trimWhitespace = trimWhitespace; +// +// return tmp; +// +// } +// +// public boolean getTrimWhitespace() { +// +// return trimWhitespace; +// +// } - return tmp; - - } - - public boolean getSkipCommentLines() { - - return skipCommentLines; - - } - - public boolean setSkipBlankLines(boolean skipBlankLines) { - - boolean tmp = this.skipBlankLines; - - this.skipBlankLines = skipBlankLines; - - return tmp; - - } - - public boolean getSkipBlankLines() { - - return skipBlankLines; - - } - - public boolean setTrimWhitespace(boolean trimWhitespace) { - - boolean tmp = this.trimWhitespace; - - this.trimWhitespace = trimWhitespace; - - return tmp; - - } - - public boolean getTrimWhitespace() { - - return trimWhitespace; - - } - /** * The #of milliseconds that the {@link CSVReader} should wait before * attempting to read another line from the source (when reading from @@ -505,8 +507,7 @@ } /** - * Trim whitespace and optional quotes from each value iff - * {@link #getTrimWhitespace()} is true. + * Trim whitespace and optional quotes. * * @param cols * The column values. @@ -651,7 +652,7 @@ */ public Header[] getHeaders() { - return headers.clone(); + return ((headers==null)? null : headers.clone()); } @@ -679,7 +680,7 @@ */ public void setHeader(int index,Header header) { - if (index < 0 || index > headers.length) + if (index < 0 || index >= headers.length) throw new IndexOutOfBoundsException(); if (header == null) @@ -688,7 +689,7 @@ headers[index] = header; } - + /** * Unsupported operation. */ Deleted: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ChecksumError.java =================================================================== --- branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ChecksumError.java 2010-09-30 11:47:53 UTC (rev 3690) +++ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ChecksumError.java 2010-09-30 13:43:30 UTC (rev 3691) @@ -1,46 +0,0 @@ -/** - -Copyright (C) SYSTAP, LLC 2006-2007. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* - * Created on Nov 5, 2006 - */ - -package com.bigdata.util; - -/** - * Exception thrown when the checksum field does not match the checksum computed - * for the data being read. This is a serious error and indicates bad logic - * and/or corrupt data. - * - * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ - */ -public class ChecksumError extends RuntimeException { - - private static final long serialVersionUID = -9067118459184074756L; - - public ChecksumError(String msg) { - super( msg ); - } - -} \ No newline at end of file Deleted: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ClassLoaderUtil.java =================================================================== --- branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ClassLoaderUtil.java 2010-09-30 11:47:53 UTC (rev 3690) +++ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/ClassLoaderUtil.java 2010-09-30 13:43:30 UTC (rev 3691) @@ -1,328 +0,0 @@ -/* - -Copyright (C) SYSTAP, LLC 2006-2008. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*/ - -package com.bigdata.util; - -import com.bigdata.util.config.LogUtil; - -import org.apache.log4j.Level; -import org.apache.log4j.Logger; - -import java.io.File; -import java.io.IOException; -import java.io.Serializable; - -import java.lang.reflect.Method; - -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; - -import java.rmi.Remote; -import java.rmi.RemoteException; -import java.rmi.activation.ActivationException; -import java.rmi.activation.ActivationID; - -import java.security.SecureClassLoader; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.StringTokenizer; - -import net.jini.io.MarshalledInstance; -import net.jini.loader.ClassAnnotation; - -/** - * This class provides useful utilities for creating and manipulating - * class loaders. Although it can be used for other purposes, it is - * generally intended for debugging. - */ -public class ClassLoaderUtil { - - /** Configure logger */ - private static Logger logger = - LogUtil.getLog4jLogger(ClassLoaderUtil.class); - - // Private constructor to prevent instantiation - private ClassLoaderUtil() { } - - /** - * Utility method that converts the components of a <code>String</code> - * representing a classpath into file <code>URL</code>(s). - * - * @param classpath <code>String</code> containing components separated - * by path separators that represent the components - * making up a classpath - * - * @return a <code>URL[]</code> where - * each element of the array corresponds to one of the components - * in the <code>classpath</code> parameter. The path components - * are (potentially) expanded via - * <code>File.getCanonicalFile()</code> before converting to a - * <code>URL</code> format. - * - * @throws java.net.MalformedURLException - * If the path cannot be parsed as a URL - * @throws java.net.IOException - * If an I/O error occurs, - * which is possible because the construction of - * the canonical pathname may require filesystem queries - */ - public static URL[] getClasspathURLs(String classpath) - throws IOException, MalformedURLException - { - StringTokenizer st = new StringTokenizer(classpath,File.pathSeparator); - URL[] urls = new URL[st.countTokens()]; - for (int i=0; st.hasMoreTokens(); i++) { - urls[i] = - new File(st.nextToken()).getCanonicalFile().toURI().toURL(); - } - return urls; - } - - /** - * Utility method that converts the components of a <code>String</code> - * representing a codebase into standard <code>URL</code>(s). - * - * @param codebase <code>String</code> containing components separated - * by spaces in which each component is in - * <code>URL</code> format. - * - * @return a <code>URL[]</code> where - * each element of the array corresponds to one of the components - * in the <code>codebase</code> parameter - * - * @throws java.net.MalformedURLException - */ - public static URL[] getCodebaseURLs(String codebase) - throws MalformedURLException - { - StringTokenizer st = new StringTokenizer(codebase); - URL[] urls = new URL[st.countTokens()]; - for (int i=0; st.hasMoreTokens(); i++) { - urls[i] = new URL(st.nextToken()); - } - return urls; - } - - /** - * Utility method that converts the components of a <code>String</code> - * representing a codebase or classpath into <code>URL</code>(s). - * - * @param importCodebase <code>String</code> assumed (in order) to be - * either - * 1) a space delimited set of <code>URL</code>(s) - * representing a codebase or - * 2) a <code>File.pathSeparator</code> delimited set - * of class paths. - * - * @return a <code>URL[]</code> where - * each element of the array corresponds to one of the components - * in the <code>importCodebase</code> parameter - * - * @throws java.net.MalformedURLException - * If the path cannot be parsed as a URL - * @throws java.net.IOException - * If an I/O error occurs, - * which is possible because the construction of - * the canonical pathname may require filesystem queries - */ - public static URL[] getImportCodebaseURLs(String importCodebase) - throws IOException, MalformedURLException - { - try { - return getCodebaseURLs(importCodebase); - } catch (MalformedURLException me) { - return getClasspathURLs(importCodebase); - } - } - - /** - * Utility method that retrieves the components making up the class loader - * delegation tree for the current context class loader and returns each - * in an <code>ArrayList</code>. - * - * @return an <code>ArrayList</code> instance in which each element of the - * list is one of the components making up the current delegation - * tree. - */ - private static ArrayList getContextClassLoaderTree() { - Thread curThread = Thread.currentThread(); - ClassLoader curClassLoader = curThread.getContextClassLoader(); - return getClassLoaderTree(curClassLoader); - } - - /** - * Utility method that retrieves the components making up the class loader - * delegation tree for the given <code>classloader</code> parameter and - * returns them via an <code>ArrayList</code>. - * - * @param classloader <code>ClassLoader</code> instance whose delegation - * tree is to be retrieved and returned - * - * @return an <code>ArrayList</code> instance in which each element of the - * list is one of the components making up the delegation tree - * of the given class loader. - */ - private static ArrayList getClassLoaderTree(ClassLoader classloader) { - ArrayList loaderList = new ArrayList(); - while(classloader != null) { - loaderList.add(classloader); - classloader = classloader.getParent(); - } - loaderList.add(null); //Append boot classloader - Collections.reverse(loaderList); - return loaderList; - } - - /** - * Utility method that displays the class loader delegation tree for - * the current context class loader. For each class loader in the tree, - * this method displays the locations from which that class loader - * will retrieve and load requested classes. - * <p> - * This method can be useful when debugging problems related to the - * receipt of exceptions such as <code>ClassNotFoundException</code>. - */ - public static void displayContextClassLoaderTree() { - Thread curThread = Thread.currentThread(); - ClassLoader curClassLoader = curThread.getContextClassLoader(); - displayClassLoaderTree(curClassLoader); - } - - /** - * Utility method that displays the class loader delegation tree for - * the given class loader. For each class loader in the tree, this - * method displays the locations from which that class loader will - * retrieve and load requested classes. - * <p> - * This method can be useful when debugging problems related to the - * receipt of exceptions such as <code>ClassNotFoundException</code>. - * - * Note that although this class' logger level is used to determine - * whether or not to display any information at all, the output is - * actually displayed using System.out.println. This is done to - * produce more readable output than the logger might produce. - * - * @param description descriptive <code>String</code> that, if - * non-<code>null</code>, will be logged prior to - * displaying the information about the - * <code>classloader</code>. - * - * @param classloader <code>ClassLoader</code> instance whose delegation - * tree is to be displayed. - */ - public static void displayClassLoaderTree(ClassLoader classloader) { - displayClassLoaderTree(null, classloader); - } - - public static void displayClassLoaderTree(String description, - ClassLoader classloader) - { - if( logger.isEnabledFor(Level.DEBUG) ) { - if(description != null) { - logger.log(Level.DEBUG, description); - } - - ArrayList loaderList = getClassLoaderTree(classloader); - System.out.println("ClassLoader Tree has " - + loaderList.size() + " levels"); - System.out.println(" cl0 -- Boot ClassLoader "); - ClassLoader curClassLoader = null; - for(int i=1; i < loaderList.size(); i++) { - System.out.println(" |"); - curClassLoader = (ClassLoader)loaderList.get(i); - System.out.print(" cl"+i+" -- ClassLoader " - +curClassLoader+": "); - if(curClassLoader instanceof URLClassLoader) { - URL[] urls = ((URLClassLoader)(curClassLoader)).getURLs(); - if(urls != null) { - System.out.print(urls[0]); - for(int j=1;j<urls.length;j++){ - System.out.print(", "+urls[j]); - } - } else {//urls == null - System.out.print("null search path"); - } - } else { - if(curClassLoader instanceof SecureClassLoader) { - System.out.print("is instance of SecureClassLoader"); - } else { - System.out.print("is unknown ClassLoader type"); - } - } - System.out.println(""); - } - System.out.println(""); - } - } - - /** - * Handles a <i>class loader mismatch</i> between the given - * <code>Serializable</code> object and the given <code>Class</code> - * type. - * - * If the class name of the given <code>obj</code> parameter - * is the same as the name of <code>classType</code>, but - * <code>obj</code> is not an instance of <code>classType</code>, - * then the difference may be due to unequal class loaders for the - * two parameters; which is referred to as a <i>class loader mismatch</i>. - * When such a mismatch occurs, the <code>instanceof</code> operator - * will return <code>false</code> and attempts to cast the given - * <code>obj</code> to the given <code>classType</code> will result - * in a <code>ClassCastException</code>. - * - * To address the situation just described, this method attempts to - * "reload" the given <code>obj</code>, using the <code>ClassLoader</code> - * of <code>classType</code>. This is accomplished by first - * marshalling and then unmarshalling the given <code>obj</code>, - * while the <i>current context class loader</i> is set to the - * <code>ClassLoader</code> of <code>classType</code>. - * - * Upon success, the newly loaded object is returned; which can then - * be successfully cast to the given <code>classType</code>. If the - * reload operation fails, <code>null</code> is returned. - */ - public static Serializable instanceOf(Serializable obj, Class classType) { - - if( classType.isInstance(obj) ) return obj; - - Class objClass = obj.getClass(); - ClassLoader classTypeCl = classType.getClassLoader(); - //marshall-and-unmarshal using the class type's classloader - try { - MarshalledInstance mInst = new MarshalledInstance(obj); - Serializable newObj = - (Serializable)(mInst.get(classTypeCl, false, null, null)); - if( classType.isInstance(newObj) ) return newObj; - - } catch(Throwable t) { - return null; - } - return null; - } - -} Modified: branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/EntryUtil.java =================================================================== --- branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/EntryUtil.java 2010-09-30 11:47:53 UTC (rev 3690) +++ branches/maven_scaleout/bigdata-core/src/main/java/com/bigdata/util/EntryUtil.java 2010-09-30 13:43:30 UTC (rev 3691) @@ -75,7 +75,7 @@ * type. If no element in the array is an instance of the given * type, then <code>null</code> is returned. */ - public static <T> T getEntryByType(Entry[] attrs, Class<T> type) + public static <T extends Entry> T getEntryByType(Entry[] attrs, Class<T> type) { if( (attrs == null) || (type == null) ) return null; for(int i=0; i<attrs.length; i++) { @@ -85,144 +85,144 @@ return null; }//end getEntryByType - /** - * Examines the given array of entries and returns an array of all - * elements that are an instance of the given class type. If no element in - * the array is an instance of the given type, then <code>null</code> is - * returned. - */ - public static <T> T[] getEntriesByType(Entry[] attrs, Class<T> type) - { - if( (attrs == null) || (type == null) ) return null; - ArrayList<T> matches = null; - for(int i=0; i<attrs.length; i++) { - if( !( type.isInstance(attrs[i]) ) ) continue; - if ( matches == null ) - matches = new ArrayList<T>(); - matches.add( (T)attrs[i] ); - }//end loop +// /** +// * Examines the given array of entries and returns an array of all +// * elements that are an instance of the given class type. If no element in +// * the array is an instance of the given type, then <code>null</code> is +// * returned. +// */ +// public static <T> T[] getEntriesByType(Entry[] attrs, Class<T> type) +// { +// if( (attrs == null) || (type == null) ) return null; +// ArrayList<T> matches = null; +// for(int i=0; i<attrs.length; i++) { +// if( !( type.isInstance(attrs[i]) ) ) continue; +// if ( matches == null ) +// matches = new ArrayList<T>(); +// matches.add( (T)attrs[i] ); +// }//end loop +// +// if ( matches == null ) return null; +// +// return matches.toArray +// ( (T[])java.lang.reflect.Array.newInstance +// ( type, matches.size() ) ); +// } - if ( matches == null ) return null; +// /** +// * Examines the given array of entries and returns a list of all +// * elements that are an instance of the given class type. If no element +// * in the array is an instance of the given type, then an empty list is +// * returned. +// */ +// public static <T> List<T> getEntryListByType(final Entry[] attrs, +// final Class<T> type) +// { +// if(attrs == null) { +// throw new NullPointerException("null attrs array"); +// } +// if(type == null) { +// throw new NullPointerException("null type"); +// } +// final List<T> matches = new ArrayList<T>(); +// for (final Entry attr : attrs) { +// if(type.isInstance(attr)){ +// matches.add(type.cast(attr)); +// } +// } +// return matches; +// } - return matches.toArray - ( (T[])java.lang.reflect.Array.newInstance - ( type, matches.size() ) ); - } +// /** +// * Examines the given array of entries and returns a list of all +// * elements that match the given <code>template</code>; where +// * the matching semantics are defined by the template-matching +// * semantics specified in the Lookup Service Specification. If no +// * element in the given array matches the template, then an empty +// * list is returned. +// */ +// public static <T extends Entry> List<T> getEntryList(final Entry[] attrs, +// final T template) +// { +// final List<T> matches = new ArrayList<T>(); +// for (final Entry attr : attrs) { +// if(LookupAttributes.matches(template, attr)){ +// matches.add((T) attr); +// } +// } +// return matches; +// } - /** - * Examines the given array of ... [truncated message content] |
From: <tho...@us...> - 2010-09-30 11:47:59
|
Revision: 3690 http://bigdata.svn.sourceforge.net/bigdata/?rev=3690&view=rev Author: thompsonbry Date: 2010-09-30 11:47:53 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Fix to the SPOPredicate unit tests. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOPredicate.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOPredicate.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOPredicate.java 2010-09-30 11:25:11 UTC (rev 3689) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOPredicate.java 2010-09-30 11:47:53 UTC (rev 3690) @@ -29,8 +29,10 @@ package com.bigdata.rdf.spo; import java.util.HashMap; + import junit.framework.TestCase2; +import com.bigdata.bop.BOp; import com.bigdata.bop.Constant; import com.bigdata.bop.IPredicate; import com.bigdata.bop.IVariableOrConstant; @@ -76,63 +78,109 @@ final static Constant<IV> rdfsClass = new Constant<IV>( new TermId(VTE.URI, 4L)); - public void test_ctor() { + final static Constant<IV> someGraph = new Constant<IV>( + new TermId(VTE.URI, 6L)); + + public void test_ctor_triples_oneVar() { - { + final Var<IV> u = Var.var("u"); - final Var<IV> u = Var.var("u"); + final SPOPredicate p1 = new SPOPredicate(new BOp[] { u, rdfsSubClassOf, + rdfsResource }, new NV(IPredicate.Annotations.RELATION_NAME, + new String[] { relation })); - final SPOPredicate p1 = new SPOPredicate(relation,u, rdfsSubClassOf, - rdfsResource); + if (log.isInfoEnabled()) + log.info(p1.toString()); - if (log.isInfoEnabled()) - log.info(p1.toString()); + assertEquals("arity", 3, p1.arity()); - assertEquals("arity", 3, p1.arity()); + assertEquals("variableCount", 1, p1.getVariableCount(SPOKeyOrder.SPO)); - assertEquals("variableCount", 1, p1 - .getVariableCount(SPOKeyOrder.SPO)); + assertEquals(u, p1.get(0)); - assertEquals("variableCount", 2, p1 - .getVariableCount(SPOKeyOrder.SPOC)); + assertEquals(rdfsSubClassOf, p1.get(1)); - assertEquals(u, p1.get(0)); + assertEquals(rdfsResource, p1.get(2)); - assertEquals(rdfsSubClassOf,p1.get(1)); - - assertEquals(rdfsResource,p1.get(2)); - - } + } - { + public void test_ctor_triples_twoVars() { - final Var<IV> u = Var.var("u"); + final Var<IV> u = Var.var("u"); - final Var<IV> v = Var.var("v"); + final Var<IV> v = Var.var("v"); - final SPOPredicate p1 = new SPOPredicate(relation, u, - rdfsSubClassOf, v); + final SPOPredicate p1 = new SPOPredicate(new BOp[] { u, rdfsSubClassOf, + v }, new NV(IPredicate.Annotations.RELATION_NAME, + new String[] { relation })); - if (log.isInfoEnabled()) - log.info(p1.toString()); + if (log.isInfoEnabled()) + log.info(p1.toString()); - assertEquals("arity", 3, p1.arity()); + assertEquals("arity", 3, p1.arity()); - assertEquals("variableCount", 2, p1 - .getVariableCount(SPOKeyOrder.SPO)); + assertEquals("variableCount", 2, p1.getVariableCount(SPOKeyOrder.SPO)); - assertEquals("variableCount", 3, p1 - .getVariableCount(SPOKeyOrder.SPOC)); + assertEquals(u, p1.get(0)); - assertEquals(u, p1.get(0)); + assertEquals(rdfsSubClassOf, p1.get(1)); - assertEquals(rdfsSubClassOf, p1.get(1)); + assertEquals(v, p1.get(2)); - assertEquals(v, p1.get(2)); - - } + } - } + public void test_ctor_quads_oneVar() { + + final Var<IV> u = Var.var("u"); + + final SPOPredicate p1 = new SPOPredicate(new BOp[] { u, rdfsSubClassOf, + rdfsResource, someGraph }, + new NV(IPredicate.Annotations.RELATION_NAME, + new String[] { relation })); + + if (log.isInfoEnabled()) + log.info(p1.toString()); + + assertEquals("arity", 4, p1.arity()); + + assertEquals("variableCount", 1, p1.getVariableCount(SPOKeyOrder.SPOC)); + + assertEquals(u, p1.get(0)); + + assertEquals(rdfsSubClassOf, p1.get(1)); + + assertEquals(rdfsResource, p1.get(2)); + + assertEquals(someGraph, p1.get(3)); + + } + + public void test_ctor_quads_twoVars() { + + final Var<IV> u = Var.var("u"); + + final Var<IV> v = Var.var("v"); + + final SPOPredicate p1 = new SPOPredicate(new BOp[] { u, rdfsSubClassOf, + rdfsResource, v }, new NV(IPredicate.Annotations.RELATION_NAME, + new String[] { relation })); + + if (log.isInfoEnabled()) + log.info(p1.toString()); + + assertEquals("arity", 4, p1.arity()); + + assertEquals("variableCount", 2, p1.getVariableCount(SPOKeyOrder.SPOC)); + + assertEquals(u, p1.get(0)); + + assertEquals(rdfsSubClassOf, p1.get(1)); + + assertEquals(rdfsResource, p1.get(2)); + + assertEquals(v, p1.get(3)); + + } /** * Verify equality testing with same impl. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <res...@us...> - 2010-09-30 11:25:18
|
Revision: 3689 http://bigdata.svn.sourceforge.net/bigdata/?rev=3689&view=rev Author: resendes Date: 2010-09-30 11:25:11 +0000 (Thu, 30 Sep 2010) Log Message: ----------- Added missing @After annotation to tear down method of TestMillisecondTimestampFactory Modified Paths: -------------- branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestMillisecondTimestampFactory.java Modified: branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestMillisecondTimestampFactory.java =================================================================== --- branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestMillisecondTimestampFactory.java 2010-09-29 23:35:37 UTC (rev 3688) +++ branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestMillisecondTimestampFactory.java 2010-09-30 11:25:11 UTC (rev 3689) @@ -32,6 +32,7 @@ import java.util.Date; +import org.junit.After; import org.junit.Test; /** @@ -192,7 +193,8 @@ * tests will affect other tests in the same JVM. Therefore, need to * reset value back to current time after each run. */ - protected void tearDown() throws Exception { + @After + public void tearDown() throws Exception { MillisecondTimestampFactory.setLowerBound(System.currentTimeMillis()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrp...@us...> - 2010-09-29 23:35:43
|
Revision: 3688 http://bigdata.svn.sourceforge.net/bigdata/?rev=3688&view=rev Author: mrpersonick Date: 2010-09-29 23:35:37 +0000 (Wed, 29 Sep 2010) Log Message: ----------- changed filters to work with ISolution instead of ISPO Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOFilter.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java 2010-09-29 22:50:32 UTC (rev 3687) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java 2010-09-29 23:35:37 UTC (rev 3688) @@ -12,6 +12,7 @@ import com.bigdata.rdf.spo.ISPO; import com.bigdata.rdf.spo.SPOFilter; import com.bigdata.rdf.vocab.Vocabulary; +import com.bigdata.relation.rule.eval.ISolution; /** * Filter matches <code>(x rdf:type rdfs:Resource). @@ -57,9 +58,9 @@ } - final ISPO spo = (ISPO) o; + final ISolution solution = (ISolution) o; - return accept(spo); + return accept((ISPO) solution.get()); } Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java 2010-09-29 22:50:32 UTC (rev 3687) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java 2010-09-29 23:35:37 UTC (rev 3688) @@ -34,6 +34,7 @@ import com.bigdata.rdf.spo.ISPO; import com.bigdata.rdf.spo.SPOFilter; import com.bigdata.rdf.vocab.Vocabulary; +import com.bigdata.relation.rule.eval.ISolution; /** * Filter keeps matched triple patterns generated OUT of the database. @@ -121,15 +122,17 @@ } public boolean isValid(Object o) { - + if (!canAccept(o)) { return true; } - return accept((ISPO) o); + final ISolution solution = (ISolution) o; + return accept((ISPO) solution.get()); + } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java 2010-09-29 22:50:32 UTC (rev 3687) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java 2010-09-29 23:35:37 UTC (rev 3688) @@ -32,6 +32,7 @@ import com.bigdata.rdf.model.StatementEnum; import com.bigdata.relation.accesspath.IElementFilter; +import com.bigdata.relation.rule.eval.ISolution; /** * Filter matches only {@link StatementEnum#Explicit} {@link ISPO}s. @@ -66,8 +67,10 @@ } - return accept((ISPO) o); + final ISolution solution = (ISolution) o; + return accept((ISPO) solution.get()); + } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java 2010-09-29 22:50:32 UTC (rev 3687) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java 2010-09-29 23:35:37 UTC (rev 3688) @@ -11,6 +11,7 @@ import com.bigdata.bop.constraint.INBinarySearch; import com.bigdata.rdf.internal.IV; import com.bigdata.rdf.model.BigdataURI; +import com.bigdata.relation.rule.eval.ISolution; /** * "IN" filter for the context position based on a sorted long[] of the @@ -86,8 +87,10 @@ } - return accept((ISPO) o); + final ISolution solution = (ISolution) o; + return accept((ISPO) solution.get()); + } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java 2010-09-29 22:50:32 UTC (rev 3687) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java 2010-09-29 23:35:37 UTC (rev 3688) @@ -9,6 +9,7 @@ import com.bigdata.rdf.internal.IV; import com.bigdata.rdf.model.BigdataURI; import com.bigdata.rdf.store.IRawTripleStore; +import com.bigdata.relation.rule.eval.ISolution; /** * "IN" filter for the context position based on a native long hash set @@ -72,8 +73,10 @@ } - return accept((ISPO) o); + final ISolution solution = (ISolution) o; + return accept((ISPO) solution.get()); + } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java 2010-09-29 22:50:32 UTC (rev 3687) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java 2010-09-29 23:35:37 UTC (rev 3688) @@ -33,6 +33,7 @@ import com.bigdata.rdf.model.StatementEnum; import com.bigdata.relation.accesspath.IElementFilter; +import com.bigdata.relation.rule.eval.ISolution; /** * Filter matches only {@link StatementEnum#Inferred} statements. @@ -69,8 +70,10 @@ } - return accept((ISPO) o); + final ISolution solution = (ISolution) o; + return accept((ISPO) solution.get()); + } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java 2010-09-29 22:50:32 UTC (rev 3687) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java 2010-09-29 23:35:37 UTC (rev 3688) @@ -31,6 +31,7 @@ import java.io.ObjectStreamException; import com.bigdata.rdf.model.StatementEnum; +import com.bigdata.relation.rule.eval.ISolution; /** * A filter that matches explicit or inferred statements but not those whose @@ -66,8 +67,10 @@ } - return accept((ISPO) o); + final ISolution solution = (ISolution) o; + return accept((ISPO) solution.get()); + } private boolean accept(final ISPO o) { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOFilter.java 2010-09-29 22:50:32 UTC (rev 3687) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOFilter.java 2010-09-29 23:35:37 UTC (rev 3688) @@ -1,6 +1,7 @@ package com.bigdata.rdf.spo; import com.bigdata.relation.accesspath.IElementFilter; +import com.bigdata.relation.rule.eval.ISolution; public abstract class SPOFilter<E extends ISPO> implements IElementFilter<E> { @@ -11,8 +12,16 @@ public boolean canAccept(final Object o) { - return o instanceof ISPO; + if (o instanceof ISolution) { + + ISolution solution = (ISolution) o; + + return solution.get() instanceof ISPO; + + } + return false; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrp...@us...> - 2010-09-29 22:50:38
|
Revision: 3687 http://bigdata.svn.sourceforge.net/bigdata/?rev=3687&view=rev Author: mrpersonick Date: 2010-09-29 22:50:32 +0000 (Wed, 29 Sep 2010) Log Message: ----------- fixed a problem with null c in SPO ctor Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/BackchainTypeResourceIterator.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/BackchainTypeResourceIterator.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/BackchainTypeResourceIterator.java 2010-09-29 20:59:24 UTC (rev 3686) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/BackchainTypeResourceIterator.java 2010-09-29 22:50:32 UTC (rev 3687) @@ -30,9 +30,9 @@ import java.util.Arrays; import java.util.Iterator; import java.util.NoSuchElementException; - import org.apache.log4j.Logger; - +import com.bigdata.bop.IPredicate; +import com.bigdata.bop.IVariableOrConstant; import com.bigdata.rdf.internal.IV; import com.bigdata.rdf.lexicon.ITermIVFilter; import com.bigdata.rdf.model.StatementEnum; @@ -49,7 +49,6 @@ import com.bigdata.striterator.IChunkedOrderedIterator; import com.bigdata.striterator.ICloseableIterator; import com.bigdata.striterator.IKeyOrder; - import cutthecrap.utils.striterators.Filter; import cutthecrap.utils.striterators.FilterBase; import cutthecrap.utils.striterators.Resolver; @@ -155,10 +154,14 @@ if (accessPath == null) throw new IllegalArgumentException(); - final SPO spo = new SPO(accessPath.getPredicate()); +// final SPO spo = new SPO(accessPath.getPredicate()); + final IPredicate<ISPO> pred = accessPath.getPredicate(); + final IV s = getTerm(pred, 0); + final IV p = getTerm(pred, 1); + final IV o = getTerm(pred, 2); - if (((spo.o == null || spo.o.equals(rdfsResource)) && - (spo.p == null || spo.p.equals(rdfType))) == false) { + if (((o == null || o.equals(rdfsResource)) && + (p == null || p.equals(rdfType))) == false) { /* * Backchain will not generate any statements. @@ -189,7 +192,7 @@ */ final PushbackIterator<IV> posItr; - if (spo.s == null) { + if (s == null) { /* * Backchain will generate one statement for each distinct subject @@ -293,6 +296,14 @@ } + private static IV getTerm(final IPredicate<ISPO> pred, final int pos) { + + final IVariableOrConstant<IV> term = pred.get(pos); + + return term == null || term.isVar() ? null : term.get(); + + } + /** * Create an iterator that will visit all statements in the source iterator * and also backchain any entailments of the form (x rdf:type rdfs:Resource) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-29 20:59:31
|
Revision: 3686 http://bigdata.svn.sourceforge.net/bigdata/?rev=3686&view=rev Author: thompsonbry Date: 2010-09-29 20:59:24 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Javadoc and dropped unused class. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/AbstractRelation.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/LexiconRelation.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java Removed Paths: ------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/DefaultSolutionExpander.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/AbstractRelation.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/AbstractRelation.java 2010-09-29 19:55:30 UTC (rev 3685) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/AbstractRelation.java 2010-09-29 20:59:24 UTC (rev 3686) @@ -235,9 +235,11 @@ } /** - * Core impl. + * Core implementation. This makes it possible to substitute a different + * {@link IAccessPath} implementation. * * @param relation + * (optional). * @param indexManager * @param timestamp * @param predicate Deleted: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/DefaultSolutionExpander.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/DefaultSolutionExpander.java 2010-09-29 19:55:30 UTC (rev 3685) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/DefaultSolutionExpander.java 2010-09-29 20:59:24 UTC (rev 3686) @@ -1,94 +0,0 @@ -/* - -Copyright (C) SYSTAP, LLC 2006-2008. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -*/ -/* - * Created on Sep 3, 2008 - */ - -package com.bigdata.relation.rule; - -import com.bigdata.bop.IBindingSet; -import com.bigdata.bop.IPredicate; -import com.bigdata.relation.accesspath.IAccessPath; -import com.bigdata.relation.rule.eval.IJoinNexus; - -/** - * A base class for {@link ISolutionExpander} implementations. The base class - * provides various helper methods designed to make it easier to override the - * evaluation behavior of an {@link IPredicate} during {@link IRule} evaluation. - * - * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ - */ -public class DefaultSolutionExpander implements ISolutionExpander { - - /** - * - */ - private static final long serialVersionUID = -9174057768088016404L; - - public void expand(IJoinNexus joinNexus, IBindingSet bindingSet, - IPredicate predicate, boolean isSolution) { - - throw new UnsupportedOperationException(); - - } - - /** - * Returns the given {@link IAccessPath}. - */ - public IAccessPath getAccessPath(IAccessPath accessPath) { - - return accessPath; - - } - - /** - * Returns the approximate range count for the given {@link IAccessPath}. - */ - public long rangeCount(IAccessPath accessPath) { - - return accessPath.rangeCount(false/*exact*/); - - } - - /** - * Default to true for backchaining. - */ - public boolean backchain() { - - return true; - - } - - /** - * Default to false for run first. - */ - public boolean runFirst() { - - return false; - - } - -} Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/LexiconRelation.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/LexiconRelation.java 2010-09-29 19:55:30 UTC (rev 3685) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/lexicon/LexiconRelation.java 2010-09-29 20:59:24 UTC (rev 3686) @@ -703,7 +703,7 @@ * A factory returning the softly held singleton for the * {@link FullTextIndex}. * - * @see Options#TEXT_INDEX + * @see AbstractTripleStore.Options#TEXT_INDEX * * @todo replace with the use of the {@link IResourceLocator} since it * already imposes a canonicalizing mapping within for the index name Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java 2010-09-29 19:55:30 UTC (rev 3685) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java 2010-09-29 20:59:24 UTC (rev 3686) @@ -551,6 +551,8 @@ * Boolean option (default <code>true</code>) enables support for a * full text index that may be used to lookup literals by tokens found * in the text of those literals. + * + * @see #TEXT_INDEXER_CLASS */ String TEXT_INDEX = AbstractTripleStore.class.getName() + ".textIndex"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-29 19:55:36
|
Revision: 3685 http://bigdata.svn.sourceforge.net/bigdata/?rev=3685&view=rev Author: thompsonbry Date: 2010-09-29 19:55:30 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Added NOARGS and NOANNS for BOPs that we create a lot of. These are a singleton empty array and empty map respectively. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/Constant.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/Var.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-29 19:54:27 UTC (rev 3684) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-29 19:55:30 UTC (rev 3685) @@ -71,6 +71,20 @@ private static final long serialVersionUID = 1L; /** + * An empty array. + */ + static protected final transient BOp[] NOARGS = new BOp[] {}; + + /** + * An empty immutable annotations map. + * + * @todo This is for things like {@link Constant} and {@link Var} which are + * never annotated. However, i'm not sure if this is a good idea or + * not. A "copy on write" map might be better. + */ + static protected final transient Map<String,Object> NOANNS = Collections.emptyMap(); + + /** * The argument values - <strong>direct access to this field is * discouraged</strong> - the field is protected to support * <em>mutation</em> APIs and should not be relied on for other purposes. @@ -288,6 +302,10 @@ /** deep copy the arguments. */ static protected BOp[] deepCopy(final BOp[] a) { + if (a == NOARGS) { + // fast path for zero arity operators. + return a; + } final BOp[] t = new BOp[a.length]; for (int i = 0; i < a.length; i++) { t[i] = a[i] == null ? null : a[i].clone(); @@ -311,7 +329,11 @@ * containing an ontology or some conditional assertions with a query * plan. */ - static protected Map<String,Object> deepCopy(final Map<String,Object> a) { + static protected Map<String, Object> deepCopy(final Map<String, Object> a) { + if (a == NOANNS) { + // Fast past for immutable, empty annotations. + return a; + } // allocate map. final Map<String, Object> t = new LinkedHashMap<String, Object>(a .size()); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/Constant.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/Constant.java 2010-09-29 19:54:27 UTC (rev 3684) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/Constant.java 2010-09-29 19:55:30 UTC (rev 3685) @@ -66,13 +66,16 @@ * @param op */ public Constant(final Constant<E> op) { + super(op); + this.value = op.value; + } public Constant(final E value) { - super(new BOp[] {}, null/* annotations */); + super(NOARGS, NOANNS); if (value == null) throw new IllegalArgumentException(); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/Var.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/Var.java 2010-09-29 19:54:27 UTC (rev 3684) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/Var.java 2010-09-29 19:55:30 UTC (rev 3685) @@ -58,7 +58,8 @@ */ private Var(final String name) { - super(new BOp[] {}, null/* annotations */); +// super(new BOp[] {}, null/* annotations */); + super(NOARGS, NOANNS); assert name != null; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-29 19:54:33
|
Revision: 3684 http://bigdata.svn.sourceforge.net/bigdata/?rev=3684&view=rev Author: thompsonbry Date: 2010-09-29 19:54:27 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Fixed another bunch of exceptions from copyValues() when the variable was not bound yet. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpContext.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpContext.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpContext.java 2010-09-29 19:14:33 UTC (rev 3683) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpContext.java 2010-09-29 19:54:27 UTC (rev 3684) @@ -298,10 +298,14 @@ final IVariable<?> var = (IVariable<?>) t; - final Constant<?> newval = new Constant(e.get(i)); + final Object val = e.get(i); + + if (val != null) { - bindingSet.set(var, newval); + bindingSet.set(var, new Constant(val)); + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-29 19:14:40
|
Revision: 3683 http://bigdata.svn.sourceforge.net/bigdata/?rev=3683&view=rev Author: thompsonbry Date: 2010-09-29 19:14:33 +0000 (Wed, 29 Sep 2010) Log Message: ----------- The SameVariableConstraint was not being applied successfully because we were failing to create an SPOAccessPath in BOpContextBase. I've added a newAccessPath(...) method on AbstractRelation. All access path creates now delegate through that method to a sole constructor on AccessPath or SPOAccessPath. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpContextBase.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpTupleFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraint.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/AbstractRelation.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/AbstractRuleDistinctTermScan.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/DistinctTermAdvancer.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPO.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOAccessPath.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java Removed Paths: ------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraintFilter.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpContextBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpContextBase.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpContextBase.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -353,11 +353,10 @@ } // Obtain the access path for that relation and index. - final IAccessPath<E> accessPath = new AccessPath<E>( - relation, indexManager, timestamp, - predicate, keyOrder, ndx, flags, - chunkOfChunksCapacity, chunkCapacity, - fullyBufferedReadThreshold).init(); + final IAccessPath<E> accessPath = ((AbstractRelation<E>) relation) + .newAccessPath(relation, indexManager, timestamp, predicate, + keyOrder, ndx, flags, chunkOfChunksCapacity, + chunkCapacity, fullyBufferedReadThreshold); // optionally wrap with an expander pattern. return expander(predicate, accessPath); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpTupleFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpTupleFilter.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpTupleFilter.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -40,8 +40,6 @@ import com.bigdata.btree.filter.TupleFilter; import com.bigdata.btree.filter.TupleFilter.TupleFilterator; -import cutthecrap.utils.striterators.IFilterTest; - /** * <p> * Filter supporting {@link ITupleIterator}s. @@ -101,34 +99,6 @@ super(args, annotations); } -// /** -// * Convenience method wraps the {@link IFilterTest} as a -// * {@link BOpTupleFilter}. -// * -// * @param test -// * The test (optional). -// * -// * @return The filter wrapping the test -or- <code>null</code> if the -// * argument is <code>null</code>. -// */ -// @SuppressWarnings("unchecked") -// public static BOpFilterBase newInstance(final IFilterTest test) { -// -// if (test == null) { -// // No test. No filter. -// return null; -// } -// -// return new BOpTupleFilter(new BOp[0]/*filters*/,null/*annotations*/) { -// private static final long serialVersionUID = 1L; -// @Override -// protected boolean isValid(ITuple obj) { -// return test.isValid(obj); -// } -// }; -// -// } - @Override final protected Iterator filterOnce(Iterator src, final Object context) { Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraint.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraint.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraint.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -19,6 +19,8 @@ import com.bigdata.bop.IVariableOrConstant; import com.bigdata.relation.accesspath.IAccessPath; +import cutthecrap.utils.striterators.IFilterTest; + /** * Filter imposes the "same variable" constraint on the elements visited by an * {@link IAccessPath}. The filter is required IFF a {@link IVariable} appears @@ -39,7 +41,7 @@ * The generic type of the elements that will be tested by the * filter. */ -public class SameVariableConstraint<E> implements Externalizable { +public class SameVariableConstraint<E> implements IFilterTest, Externalizable { /** * The predicate template. @@ -110,8 +112,15 @@ // return true; // } - public boolean accept(final E e) { + @SuppressWarnings("unchecked") + public boolean isValid(final Object obj) { + return accept((E) obj); + + } + + private boolean accept(final E e) { + int i = 0; while (i < indices.length) { Deleted: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraintFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraintFilter.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraintFilter.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -1,105 +0,0 @@ -/** - -Copyright (C) SYSTAP, LLC 2006-2010. All rights reserved. - -Contact: - SYSTAP, LLC - 4501 Tower Road - Greensboro, NC 27410 - lic...@bi... - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; version 2 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ -/* - * Created on Sep 28, 2010 - */ - -package com.bigdata.bop.ap.filter; - -import java.util.Iterator; -import java.util.Map; - -import com.bigdata.bop.BOp; - -import cutthecrap.utils.striterators.Filter; -import cutthecrap.utils.striterators.Filterator; - -/** - * Operator imposing a {@link SameVariableConstraint} filter. - * - * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ - */ -public class SameVariableConstraintFilter extends BOpFilterBase { - - /** - * - */ - private static final long serialVersionUID = 1L; - - public interface Annotations extends BOpFilterBase.Annotations { - - /** - * The constraint to be imposed (required). - */ - String FILTER = SameVariableConstraintFilter.class.getName() - + ".filter"; - - } - - /** - * @param op - */ - public SameVariableConstraintFilter(SameVariableConstraintFilter op) { - super(op); - } - - /** - * @param args - * @param annotations - */ - public SameVariableConstraintFilter(BOp[] args, - Map<String, Object> annotations) { - super(args, annotations); - } - - @Override - final protected Iterator filterOnce(Iterator src, final Object context) { - - final SameVariableConstraint filter = (SameVariableConstraint) getRequiredProperty(Annotations.FILTER); - - return new Filterator(src, context, new FilterImpl(filter)); - - } - - static private class FilterImpl extends Filter { - - private static final long serialVersionUID = 1L; - - private final SameVariableConstraint filter; - - public FilterImpl(final SameVariableConstraint filter) { - this.filter = filter; - } - - @Override - public boolean isValid(Object obj) { - - return filter.accept(obj); - - } - - } - -} Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/AbstractRelation.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/AbstractRelation.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/AbstractRelation.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -44,6 +44,8 @@ import com.bigdata.journal.Journal; import com.bigdata.journal.TemporaryRawStore; import com.bigdata.journal.TemporaryStore; +import com.bigdata.rdf.spo.ISPO; +import com.bigdata.rdf.spo.SPORelation; import com.bigdata.relation.accesspath.AccessPath; import com.bigdata.relation.accesspath.IAccessPath; import com.bigdata.service.DataService; @@ -232,6 +234,35 @@ } + /** + * Core impl. + * + * @param relation + * @param indexManager + * @param timestamp + * @param predicate + * @param keyOrder + * @param ndx + * @param flags + * @param chunkOfChunksCapacity + * @param chunkCapacity + * @param fullyBufferedReadThreshold + * @return + * + * @todo Raise into interface? + */ + public IAccessPath<E> newAccessPath(final IRelation<E> relation, + final IIndexManager indexManager, final long timestamp, + final IPredicate<E> predicate, final IKeyOrder<E> keyOrder, + final IIndex ndx, final int flags, final int chunkOfChunksCapacity, + final int chunkCapacity, final int fullyBufferedReadThreshold) { + + return new AccessPath<E>(this/* relation */, indexManager, timestamp, + predicate, keyOrder, ndx, flags, chunkOfChunksCapacity, + chunkCapacity, fullyBufferedReadThreshold).init(); + + } + public IAccessPath<E> getAccessPath(final IPredicate<E> predicate) { // find the best key order. @@ -243,10 +274,10 @@ // default flags. final int flags = IRangeQuery.DEFAULT; - return new AccessPath<E>(this/* relation */, getIndexManager(), + return newAccessPath(this/*relation*/, getIndexManager(), getTimestamp(), predicate, keyOrder, ndx, flags, getChunkOfChunksCapacity(), getChunkCapacity(), - getFullyBufferedReadThreshold()).init(); + getFullyBufferedReadThreshold()); } Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -37,18 +37,18 @@ import org.apache.log4j.Logger; -import com.bigdata.bop.BOp; import com.bigdata.bop.IPredicate; -import com.bigdata.bop.NV; +import com.bigdata.bop.IVariableOrConstant; import com.bigdata.bop.ap.filter.SameVariableConstraint; -import com.bigdata.bop.ap.filter.SameVariableConstraintFilter; import com.bigdata.btree.BytesUtil; import com.bigdata.btree.IBloomFilter; import com.bigdata.btree.IIndex; import com.bigdata.btree.ILocalBTreeView; import com.bigdata.btree.IRangeQuery; +import com.bigdata.btree.ITuple; import com.bigdata.btree.ITupleIterator; import com.bigdata.btree.Tuple; +import com.bigdata.btree.filter.TupleFilter; import com.bigdata.btree.keys.IKeyBuilder; import com.bigdata.journal.IIndexManager; import com.bigdata.journal.TimestampUtility; @@ -393,13 +393,14 @@ if (indexLocalFilter != null) tmp.addFilter(indexLocalFilter); - tmp.addFilter(new SameVariableConstraintFilter( - new BOp[] {}, - NV.asMap(new NV[] { new NV( - SameVariableConstraintFilter.Annotations.FILTER, - sameVarConstraint) }))); + tmp.addFilter(new TupleFilter(){ + private static final long serialVersionUID = 1L; + @Override + protected boolean isValid(ITuple tuple) { + return sameVarConstraint.isValid(tuple.getObject()); + }}); - this.indexLocalFilter = indexLocalFilter; + this.indexLocalFilter = tmp; } else { @@ -410,7 +411,7 @@ } // optional filter to be evaluated by the AccessPath. - this.accessPathFilter = predicate.getAccessPathFilter();; + this.accessPathFilter = predicate.getAccessPathFilter(); // true iff there is a filter (either local or remote). this.hasFilter = (indexLocalFilter != null || accessPathFilter != null); @@ -436,12 +437,12 @@ + ", fromKey=" + (fromKey == null ? "n/a" : BytesUtil.toString(fromKey)) + ", toKey=" - + (toKey == null ? "n/a" : BytesUtil.toString(toKey) - + ", indexLocalFilter=" - + (indexLocalFilter == null ? "n/a" : indexLocalFilter) - + ", accessPathFilter=" - + (accessPathFilter == null ? "n/a" : accessPathFilter) - + "}"); + + (toKey == null ? "n/a" : BytesUtil.toString(toKey)) + + ", indexLocalFilter=" + + (indexLocalFilter == null ? "n/a" : indexLocalFilter) + + ", accessPathFilter=" + + (accessPathFilter == null ? "n/a" : accessPathFilter) + + "}"; } @@ -1284,4 +1285,23 @@ } + /** + * Return the constant bound on the {@link #getPredicate() predicate} for + * this access path at the specified index -or- {@link #NULL} iff the + * predicate is not bound at that position. + * + * @param index + * The index. + * + * @return Either the bound value -or- {@link #NULL} iff the index is + * unbound for the predicate for this access path. + */ + public Object get(final int index) { + + final IVariableOrConstant<?> t = predicate.get(index); + + return t == null || t.isVar() ? null : t.get(); + + } + } Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/AbstractRuleDistinctTermScan.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/AbstractRuleDistinctTermScan.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/AbstractRuleDistinctTermScan.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -35,7 +35,6 @@ import com.bigdata.bop.IConstraint; import com.bigdata.bop.IVariable; import com.bigdata.rdf.internal.IV; -import com.bigdata.rdf.spo.SPOAccessPath; import com.bigdata.rdf.spo.SPOKeyOrder; import com.bigdata.rdf.spo.SPOPredicate; import com.bigdata.rdf.spo.SPORelation; @@ -51,9 +50,8 @@ /** * Base class for rules having a single predicate that is none bound in the tail - * and a single variable in the head. These rules can be evaluated using - * {@link SPOAccessPath#distinctTermScan()} rather than a full index scan. For - * example: + * and a single variable in the head. These rules can be evaluated using a + * distinctTermScan rather than a full index scan. For example: * * <pre> * rdf1: (?u ?a ?y) -> (?a rdf:type rdf:Property) @@ -62,7 +60,8 @@ * </pre> * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ + * @version $Id: AbstractRuleDistinctTermScan.java 3448 2010-08-18 20:55:58Z + * thompsonbry $ */ abstract public class AbstractRuleDistinctTermScan extends Rule { Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/DistinctTermAdvancer.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/DistinctTermAdvancer.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/DistinctTermAdvancer.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -35,10 +35,11 @@ import com.bigdata.btree.keys.SuccessorUtil; import com.bigdata.rdf.internal.IVUtility; import com.bigdata.rdf.store.IRawTripleStore; +import com.bigdata.relation.accesspath.AccessPath; /** * Advances the source {@link ITupleCursor} through the distinct term - * identifiers for some {@link SPOAccessPath}. Each time a new + * identifiers for some {@link AccessPath}. Each time a new * {@link ITuple} is visited, the term identifier for the first position in * that tuple is decoded and its successor is formed. The source * {@link ITupleCursor} is then advanced to the key having that term Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPO.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPO.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPO.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -305,8 +305,7 @@ * statement identifier are not specified. This may be used as a convenience * to extract the {s, p, o, c} from an {@link IPredicate} or from an * {@link IAccessPath} when the predicate is not known to be an - * {@link SPOPredicate} or the {@link IAccessPath} is not known to be an - * {@link SPOAccessPath}. + * {@link SPOPredicate}. * * @param predicate * The predicate. Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOAccessPath.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOAccessPath.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOAccessPath.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -46,94 +46,57 @@ */ public class SPOAccessPath extends AccessPath<ISPO> { -// private SPOTupleSerializer tupleSer; - -// /** Relation (resolved lazily if not specified to the ctor). */ -// private SPORelation relation; - /** - * Variant when the {@link SPORelation} has already been materialized. - * <p> - * Note: Filters should be specified when the {@link IAccessPath} is - * constructed so that they will be evaluated on the data service rather - * than materializing the elements and then filtering them. This can be - * accomplished by adding the filter as a constraint on the predicate when - * specifying the access path. * + * @param relation (optional). + * @param indexManager (required) + * @param timestamp * @param predicate * @param keyOrder * @param ndx * @param flags + * @param chunkOfChunksCapacity + * @param chunkCapacity + * @param fullyBufferedReadThreshold */ public SPOAccessPath(final SPORelation relation, + final IIndexManager indexManager, final long timestamp, final IPredicate<ISPO> predicate, final IKeyOrder<ISPO> keyOrder, final IIndex ndx, final int flags, final int chunkOfChunksCapacity, final int chunkCapacity, final int fullyBufferedReadThreshold) { - super(relation, relation.getIndexManager(), relation.getTimestamp(), + super(relation, indexManager, timestamp, +// relation.getIndexManager(), relation.getTimestamp(), predicate, keyOrder, ndx, flags, chunkOfChunksCapacity, chunkCapacity, fullyBufferedReadThreshold); } - /** - * Variant does not require the {@link SPORelation} to have been - * materialized. This is useful when you want an {@link IAccessPath} for a - * specific index partition. - * - * @param indexManager - * @param timestamp - * @param predicate - * @param keyOrder - * @param ndx - * @param flags - * @param chunkOfChunksCapacity - * @param chunkCapacity - * @param fullyBufferedReadThreshold - */ - public SPOAccessPath(final IIndexManager indexManager, - final long timestamp, final IPredicate<ISPO> predicate, - final IKeyOrder<ISPO> keyOrder, final IIndex ndx, final int flags, - final int chunkOfChunksCapacity, final int chunkCapacity, - final int fullyBufferedReadThreshold) { - - super(null/* relation */, indexManager, timestamp, predicate, keyOrder, - ndx, flags, chunkOfChunksCapacity, chunkCapacity, - fullyBufferedReadThreshold); - - } - - /** - * Return the constant bound on the {@link #getPredicate() predicate} for - * this access path at the specified index -or- {@link #NULL} iff the - * predicate is not bound at that position. - * - * @param index - * The index. - * - * @return Either the bound value -or- {@link #NULL} iff the index is - * unbound for the predicate for this access path. - */ - @SuppressWarnings("unchecked") - public IV get(final int index) { - - final IVariableOrConstant<IV> t = predicate.get(index); - - return t == null || t.isVar() ? null : t.get(); - - } - -// protected SPOTupleSerializer getTupleSerializer() { +// /** +// * Variant does not require the {@link SPORelation} to have been +// * materialized. This is useful when you want an {@link IAccessPath} for a +// * specific index partition. +// * +// * @param indexManager +// * @param timestamp +// * @param predicate +// * @param keyOrder +// * @param ndx +// * @param flags +// * @param chunkOfChunksCapacity +// * @param chunkCapacity +// * @param fullyBufferedReadThreshold +// */ +// public SPOAccessPath(final IIndexManager indexManager, +// final long timestamp, final IPredicate<ISPO> predicate, +// final IKeyOrder<ISPO> keyOrder, final IIndex ndx, final int flags, +// final int chunkOfChunksCapacity, final int chunkCapacity, +// final int fullyBufferedReadThreshold) { // -// if (tupleSer == null) { +// super(null/* relation */, indexManager, timestamp, predicate, keyOrder, +// ndx, flags, chunkOfChunksCapacity, chunkCapacity, +// fullyBufferedReadThreshold); // -// tupleSer = (SPOTupleSerializer) ndx.getIndexMetadata() -// .getTupleSerializer(); -// -// } -// -// return tupleSer; -// // } /** @@ -143,35 +106,12 @@ */ public SPOAccessPath init() { -// final IKeyBuilder keyBuilder = getTupleSerializer().getKeyBuilder(); -// -// setFromKey(((SPOKeyOrder) keyOrder).getFromKey(keyBuilder, predicate)); -// -// setToKey(((SPOKeyOrder) keyOrder).getToKey(keyBuilder, predicate)); - super.init(); return this; } -// /** -// * Resolved lazily if not specified to the ctor. -// */ -// synchronized -// public SPORelation getRelation() { -// -// if (relation == null) { -// -// relation = (SPORelation) indexManager.getResourceLocator().locate( -// predicate.getOnlyRelationName(), timestamp); -// -// } -// -// return relation; -// -// } - /** * Strengthened return type. * <p> @@ -185,18 +125,14 @@ } /** - * Overridden to delegate to - * {@link AbstractTripleStore#removeStatements(IChunkedOrderedIterator)} in - * order to (a) write on all access paths; (b) handle statement identifiers, - * including truth maintenance for statement identifiers; and (c) if - * justifications are being maintained, then retract justifications having - * no support once the statements visitable by this access path have been - * retracted. + * Strengthened return type. + * <p> + * {@inheritDoc} */ @Override - public long removeAll() { + public SPOPredicate getPredicate() { - return getRelation().getContainer().removeStatements(iterator()); + return (SPOPredicate) super.getPredicate(); } @@ -206,13 +142,30 @@ * {@inheritDoc} */ @Override - public SPOPredicate getPredicate() { + @SuppressWarnings("unchecked") + public IV get(final int index) { - return (SPOPredicate) super.getPredicate(); + return (IV) super.get(index); } /** + * Overridden to delegate to + * {@link AbstractTripleStore#removeStatements(IChunkedOrderedIterator)} in + * order to (a) write on all access paths; (b) handle statement identifiers, + * including truth maintenance for statement identifiers; and (c) if + * justifications are being maintained, then retract justifications having + * no support once the statements visitable by this access path have been + * retracted. + */ + @Override + public long removeAll() { + + return getRelation().getContainer().removeStatements(iterator()); + + } + + /** * Return a new {@link SPOAccessPath} where the context position has been * bound to the specified constant. The context position MUST be a variable. * All instances of that variable will be replaced by the specified Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -87,6 +87,7 @@ import com.bigdata.rdf.store.LocalTripleStore; import com.bigdata.relation.AbstractRelation; import com.bigdata.relation.IRelation; +import com.bigdata.relation.accesspath.AccessPath; import com.bigdata.relation.accesspath.ElementFilter; import com.bigdata.relation.accesspath.IAccessPath; import com.bigdata.relation.accesspath.IElementFilter; @@ -1221,9 +1222,9 @@ final ILocalBTreeView ndx = (ILocalBTreeView) indexManager .getIndex(name, timestamp); - return new SPOAccessPath(indexManager, timestamp, predicate, - keyOrder, ndx, flags, getChunkOfChunksCapacity(), - getChunkCapacity(), getFullyBufferedReadThreshold()).init(); + return newAccessPath(this/* relation */, indexManager, timestamp, + predicate, keyOrder, ndx, flags, getChunkOfChunksCapacity(), + getChunkCapacity(), getFullyBufferedReadThreshold()); } @@ -1291,12 +1292,25 @@ final int fullyBufferedReadThreshold = container.getFullyBufferedReadThreshold(); - return new SPOAccessPath(this, predicate, keyOrder, ndx, flags, - chunkOfChunksCapacity, chunkCapacity, - fullyBufferedReadThreshold).init(); - + return newAccessPath(this, getIndexManager(), getTimestamp(), + predicate, keyOrder, ndx, flags, chunkOfChunksCapacity, + chunkCapacity, fullyBufferedReadThreshold); + } - + + @Override + public SPOAccessPath newAccessPath(final IRelation<ISPO> relation, + final IIndexManager indexManager, final long timestamp, + final IPredicate<ISPO> predicate, final IKeyOrder<ISPO> keyOrder, + final IIndex ndx, final int flags, final int chunkOfChunksCapacity, + final int chunkCapacity, final int fullyBufferedReadThreshold) { + + return new SPOAccessPath(this/* relation */, indexManager, timestamp, + predicate, keyOrder, ndx, flags, chunkOfChunksCapacity, + chunkCapacity, fullyBufferedReadThreshold).init(); + + } + // public long getElementCount(boolean exact) { // // final IIndex ndx = getIndex(SPOKeyOrder.SPO); Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -1714,6 +1714,13 @@ new Bigdata2Sesame2BindingSetIterator<QueryEvaluationException>( new BigdataBindingSetResolverator(database, it2).start(database .getExecutorService())); + + try { + // Wait for the Future (checks for errors). + runningQuery.get(); + } catch (Exception ex) { + throw new QueryEvaluationException(ex); + } // final boolean backchain = // // tripleSource.getDatabase().getAxioms().isRdfSchema() Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -133,7 +133,6 @@ import com.bigdata.rdf.spo.ISPO; import com.bigdata.rdf.spo.InferredSPOFilter; import com.bigdata.rdf.spo.SPO; -import com.bigdata.rdf.spo.SPOAccessPath; import com.bigdata.rdf.spo.SPOKeyOrder; import com.bigdata.rdf.spo.SPORelation; import com.bigdata.rdf.store.AbstractTripleStore; @@ -148,6 +147,7 @@ import com.bigdata.rdf.store.ScaleOutTripleStore; import com.bigdata.rdf.store.TempTripleStore; import com.bigdata.rdf.vocab.NoVocabulary; +import com.bigdata.relation.accesspath.AccessPath; import com.bigdata.relation.accesspath.EmptyAccessPath; import com.bigdata.relation.accesspath.IAccessPath; import com.bigdata.relation.accesspath.IElementFilter; @@ -2972,7 +2972,7 @@ /** * Note: The <i>includeInferred</i> argument is applied in two ways. - * First, inferences are stripped out of the {@link SPOAccessPath}. + * First, inferences are stripped out of the {@link AccessPath}. * Second, query time expansion of * <code>foo rdf:type rdfs:Resource</code>, owl:sameAs, etc. * <p> Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java 2010-09-29 16:57:20 UTC (rev 3682) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java 2010-09-29 19:14:33 UTC (rev 3683) @@ -42,8 +42,8 @@ */ public class Striterator implements IStriterator { volatile List<IFilter> filters = null; // Note: NOT serializable. - private transient Iterator realSource; - private transient Iterator m_src = null; + private volatile Iterator realSource; + private volatile Iterator m_src = null; /** * Deserialization constructor. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-29 16:57:27
|
Revision: 3682 http://bigdata.svn.sourceforge.net/bigdata/?rev=3682&view=rev Author: thompsonbry Date: 2010-09-29 16:57:20 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Added a NOPFilter for stacking filters when you don't have one to start with. Modified AccessPath to not assume BOpTupleFilter for the filters. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java Added Paths: ----------- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/NOPFilter.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java 2010-09-29 16:37:18 UTC (rev 3681) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java 2010-09-29 16:57:20 UTC (rev 3682) @@ -40,8 +40,6 @@ import com.bigdata.bop.BOp; import com.bigdata.bop.IPredicate; import com.bigdata.bop.NV; -import com.bigdata.bop.ap.filter.BOpFilterBase; -import com.bigdata.bop.ap.filter.BOpTupleFilter; import com.bigdata.bop.ap.filter.SameVariableConstraint; import com.bigdata.bop.ap.filter.SameVariableConstraintFilter; import com.bigdata.btree.BytesUtil; @@ -65,7 +63,9 @@ import com.bigdata.striterator.IChunkedOrderedIterator; import com.bigdata.striterator.IKeyOrder; +import cutthecrap.utils.striterators.FilterBase; import cutthecrap.utils.striterators.IFilter; +import cutthecrap.utils.striterators.NOPFilter; import cutthecrap.utils.striterators.Striterator; /** @@ -205,13 +205,13 @@ * is added regardless of whether the {@link IPredicate} specified a filter * or not. */ - final protected BOpFilterBase indexLocalFilter; + final protected IFilter indexLocalFilter; /** * The filter derived from optional * {@link IPredicate.Annotations#ACCESS_PATH_FILTER}. */ - final protected BOpFilterBase accessPathFilter; + final protected IFilter accessPathFilter; /** * Used to detect failure to call {@link #init()}. @@ -373,8 +373,7 @@ * reuse of tuples within tuple iterators. That is why it is being * cast to a BOpTupleIterator. */ - final BOpTupleFilter indexLocalFilter = (BOpTupleFilter<?>) predicate - .getProperty(IPredicate.Annotations.INDEX_LOCAL_FILTER); + final IFilter indexLocalFilter = predicate.getIndexLocalFilter(); /* * Optional constraint enforces the "same variable" constraint. The @@ -389,13 +388,19 @@ /* * Stack filters. */ - this.indexLocalFilter = new SameVariableConstraintFilter( - (indexLocalFilter == null ? new BOp[0] - : new BOp[] { indexLocalFilter }), + final FilterBase tmp = new NOPFilter(); + + if (indexLocalFilter != null) + tmp.addFilter(indexLocalFilter); + + tmp.addFilter(new SameVariableConstraintFilter( + new BOp[] {}, NV.asMap(new NV[] { new NV( - SameVariableConstraintFilter.Annotations.FILTER, - sameVarConstraint) })); + SameVariableConstraintFilter.Annotations.FILTER, + sameVarConstraint) }))); + this.indexLocalFilter = indexLocalFilter; + } else { this.indexLocalFilter = indexLocalFilter; @@ -405,8 +410,7 @@ } // optional filter to be evaluated by the AccessPath. - this.accessPathFilter = (BOpFilterBase) predicate - .getProperty(IPredicate.Annotations.ACCESS_PATH_FILTER); + this.accessPathFilter = predicate.getAccessPathFilter();; // true iff there is a filter (either local or remote). this.hasFilter = (indexLocalFilter != null || accessPathFilter != null); Added: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/NOPFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/NOPFilter.java (rev 0) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/NOPFilter.java 2010-09-29 16:57:20 UTC (rev 3682) @@ -0,0 +1,56 @@ +/** + +Copyright (C) SYSTAP, LLC 2006-2010. All rights reserved. + +Contact: + SYSTAP, LLC + 4501 Tower Road + Greensboro, NC 27410 + lic...@bi... + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +/* + * Created on Sep 29, 2010 + */ + +package cutthecrap.utils.striterators; + +import java.util.Iterator; + +/** + * A filter which is initially a NOP. You can add other filters to this to stack + * them. + * + * @author <a href="mailto:tho...@us...">Bryan Thompson</a> + */ +public class NOPFilter extends FilterBase { + + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * + */ + public NOPFilter() { + } + + @Override + protected Iterator filterOnce(Iterator src, Object context) { + return src; + } + +} Property changes on: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/NOPFilter.java ___________________________________________________________________ Added: svn:keywords + Id Date Revision Author HeadURL This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2010-09-29 16:37:25
|
Revision: 3681 http://bigdata.svn.sourceforge.net/bigdata/?rev=3681&view=rev Author: martyncutcher Date: 2010-09-29 16:37:18 +0000 (Wed, 29 Sep 2010) Log Message: ----------- remove reference to FilterBase(state) constructor Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/test/cutthecrap/utils/striterators/TestFilterBase.java Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/test/cutthecrap/utils/striterators/TestFilterBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/test/cutthecrap/utils/striterators/TestFilterBase.java 2010-09-29 16:28:48 UTC (rev 3680) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/test/cutthecrap/utils/striterators/TestFilterBase.java 2010-09-29 16:37:18 UTC (rev 3681) @@ -29,6 +29,8 @@ import java.util.Iterator; +import cutthecrap.utils.striterators.FilterBase; + import junit.framework.TestCase; /** @@ -52,228 +54,213 @@ super(name); } -// public void test_filterBase_ctor() { -// -// final FilterBase fixture = new MockFilterBase(); -// -// assertEquals("state", null, fixture.m_state); -// assertEquals("annotations", null, fixture.annotations); -// assertEquals("filterChain", null, fixture.filterChain); -// -// } -// -// public void test_filterBase_ctor2() { -// -// final Object state = new Object(); -// -// final FilterBase fixture = new MockFilterBase(state); -// -// assertEquals("state", state, fixture.m_state); -// assertEquals("annotations", null, fixture.annotations); -// assertEquals("filterChain", null, fixture.filterChain); -// -// } -// -// public void test_filterBase_annotations() { -// -// final FilterBase fixture = new MockFilterBase(); -// -// assertEquals("annotations", null, fixture.annotations); -// -// final String name = "name"; -// final Object value = Integer.valueOf(0); -// final Object value2 = Integer.valueOf(1); -// -// try { -// fixture.getRequiredProperty(name); -// fail("Expecting: " + IllegalStateException.class); -// } catch (IllegalStateException ex) { -// -// } -// -// assertNull(fixture.getProperty(name)); -// assertNull(fixture.setProperty(name, value)); -// assertNotNull("annotations", fixture.annotations); -// assertEquals("annotations", 1, fixture.annotations.size()); -// assertEquals(value, fixture.getProperty(name)); -// assertEquals(value, fixture.getRequiredProperty(name)); -// assertEquals(value, fixture.setProperty(name, value2)); -// assertEquals(value2, fixture.getProperty(name)); -// assertEquals(value2, fixture.getRequiredProperty(name)); -// -// } -// -// public void test_filterBase_filterChain() { -// -// final Object s1 = "s1"; -// final Object s2 = "s2"; -// final Object s3 = "s3"; -// -// final FilterBase f1, f2, f3; -// -// final FilterBase fixture = f1 = new MockFilterBase(s1); -// -// assertNull("filterChain", fixture.filterChain); -// -// fixture.addFilter(f2 = new MockFilterBase(s2)); -// -// assertNotNull("filterChain", fixture.filterChain); -// -// fixture.addFilter(f3 = new MockFilterBase(s3)); -// -// final IFilter[] expected = new IFilter[] { f2, f3 }; -// -// final IFilter[] actual = f1.filterChain.toArray(new IFilter[] {}); -// -// assertEquals("#filters", expected.length, actual.length); -// -// for (int i = 0; i < expected.length; i++) { -// -// assertEquals("filter[" + i + "]", expected[i], actual[i]); -// -// } -// -// } -// -// /** -// * Test creation of iterator without filter chain. make sure that the -// * context is passed through. -// */ -// public void test_filter() { -// -// final FilterBase fixture = new MockFilterBase(); -// -// final Object context = new Object(); -// -// final Iterator src = EmptyIterator.DEFAULT; -// -// final MockIterator actual = (MockIterator) fixture.filter(src, context); -// -// assertNotNull(actual); -// assertTrue("src", actual.src == src); -// assertTrue("context", actual.context == context); -// assertTrue("filter", actual.filter == fixture); -// -// } -// -// /** -// * Test creation of iterator with filter chain. Make sure that the create -// * order is correct and that the context is passed through to each iterator. -// * The iterators are assembled in FIFO order, so the iterator stack winds up -// * being LIFO. -// */ -// public void test_filter2() { -// -// // create filters w/ state objects (helps visual inspection in debugger). -// final Object s1 = "s1"; -// final Object s2 = "s2"; -// final Object s3 = "s3"; -// final FilterBase fixture1 = new MockFilterBase(s1); -// final FilterBase fixture2 = new MockFilterBase(s2); -// final FilterBase fixture3 = new MockFilterBase(s3); -// -// // chain 2 filters to the first. -// fixture1.addFilter(fixture2); -// fixture1.addFilter(fixture3); -// -// // verify the filter chain. -// assertNotNull(fixture1.filterChain); -// assertEquals(2, fixture1.filterChain.size()); -// assertTrue(fixture2 == fixture1.filterChain.get(0)); -// assertTrue(fixture3 == fixture1.filterChain.get(1)); -// -// // verify other filter chains are empty. -// assertNull(fixture2.filterChain); -// assertNull(fixture3.filterChain); -// -// final Object context = "context"; -// -// final Iterator src = EmptyIterator.DEFAULT; -// -// /* -// * Create and verify the iterator stack. -// * -// * Note: The iterator are created in the order in filter chain order, -// * but each iterator wraps the previous iterator. This has the effect of -// * building an iterator stack which is the reverse of the filter chain. -// * -// * logical filter chain: filter1, filter2, filter3 -// * -// * logical iterator stack: itr1(filter3), itr2(filter2), itr3(filter1). -// */ -// final MockIterator actual1 = (MockIterator) fixture1.filter(src, context); -// final MockIterator actual2 = (MockIterator) actual1.src; -// final MockIterator actual3 = (MockIterator) actual2.src; -// // itr3 (bottom of the stack) -// assertTrue("src", actual3.src == src); -// assertTrue("context", actual3.context == context); -// assertTrue("filter", actual3.filter == fixture1); -// // itr2 -// assertTrue("src", actual2.src == actual3); -// assertTrue("context", actual2.context == context); -// assertTrue("filter", actual2.filter == fixture2); -// // itr1 (top of the stack) -// assertTrue("src", actual1.src == actual2); -// assertTrue("context", actual1.context == context); -// assertTrue("filter", actual1.filter == fixture3); -// } -// -// /** -// * Mock object. -// */ -// private static class MockFilterBase extends FilterBase { -// -// /** -// * -// */ -// private static final long serialVersionUID = 1L; -// -// public MockFilterBase() { -// super(); -// } -// -// public MockFilterBase(Object o) { -// super(o); -// } -// -// @Override -// protected Iterator filterOnce(Iterator src, Object context) { -// -// return new MockIterator(src, context, this); -// -// } -// -// } -// -// private static class MockIterator<E> implements Iterator<E> { -// -// final Iterator src; -// -// final Object context; -// -// final MockFilterBase filter; -// -// public MockIterator(Iterator src, Object context, MockFilterBase filter) { -// -// this.src = src; -// -// this.context = context; -// -// this.filter = filter; -// -// } -// -// public boolean hasNext() { -// return false; -// } -// -// public E next() { -// return null; -// } -// -// public void remove() { -// } -// -// } + public void test_filterBase_ctor() { + + final FilterBase fixture = new MockFilterBase(); + + assertEquals("annotations", null, fixture.annotations); + assertEquals("filterChain", null, fixture.filterChain); + + } + + public void test_filterBase_annotations() { + + final FilterBase fixture = new MockFilterBase(); + + assertEquals("annotations", null, fixture.annotations); + + final String name = "name"; + final Object value = Integer.valueOf(0); + final Object value2 = Integer.valueOf(1); + + try { + fixture.getRequiredProperty(name); + fail("Expecting: " + IllegalStateException.class); + } catch (IllegalStateException ex) { + + } + + assertNull(fixture.getProperty(name)); + assertNull(fixture.setProperty(name, value)); + assertNotNull("annotations", fixture.annotations); + assertEquals("annotations", 1, fixture.annotations.size()); + assertEquals(value, fixture.getProperty(name)); + assertEquals(value, fixture.getRequiredProperty(name)); + assertEquals(value, fixture.setProperty(name, value2)); + assertEquals(value2, fixture.getProperty(name)); + assertEquals(value2, fixture.getRequiredProperty(name)); + + } + + public void test_filterBase_filterChain() { + + final Object s1 = "s1"; + final Object s2 = "s2"; + final Object s3 = "s3"; + + final FilterBase f1, f2, f3; + + final FilterBase fixture = f1 = new MockFilterBase(); + + assertNull("filterChain", fixture.filterChain); + + fixture.addFilter(f2 = new MockFilterBase()); + + assertNotNull("filterChain", fixture.filterChain); + + fixture.addFilter(f3 = new MockFilterBase()); + + final IFilter[] expected = new IFilter[] { f2, f3 }; + + final IFilter[] actual = f1.filterChain.toArray(new IFilter[] {}); + + assertEquals("#filters", expected.length, actual.length); + + for (int i = 0; i < expected.length; i++) { + + assertEquals("filter[" + i + "]", expected[i], actual[i]); + + } + + } + + /** + * Test creation of iterator without filter chain. make sure that the + * context is passed through. + */ + public void test_filter() { + + final FilterBase fixture = new MockFilterBase(); + + final Object context = new Object(); + + final Iterator src = EmptyIterator.DEFAULT; + + final MockIterator actual = (MockIterator) fixture.filter(src, context); + + assertNotNull(actual); + assertTrue("src", actual.src == src); + assertTrue("context", actual.context == context); + assertTrue("filter", actual.filter == fixture); + + } + + /** + * Test creation of iterator with filter chain. Make sure that the create + * order is correct and that the context is passed through to each iterator. + * The iterators are assembled in FIFO order, so the iterator stack winds up + * being LIFO. + */ + public void test_filter2() { + + // create filters w/ state objects (helps visual inspection in debugger). + // or would do if we hadn't removed teh state variable... + + final Object s1 = "s1"; + final Object s2 = "s2"; + final Object s3 = "s3"; + final FilterBase fixture1 = new MockFilterBase(); + final FilterBase fixture2 = new MockFilterBase(); + final FilterBase fixture3 = new MockFilterBase(); + + // chain 2 filters to the first. + fixture1.addFilter(fixture2); + fixture1.addFilter(fixture3); + + // verify the filter chain. + assertNotNull(fixture1.filterChain); + assertEquals(2, fixture1.filterChain.size()); + assertTrue(fixture2 == fixture1.filterChain.get(0)); + assertTrue(fixture3 == fixture1.filterChain.get(1)); + + // verify other filter chains are empty. + assertNull(fixture2.filterChain); + assertNull(fixture3.filterChain); + + final Object context = "context"; + + final Iterator src = EmptyIterator.DEFAULT; + + /* + * Create and verify the iterator stack. + * + * Note: The iterator are created in the order in filter chain order, + * but each iterator wraps the previous iterator. This has the effect of + * building an iterator stack which is the reverse of the filter chain. + * + * logical filter chain: filter1, filter2, filter3 + * + * logical iterator stack: itr1(filter3), itr2(filter2), itr3(filter1). + */ + final MockIterator actual1 = (MockIterator) fixture1.filter(src, context); + final MockIterator actual2 = (MockIterator) actual1.src; + final MockIterator actual3 = (MockIterator) actual2.src; + // itr3 (bottom of the stack) + assertTrue("src", actual3.src == src); + assertTrue("context", actual3.context == context); + assertTrue("filter", actual3.filter == fixture1); + // itr2 + assertTrue("src", actual2.src == actual3); + assertTrue("context", actual2.context == context); + assertTrue("filter", actual2.filter == fixture2); + // itr1 (top of the stack) + assertTrue("src", actual1.src == actual2); + assertTrue("context", actual1.context == context); + assertTrue("filter", actual1.filter == fixture3); + } + + /** + * Mock object. + */ + private static class MockFilterBase extends FilterBase { + + /** + * + */ + private static final long serialVersionUID = 1L; + + public MockFilterBase() { + super(); + } + + @Override + protected Iterator filterOnce(Iterator src, Object context) { + + return new MockIterator(src, context, this); + + } + + } + + private static class MockIterator<E> implements Iterator<E> { + + final Iterator src; + + final Object context; + + final MockFilterBase filter; + + public MockIterator(Iterator src, Object context, MockFilterBase filter) { + + this.src = src; + + this.context = context; + + this.filter = filter; + + } + + public boolean hasNext() { + return false; + } + + public E next() { + return null; + } + + public void remove() { + } + + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-29 16:28:54
|
Revision: 3680 http://bigdata.svn.sourceforge.net/bigdata/?rev=3680&view=rev Author: thompsonbry Date: 2010-09-29 16:28:48 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Working around a compiler error in a test suite. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOPredicate.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOAccessPath.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOKeyOrder.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/test/cutthecrap/utils/striterators/TestFilterBase.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java 2010-09-29 16:03:00 UTC (rev 3679) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java 2010-09-29 16:28:48 UTC (rev 3680) @@ -59,15 +59,15 @@ public TupleFilter() { - this(null/* state */); +// this(null/* state */); +// +// } +// +// public TupleFilter(final Object state) { +// +// super(state); } - - public TupleFilter(final Object state) { - - super(state); - - } @SuppressWarnings("unchecked") @Override Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOPredicate.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOPredicate.java 2010-09-29 16:03:00 UTC (rev 3679) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOPredicate.java 2010-09-29 16:28:48 UTC (rev 3680) @@ -95,6 +95,9 @@ * @param s * @param p * @param o + * + * @deprecated Only used by the unit tests. They should use the shallow + * copy constructor form. */ public SPOPredicate(final String relationName, final IVariableOrConstant<IV> s, @@ -128,8 +131,7 @@ // this(new String[] { relationName }, -1/* partitionId */, s, p, o, c, // false/* optional */, null/* constraint */, null/* expander */); - super((c == null ? new IVariableOrConstant[] { s, p, o } - : new IVariableOrConstant[] { s, p, o, c }), // + super(new IVariableOrConstant[] { s, p, o, c }, // new NV(Annotations.RELATION_NAME, relationName) // ); Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOAccessPath.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOAccessPath.java 2010-09-29 16:03:00 UTC (rev 3679) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOAccessPath.java 2010-09-29 16:28:48 UTC (rev 3680) @@ -29,7 +29,10 @@ import org.openrdf.model.Statement; +import com.bigdata.bop.BOp; import com.bigdata.bop.Constant; +import com.bigdata.bop.IPredicate; +import com.bigdata.bop.NV; import com.bigdata.bop.Var; import com.bigdata.rdf.internal.IV; import com.bigdata.rdf.internal.TermId; @@ -321,12 +324,14 @@ { final SPOPredicate predicate = new SPOPredicate(// - store.getSPORelation().getNamespace(),// - Var.var("g"), // s - new Constant<IV>(p1.getIV()), // p - new Constant<IV>(o1.getIV()), // o - Var.var("h") // c - ); + new BOp[] { Var.var("g"), // s + new Constant<IV>(p1.getIV()), // p + new Constant<IV>(o1.getIV()), // o + Var.var("h") // c + }, new NV(IPredicate.Annotations.RELATION_NAME, + new String[] { store.getSPORelation() + .getNamespace() // + })); final IAccessPath<ISPO> accessPath = store.getSPORelation() .getAccessPath(predicate); @@ -344,12 +349,13 @@ // shared 'g' variable (?g, p1, o1, ?g) { final SPOPredicate predicate = new SPOPredicate(// - store.getSPORelation().getNamespace(),// - Var.var("g"), // s - new Constant<IV>(p1.getIV()), // p - new Constant<IV>(o1.getIV()), // o - Var.var("g") // c - ); + new BOp[] { Var.var("g"), // s + new Constant<IV>(p1.getIV()), // p + new Constant<IV>(o1.getIV()), // o + Var.var("g") // c + }, new NV(IPredicate.Annotations.RELATION_NAME, + new String[] { store.getSPORelation() + .getNamespace() })); final IAccessPath<ISPO> accessPath = store.getSPORelation() .getAccessPath(predicate); Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOKeyOrder.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOKeyOrder.java 2010-09-29 16:03:00 UTC (rev 3679) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOKeyOrder.java 2010-09-29 16:28:48 UTC (rev 3680) @@ -29,9 +29,13 @@ package com.bigdata.rdf.spo; import java.util.Iterator; + import junit.framework.TestCase2; +import com.bigdata.bop.BOp; import com.bigdata.bop.Constant; +import com.bigdata.bop.IPredicate; +import com.bigdata.bop.NV; import com.bigdata.bop.Var; import com.bigdata.btree.BytesUtil; import com.bigdata.btree.keys.KeyBuilder; @@ -184,8 +188,9 @@ final IV P = tid(1); - final SPOPredicate pred = new SPOPredicate("testRelation", - Var.var("s"), new Constant<IV>(P), Var.var("o"), Var.var("c")); + final SPOPredicate pred = new SPOPredicate(new BOp[]{ + Var.var("s"), new Constant<IV>(P), Var.var("o"), Var.var("c")}, + new NV(IPredicate.Annotations.RELATION_NAME,new String[]{"testRelation"})); final KeyBuilder keyBuilder = new KeyBuilder(); @@ -224,8 +229,10 @@ final IV P = tid(1); - final SPOPredicate pred = new SPOPredicate("testRelation", - Var.var("s"), new Constant<IV>(P), Var.var("o"), Var.var("c")); + final SPOPredicate pred = new SPOPredicate(new BOp[] { Var.var("s"), + new Constant<IV>(P), Var.var("o") }, new NV( + IPredicate.Annotations.RELATION_NAME, + new String[] { "testRelation" }));// , Var.var("c")); final KeyBuilder keyBuilder = new KeyBuilder(); Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/test/cutthecrap/utils/striterators/TestFilterBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/test/cutthecrap/utils/striterators/TestFilterBase.java 2010-09-29 16:03:00 UTC (rev 3679) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/test/cutthecrap/utils/striterators/TestFilterBase.java 2010-09-29 16:28:48 UTC (rev 3680) @@ -52,228 +52,228 @@ super(name); } - public void test_filterBase_ctor() { - - final FilterBase fixture = new MockFilterBase(); - - assertEquals("state", null, fixture.m_state); - assertEquals("annotations", null, fixture.annotations); - assertEquals("filterChain", null, fixture.filterChain); - - } - - public void test_filterBase_ctor2() { - - final Object state = new Object(); - - final FilterBase fixture = new MockFilterBase(state); - - assertEquals("state", state, fixture.m_state); - assertEquals("annotations", null, fixture.annotations); - assertEquals("filterChain", null, fixture.filterChain); - - } - - public void test_filterBase_annotations() { - - final FilterBase fixture = new MockFilterBase(); - - assertEquals("annotations", null, fixture.annotations); - - final String name = "name"; - final Object value = Integer.valueOf(0); - final Object value2 = Integer.valueOf(1); - - try { - fixture.getRequiredProperty(name); - fail("Expecting: " + IllegalStateException.class); - } catch (IllegalStateException ex) { - - } - - assertNull(fixture.getProperty(name)); - assertNull(fixture.setProperty(name, value)); - assertNotNull("annotations", fixture.annotations); - assertEquals("annotations", 1, fixture.annotations.size()); - assertEquals(value, fixture.getProperty(name)); - assertEquals(value, fixture.getRequiredProperty(name)); - assertEquals(value, fixture.setProperty(name, value2)); - assertEquals(value2, fixture.getProperty(name)); - assertEquals(value2, fixture.getRequiredProperty(name)); - - } - - public void test_filterBase_filterChain() { - - final Object s1 = "s1"; - final Object s2 = "s2"; - final Object s3 = "s3"; - - final FilterBase f1, f2, f3; - - final FilterBase fixture = f1 = new MockFilterBase(s1); - - assertNull("filterChain", fixture.filterChain); - - fixture.addFilter(f2 = new MockFilterBase(s2)); - - assertNotNull("filterChain", fixture.filterChain); - - fixture.addFilter(f3 = new MockFilterBase(s3)); - - final IFilter[] expected = new IFilter[] { f2, f3 }; - - final IFilter[] actual = f1.filterChain.toArray(new IFilter[] {}); - - assertEquals("#filters", expected.length, actual.length); - - for (int i = 0; i < expected.length; i++) { - - assertEquals("filter[" + i + "]", expected[i], actual[i]); - - } - - } - - /** - * Test creation of iterator without filter chain. make sure that the - * context is passed through. - */ - public void test_filter() { - - final FilterBase fixture = new MockFilterBase(); - - final Object context = new Object(); - - final Iterator src = EmptyIterator.DEFAULT; - - final MockIterator actual = (MockIterator) fixture.filter(src, context); - - assertNotNull(actual); - assertTrue("src", actual.src == src); - assertTrue("context", actual.context == context); - assertTrue("filter", actual.filter == fixture); - - } - - /** - * Test creation of iterator with filter chain. Make sure that the create - * order is correct and that the context is passed through to each iterator. - * The iterators are assembled in FIFO order, so the iterator stack winds up - * being LIFO. - */ - public void test_filter2() { - - // create filters w/ state objects (helps visual inspection in debugger). - final Object s1 = "s1"; - final Object s2 = "s2"; - final Object s3 = "s3"; - final FilterBase fixture1 = new MockFilterBase(s1); - final FilterBase fixture2 = new MockFilterBase(s2); - final FilterBase fixture3 = new MockFilterBase(s3); - - // chain 2 filters to the first. - fixture1.addFilter(fixture2); - fixture1.addFilter(fixture3); - - // verify the filter chain. - assertNotNull(fixture1.filterChain); - assertEquals(2, fixture1.filterChain.size()); - assertTrue(fixture2 == fixture1.filterChain.get(0)); - assertTrue(fixture3 == fixture1.filterChain.get(1)); - - // verify other filter chains are empty. - assertNull(fixture2.filterChain); - assertNull(fixture3.filterChain); - - final Object context = "context"; - - final Iterator src = EmptyIterator.DEFAULT; - - /* - * Create and verify the iterator stack. - * - * Note: The iterator are created in the order in filter chain order, - * but each iterator wraps the previous iterator. This has the effect of - * building an iterator stack which is the reverse of the filter chain. - * - * logical filter chain: filter1, filter2, filter3 - * - * logical iterator stack: itr1(filter3), itr2(filter2), itr3(filter1). - */ - final MockIterator actual1 = (MockIterator) fixture1.filter(src, context); - final MockIterator actual2 = (MockIterator) actual1.src; - final MockIterator actual3 = (MockIterator) actual2.src; - // itr3 (bottom of the stack) - assertTrue("src", actual3.src == src); - assertTrue("context", actual3.context == context); - assertTrue("filter", actual3.filter == fixture1); - // itr2 - assertTrue("src", actual2.src == actual3); - assertTrue("context", actual2.context == context); - assertTrue("filter", actual2.filter == fixture2); - // itr1 (top of the stack) - assertTrue("src", actual1.src == actual2); - assertTrue("context", actual1.context == context); - assertTrue("filter", actual1.filter == fixture3); - } - - /** - * Mock object. - */ - private static class MockFilterBase extends FilterBase { - - /** - * - */ - private static final long serialVersionUID = 1L; - - public MockFilterBase() { - super(); - } - - public MockFilterBase(Object o) { - super(o); - } - - @Override - protected Iterator filterOnce(Iterator src, Object context) { - - return new MockIterator(src, context, this); - - } - - } - - private static class MockIterator<E> implements Iterator<E> { - - final Iterator src; - - final Object context; - - final MockFilterBase filter; - - public MockIterator(Iterator src, Object context, MockFilterBase filter) { - - this.src = src; - - this.context = context; - - this.filter = filter; - - } - - public boolean hasNext() { - return false; - } - - public E next() { - return null; - } - - public void remove() { - } - - } +// public void test_filterBase_ctor() { +// +// final FilterBase fixture = new MockFilterBase(); +// +// assertEquals("state", null, fixture.m_state); +// assertEquals("annotations", null, fixture.annotations); +// assertEquals("filterChain", null, fixture.filterChain); +// +// } +// +// public void test_filterBase_ctor2() { +// +// final Object state = new Object(); +// +// final FilterBase fixture = new MockFilterBase(state); +// +// assertEquals("state", state, fixture.m_state); +// assertEquals("annotations", null, fixture.annotations); +// assertEquals("filterChain", null, fixture.filterChain); +// +// } +// +// public void test_filterBase_annotations() { +// +// final FilterBase fixture = new MockFilterBase(); +// +// assertEquals("annotations", null, fixture.annotations); +// +// final String name = "name"; +// final Object value = Integer.valueOf(0); +// final Object value2 = Integer.valueOf(1); +// +// try { +// fixture.getRequiredProperty(name); +// fail("Expecting: " + IllegalStateException.class); +// } catch (IllegalStateException ex) { +// +// } +// +// assertNull(fixture.getProperty(name)); +// assertNull(fixture.setProperty(name, value)); +// assertNotNull("annotations", fixture.annotations); +// assertEquals("annotations", 1, fixture.annotations.size()); +// assertEquals(value, fixture.getProperty(name)); +// assertEquals(value, fixture.getRequiredProperty(name)); +// assertEquals(value, fixture.setProperty(name, value2)); +// assertEquals(value2, fixture.getProperty(name)); +// assertEquals(value2, fixture.getRequiredProperty(name)); +// +// } +// +// public void test_filterBase_filterChain() { +// +// final Object s1 = "s1"; +// final Object s2 = "s2"; +// final Object s3 = "s3"; +// +// final FilterBase f1, f2, f3; +// +// final FilterBase fixture = f1 = new MockFilterBase(s1); +// +// assertNull("filterChain", fixture.filterChain); +// +// fixture.addFilter(f2 = new MockFilterBase(s2)); +// +// assertNotNull("filterChain", fixture.filterChain); +// +// fixture.addFilter(f3 = new MockFilterBase(s3)); +// +// final IFilter[] expected = new IFilter[] { f2, f3 }; +// +// final IFilter[] actual = f1.filterChain.toArray(new IFilter[] {}); +// +// assertEquals("#filters", expected.length, actual.length); +// +// for (int i = 0; i < expected.length; i++) { +// +// assertEquals("filter[" + i + "]", expected[i], actual[i]); +// +// } +// +// } +// +// /** +// * Test creation of iterator without filter chain. make sure that the +// * context is passed through. +// */ +// public void test_filter() { +// +// final FilterBase fixture = new MockFilterBase(); +// +// final Object context = new Object(); +// +// final Iterator src = EmptyIterator.DEFAULT; +// +// final MockIterator actual = (MockIterator) fixture.filter(src, context); +// +// assertNotNull(actual); +// assertTrue("src", actual.src == src); +// assertTrue("context", actual.context == context); +// assertTrue("filter", actual.filter == fixture); +// +// } +// +// /** +// * Test creation of iterator with filter chain. Make sure that the create +// * order is correct and that the context is passed through to each iterator. +// * The iterators are assembled in FIFO order, so the iterator stack winds up +// * being LIFO. +// */ +// public void test_filter2() { +// +// // create filters w/ state objects (helps visual inspection in debugger). +// final Object s1 = "s1"; +// final Object s2 = "s2"; +// final Object s3 = "s3"; +// final FilterBase fixture1 = new MockFilterBase(s1); +// final FilterBase fixture2 = new MockFilterBase(s2); +// final FilterBase fixture3 = new MockFilterBase(s3); +// +// // chain 2 filters to the first. +// fixture1.addFilter(fixture2); +// fixture1.addFilter(fixture3); +// +// // verify the filter chain. +// assertNotNull(fixture1.filterChain); +// assertEquals(2, fixture1.filterChain.size()); +// assertTrue(fixture2 == fixture1.filterChain.get(0)); +// assertTrue(fixture3 == fixture1.filterChain.get(1)); +// +// // verify other filter chains are empty. +// assertNull(fixture2.filterChain); +// assertNull(fixture3.filterChain); +// +// final Object context = "context"; +// +// final Iterator src = EmptyIterator.DEFAULT; +// +// /* +// * Create and verify the iterator stack. +// * +// * Note: The iterator are created in the order in filter chain order, +// * but each iterator wraps the previous iterator. This has the effect of +// * building an iterator stack which is the reverse of the filter chain. +// * +// * logical filter chain: filter1, filter2, filter3 +// * +// * logical iterator stack: itr1(filter3), itr2(filter2), itr3(filter1). +// */ +// final MockIterator actual1 = (MockIterator) fixture1.filter(src, context); +// final MockIterator actual2 = (MockIterator) actual1.src; +// final MockIterator actual3 = (MockIterator) actual2.src; +// // itr3 (bottom of the stack) +// assertTrue("src", actual3.src == src); +// assertTrue("context", actual3.context == context); +// assertTrue("filter", actual3.filter == fixture1); +// // itr2 +// assertTrue("src", actual2.src == actual3); +// assertTrue("context", actual2.context == context); +// assertTrue("filter", actual2.filter == fixture2); +// // itr1 (top of the stack) +// assertTrue("src", actual1.src == actual2); +// assertTrue("context", actual1.context == context); +// assertTrue("filter", actual1.filter == fixture3); +// } +// +// /** +// * Mock object. +// */ +// private static class MockFilterBase extends FilterBase { +// +// /** +// * +// */ +// private static final long serialVersionUID = 1L; +// +// public MockFilterBase() { +// super(); +// } +// +// public MockFilterBase(Object o) { +// super(o); +// } +// +// @Override +// protected Iterator filterOnce(Iterator src, Object context) { +// +// return new MockIterator(src, context, this); +// +// } +// +// } +// +// private static class MockIterator<E> implements Iterator<E> { +// +// final Iterator src; +// +// final Object context; +// +// final MockFilterBase filter; +// +// public MockIterator(Iterator src, Object context, MockFilterBase filter) { +// +// this.src = src; +// +// this.context = context; +// +// this.filter = filter; +// +// } +// +// public boolean hasNext() { +// return false; +// } +// +// public E next() { +// return null; +// } +// +// public void remove() { +// } +// +// } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-29 16:03:06
|
Revision: 3679 http://bigdata.svn.sourceforge.net/bigdata/?rev=3679&view=rev Author: thompsonbry Date: 2010-09-29 16:03:00 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Modified to use variable arity Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java 2010-09-29 15:48:34 UTC (rev 3678) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java 2010-09-29 16:03:00 UTC (rev 3679) @@ -1509,7 +1509,18 @@ !tripleSource.includeInferred ? ExplicitSPOFilter.INSTANCE : null; - return new SPOPredicate(new BOp[] { s, p, o, c }, new NV( + // Decide on the correct arity for the predicate. + final BOp[] vars; + if (!database.isQuads() && !database.isStatementIdentifiers()) { + vars = new BOp[] { s, p, o }; + } else if (c == null) { + vars = new BOp[] { s, p, o, com.bigdata.bop.Var.var() }; + } else { + vars = new BOp[] { s, p, o, c }; + } + + return new SPOPredicate(vars, // + new NV( IPredicate.Annotations.RELATION_NAME, new String[] { database .getSPORelation().getNamespace() }),// // @todo move to the join. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tho...@us...> - 2010-09-29 15:48:43
|
Revision: 3678 http://bigdata.svn.sourceforge.net/bigdata/?rev=3678&view=rev Author: thompsonbry Date: 2010-09-29 15:48:34 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Cleaned up the use of the "constraint" annotation. The code should now use INDEX_LOCAL_FILTER or ACCESS_PATH_FILTER everywhere. Cleaned up a lot of the SPOPredicate and MagicPredicate constructors. Reconciled some changes in the striterators package. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/architecture/query-cost-model.xls branches/QUADS_QUERY_BRANCH/bigdata/src/architecture/segment math.xls branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOp.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpUtility.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/IPredicate.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpTupleFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/DistinctFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraintFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/Rule2BOpUtility.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/notes.txt branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/counters/CounterSet.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AbstractArrayBuffer.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AbstractUnsynchronizedArrayBuffer.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/IAccessPath.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/IElementFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/SolutionFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/pipeline/DistributedJoinTask.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/pipeline/UnsynchronizedSolutionBuffer.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/striterator/ChunkedWrappedIterator.java branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/ap/TestPredicate.java branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/ap/TestPredicateAccessPath.java branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/relation/rule/eval/TestDefaultEvaluationPlan.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/AbstractSPOBuffer.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/BackchainTypeResourceIterator.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/RdfTypeRdfsResourceFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/magic/IRISUtils.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/magic/MagicIndexWriter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/magic/MagicPredicate.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/magic/MagicRelation.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rio/AsynchronousStatementBufferFactory.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/BackchainAccessPath.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/DoNotAddFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/rules/MatchRule.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/DefaultGraphSolutionExpander.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/ExplicitSPOFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphBinarySearchFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InGraphHashSetFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/InferredSPOFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NamedGraphSolutionExpander.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/NoAxiomFilter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOArrayIterator.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOIndexWriter.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOPredicate.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPORelation.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/spo/SPOStarJoin.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/store/AbstractTripleStore.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/magic/TestIRIS.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/magic/TestMagicStore.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOPredicate.java branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/test/com/bigdata/rdf/spo/TestSPOStarJoin.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataEvaluationStrategyImpl.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/ExclusionFilter.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Filter.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Filterator.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/UniquenessFilter.java Added Paths: ----------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/ElementFilter.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/IFilterTest.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/architecture/query-cost-model.xls =================================================================== (Binary files differ) Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/architecture/segment math.xls =================================================================== (Binary files differ) Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOp.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOp.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOp.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -175,12 +175,15 @@ * @see Annotations#MUTATION */ boolean isMutation(); - + /** * The timestamp or transaction identifier on which the operator will read * or write. * * @see Annotations#TIMESTAMP + * + * @throws IllegalStateException + * if {@link Annotations#TIMESTAMP} was not specified. */ long getTimestamp(); @@ -238,7 +241,7 @@ /** * The timestamp (or transaction identifier) used by this operator if it - * reads or writes on the database. + * reads or writes on the database (no default). * * @see #MUTATION */ Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpBase.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -287,7 +287,7 @@ } /** deep copy the arguments. */ - static private BOp[] deepCopy(final BOp[] a) { + static protected BOp[] deepCopy(final BOp[] a) { final BOp[] t = new BOp[a.length]; for (int i = 0; i < a.length; i++) { t[i] = a[i] == null ? null : a[i].clone(); @@ -311,7 +311,7 @@ * containing an ontology or some conditional assertions with a query * plan. */ - static private Map<String,Object> deepCopy(final Map<String,Object> a) { + static protected Map<String,Object> deepCopy(final Map<String,Object> a) { // allocate map. final Map<String, Object> t = new LinkedHashMap<String, Object>(a .size()); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpUtility.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpUtility.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/BOpUtility.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -211,7 +211,7 @@ private static final long serialVersionUID = 1L; @Override - protected boolean isValid(Object arg0) { + public boolean isValid(Object arg0) { return arg0 instanceof BOp; } }); @@ -314,7 +314,7 @@ private static final long serialVersionUID = 1L; @Override - protected boolean isValid(Object arg0) { + public boolean isValid(Object arg0) { return arg0 instanceof IVariable<?>; } }); @@ -338,7 +338,7 @@ private static final long serialVersionUID = 1L; @Override - protected boolean isValid(final Object arg0) { + public boolean isValid(final Object arg0) { return arg0 instanceof IVariable<?>; } }); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/IPredicate.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/IPredicate.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/IPredicate.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -41,6 +41,7 @@ import com.bigdata.mdi.PartitionLocator; import com.bigdata.relation.IRelation; import com.bigdata.relation.accesspath.AccessPath; +import com.bigdata.relation.accesspath.ElementFilter; import com.bigdata.relation.accesspath.IAccessPath; import com.bigdata.relation.accesspath.IElementFilter; import com.bigdata.relation.rule.IRule; @@ -95,33 +96,36 @@ */ String OPTIONAL = "optional"; - /** - * Constraints on the elements read from the relation. - * - * @deprecated This is being replaced by two classes of filters. One - * which is always evaluated local to the index and one - * which is evaluated in the JVM in which the access path is - * evaluated once the {@link ITuple}s have been resolved to - * elements of the relation. - */ - String CONSTRAINT = "constraint"; +// /** +// * Constraints on the elements read from the relation. +// * +// * @deprecated This is being replaced by two classes of filters. One +// * which is always evaluated local to the index and one +// * which is evaluated in the JVM in which the access path is +// * evaluated once the {@link ITuple}s have been resolved to +// * elements of the relation. +// * <p> +// * This was historically an {@link IElementFilter}, which is +// * an {@link IFilterTest}. {@link #INDEX_LOCAL_FILTER} is an +// * {@link IFilter}. You can wrap the {@link IFilterTest} as +// * an {@link IFilter} using {@link ElementFilter}. +// */ +// String CONSTRAINT = "constraint"; /** - * An optional {@link BOpFilterBase} that will be evaluated local to the - * to the index. When the index is remote, the filter will be sent to - * the node on which the index resides and evaluated there. This makes - * it possible to efficiently filter out tuples which are not of - * interest for a given access path. + * An optional {@link IFilter} that will be evaluated local to the to + * the index. When the index is remote, the filter will be sent to the + * node on which the index resides and evaluated there. This makes it + * possible to efficiently filter out tuples which are not of interest + * for a given access path. * <p> * Note: The filter MUST NOT change the type of data visited by the * iterator - it must remain an {@link ITupleIterator}. An attempt to * change the type of the visited objects will result in a runtime - * exception. + * exception. This filter must be "aware" of the reuse of tuples within + * tuple iterators. See {@link BOpTupleFilter}, {@link TupleFilter} and + * {@link ElementFilter} for starting points. * <p> - * Note: This filter must be "aware" of the reuse of tuples within tuple - * iterators. See {@link BOpTupleFilter} and {@link TupleFilter} for - * starting points. - * <p> * You can chain {@link BOpFilterBase} filters by nesting them inside of * one another. You can chain {@link FilterBase} filters together as * well. @@ -337,20 +341,36 @@ */ public ISolutionExpander<E> getSolutionExpander(); +// /** +// * An optional constraint on the visitable elements. +// * +// * @see Annotations#CONSTRAINT +// * +// * @deprecated This is being replaced by two classes of filters. One which +// * is always evaluated local to the index and one which is +// * evaluated in the JVM in which the access path is evaluated +// * once the {@link ITuple}s have been resolved to elements of +// * the relation. +// */ +// public IElementFilter<E> getConstraint(); + /** - * An optional constraint on the visitable elements. + * Return the optional filter to be evaluated local to the index. * - * @see Annotations#CONSTRAINT - * - * @deprecated This is being replaced by two classes of filters. One which - * is always evaluated local to the index and one which is - * evaluated in the JVM in which the access path is evaluated - * once the {@link ITuple}s have been resolved to elements of - * the relation. + * @see Annotations#INDEX_LOCAL_FILTER */ - public IElementFilter<E> getConstraint(); + public IFilter getIndexLocalFilter(); /** + * Return the optional filter to be evaluated once tuples have been + * converted into relation elements by the access path (local to the + * caller). + * + * @see Annotations#ACCESS_PATH_FILTER + */ + public IFilter getAccessPathFilter(); + + /** * Return the {@link IKeyOrder} assigned to this {@link IPredicate} by the * query optimizer. * Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/Predicate.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -28,6 +28,7 @@ package com.bigdata.bop.ap; +import java.util.Iterator; import java.util.Map; import cern.colt.Arrays; @@ -42,12 +43,14 @@ import com.bigdata.bop.IVariable; import com.bigdata.bop.IVariableOrConstant; import com.bigdata.bop.NV; -import com.bigdata.btree.ITuple; -import com.bigdata.journal.ITx; +import com.bigdata.relation.accesspath.ElementFilter; import com.bigdata.relation.accesspath.IElementFilter; import com.bigdata.relation.rule.ISolutionExpander; import com.bigdata.striterator.IKeyOrder; +import cutthecrap.utils.striterators.FilterBase; +import cutthecrap.utils.striterators.IFilter; + /** * A generic implementation of an immutable {@link IPredicate}. * @@ -81,20 +84,31 @@ } /** - * Simplified ctor. - * - * @param values - * The values (order is important!). - * @param relationName - * Identifies the relation to be queried. + * Variable argument version of the shallow constructor. + * @param vars + * @param annotations */ - public Predicate(final IVariableOrConstant<?>[] values, - final String relationName) { - - this(values, relationName, -1/* partitionId */, false/* optional */, - null/* constraint */, null/* expander */, ITx.READ_COMMITTED); - + public Predicate(final BOp[] vars, final NV... annotations) { + + super(vars, NV.asMap(annotations)); + } + +// /** +// * Simplified ctor. +// * +// * @param values +// * The values (order is important!). +// * @param relationName +// * Identifies the relation to be queried. +// */ +// public Predicate(final IVariableOrConstant<?>[] values, +// final String relationName) { +// +// this(values, relationName, -1/* partitionId */, false/* optional */, +// null/* constraint */, null/* expander */, ITx.READ_COMMITTED); +// +// } /** * @@ -121,7 +135,8 @@ new NV(Annotations.RELATION_NAME,new String[]{relationName}),// new NV(Annotations.PARTITION_ID,partitionId),// new NV(Annotations.OPTIONAL,optional),// - new NV(Annotations.CONSTRAINT,constraint),// + new NV(Annotations.INDEX_LOCAL_FILTER, + ElementFilter.newInstance(constraint)),// new NV(Annotations.EXPANDER,expander),// new NV(Annotations.TIMESTAMP, timestamp) })); @@ -204,21 +219,33 @@ } - /** - * - * @deprecated This is being replaced by two classes of filters. One which - * is always evaluated local to the index and one which is - * evaluated in the JVM in which the access path is evaluated - * once the {@link ITuple}s have been resolved to elements of - * the relation. - */ - @SuppressWarnings("unchecked") - final public IElementFilter<E> getConstraint() { +// /** +// * +// * @deprecated This is being replaced by two classes of filters. One which +// * is always evaluated local to the index and one which is +// * evaluated in the JVM in which the access path is evaluated +// * once the {@link ITuple}s have been resolved to elements of +// * the relation. +// */ +// @SuppressWarnings("unchecked") +// final public IElementFilter<E> getConstraint() { +// +// return (IElementFilter<E>) getProperty(Annotations.CONSTRAINT); +// +// } - return (IElementFilter<E>) getProperty(Annotations.CONSTRAINT); + final public IFilter getIndexLocalFilter() { + return (IFilter) getProperty(Annotations.INDEX_LOCAL_FILTER); + } + final public IFilter getAccessPathFilter() { + + return (IFilter) getProperty(Annotations.ACCESS_PATH_FILTER); + + } + @SuppressWarnings("unchecked") final public ISolutionExpander<E> getSolutionExpander() { @@ -362,6 +389,96 @@ } + public Predicate<E> setTimestamp(final long timestamp) { + + final Predicate<E> tmp = this.clone(); + + tmp.setProperty(Annotations.TIMESTAMP, timestamp); + + return tmp; + + } + + /** + * Add an {@link Annotations#INDEX_LOCAL_FILTER}. When there is a filter for + * the named property, the filters are combined. Otherwise the filter is + * set. + * + * @param filter + * The filter. + * + * @return The new predicate to which that filter was added. + */ + public Predicate<E> addIndexLocalFilter(final IFilter filter) { + + final Predicate<E> tmp = this.clone(); + + tmp.addFilter(Annotations.INDEX_LOCAL_FILTER, filter); + + return tmp; + + } + + /** + * Add an {@link Annotations#INDEX_LOCAL_FILTER}. When there is a filter for + * the named property, the filters are combined. Otherwise the filter is + * set. + * + * @param filter + * The filter. + * + * @return The new predicate to which that filter was added. + */ + public Predicate<E> addAccessPathFilter(final IFilter filter) { + + final Predicate<E> tmp = this.clone(); + + tmp.addFilter(Annotations.ACCESS_PATH_FILTER, filter); + + return tmp; + + } + + /** + * Private method used to add a filter. When there is a filter for the named + * property, the filters are combined. Otherwise the filter is set. DO NOT + * use this outside of the copy-on-write helper methods. + * + * @param name + * The property name. + * @param filter + * The filter. + */ + private void addFilter(final String name, final IFilter filter) { + + if (filter == null) + throw new IllegalArgumentException(); + + final IFilter current = (IFilter) getProperty(name); + + if (current == null) { + + /* + * Set the filter. + */ + setProperty(Annotations.INDEX_LOCAL_FILTER, filter); + + } else { + + /* + * Wrap the filter. + */ + setProperty(Annotations.INDEX_LOCAL_FILTER, new FilterBase() { + + @Override + protected Iterator filterOnce(Iterator src, Object context) { + return src; + } + }.addFilter(current).addFilter(filter)); + } + + } + public String toString() { return toString(null/* bindingSet */); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpFilter.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpFilter.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -98,7 +98,7 @@ private static final long serialVersionUID = 1L; @Override - protected boolean isValid(Object obj) { + public boolean isValid(Object obj) { return BOpFilter.this.isValid(obj); } Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpTupleFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpTupleFilter.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/BOpTupleFilter.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -40,6 +40,8 @@ import com.bigdata.btree.filter.TupleFilter; import com.bigdata.btree.filter.TupleFilter.TupleFilterator; +import cutthecrap.utils.striterators.IFilterTest; + /** * <p> * Filter supporting {@link ITupleIterator}s. @@ -99,6 +101,34 @@ super(args, annotations); } +// /** +// * Convenience method wraps the {@link IFilterTest} as a +// * {@link BOpTupleFilter}. +// * +// * @param test +// * The test (optional). +// * +// * @return The filter wrapping the test -or- <code>null</code> if the +// * argument is <code>null</code>. +// */ +// @SuppressWarnings("unchecked") +// public static BOpFilterBase newInstance(final IFilterTest test) { +// +// if (test == null) { +// // No test. No filter. +// return null; +// } +// +// return new BOpTupleFilter(new BOp[0]/*filters*/,null/*annotations*/) { +// private static final long serialVersionUID = 1L; +// @Override +// protected boolean isValid(ITuple obj) { +// return test.isValid(obj); +// } +// }; +// +// } + @Override final protected Iterator filterOnce(Iterator src, final Object context) { Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/DistinctFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/DistinctFilter.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/DistinctFilter.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -94,14 +94,14 @@ private final LinkedHashSet members; public DistinctFilterImpl() { - + members = new LinkedHashSet(getInitialCapacity(), getLoadFactor()); } @SuppressWarnings("unchecked") @Override - protected boolean isValid(Object obj) { + public boolean isValid(Object obj) { return members.add(obj); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraintFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraintFilter.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/SameVariableConstraintFilter.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -94,7 +94,7 @@ } @Override - protected boolean isValid(Object obj) { + public boolean isValid(Object obj) { return filter.accept(obj); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/Rule2BOpUtility.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/Rule2BOpUtility.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/Rule2BOpUtility.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -69,8 +69,6 @@ * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ - * - * FIXME Implement Rule2BOpUtility. */ public class Rule2BOpUtility { Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/notes.txt =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/notes.txt 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/engine/notes.txt 2010-09-29 15:48:34 UTC (rev 3678) @@ -508,45 +508,64 @@ Here is what I have not done yet: -Write unit tests to sanity check these changes. +- Striterator unit tests. -done. Replace (I)FilterConstructor with IFilter. FilterConstructor -implemented clone. I am not sure that I can recall why. Presumably -because a cloned would have a distinct filter chain. We can not -easily override clone() on FilterBase because of all the derived -versions. We could have a deep copy constructor pattern, which is -what I did for the BOpBase class and then use that for clone. +- Bop-erator tests. -Write unit tests at the IPredicate/AccessPath level to use stackable -filters (for the LOCAL and REMOTE access paths). Write unit tests for -correct range counts with and without local/remote filters. Write -unit tests for caching of those range counts. +- MGC: All of the Filterators need to use deferred prefetch. Prefetch + during the constructor causes problems when we are stacking filters + using FilterBase. (This is also true for the ITuple filters). -- The stacking of the BOpFilters may be counter intuitive or just - wrong. +- BT: Write unit tests at the IPredicate/AccessPath level to use + stackable filters (for the LOCAL and REMOTE access paths). Write + unit tests for correct range counts with and without local/remote + filters. Write unit tests for caching of those range counts. -- TestPredicateAccessPath#test_localFilter() does not report the - correct tuples. This is weirdness with reuse of the same backing - Tuple object. See TupleFilter and BOpFilter. The filter that is - being applied in the unit test does not protect against the tuple - reuse. It would be best to automatically wrap such asserts. E.g., - BOpTupleFilter. It would also be good to catch runtime type - problems with this. E.g., if the source iterator is ITupleFilter - then it is an error to wrap with BOpFilter. You must use - BOpTupleFilter instead. - - Write BOp versions for TupleResolver, ... -- All of the Filterators need to use deferred prefetch. Prefetch - during the constructor causes problems when we are stacking filters - using FilterBase. +- done. IPredicate#getConstraint() must go (issues remain with + BackchainAccessPath). -IPredicate#getConstraint() must go. This will require touching the -backchainer classes. The (SPO|Magic)Predicate contructors should also -be touched up since they will otherwise DROP the local and remote -filters. +- The (SPO|Magic)Predicate contructors must be touched up. -Reconcile IElementFilter and implementations. + - They assume an IElementFilter (IFilterTest). However, the filters + are now specified with IFilter. + - Those constructor will DROP the local and remote filters unless + the logic is modified. + + - When used remotely, IElementFilter must do ITuple.getObject() and + MUST be wrapped using ElementFilter to be "Tuple" aware (problem + with Tuple reference reuse inside the ITupleIterators). + + - Reconcile IElementFilter and implementations. IElementFilter was + transparently wrapped by AccessPath to resolve the ITuple to the + element before applying the filter. If IElementFilter is used in + contexts other than the index then all implementations must be + modified to conditionally resolve the element while filtering. + + - IPredicates created from a Relation MUST use the timestamp of that + relation NOT READ_COMMITTED. Remove the default timestamp + annotation. Make this required where it is used so we can track + all of this down. + +MikeP: + + - BackchainAccessPath. Are the index local or access path filters + ever used here? If they are then this code needs to be modified. + + - The timestamp on which the backchain access path will read MUST be + passed through to the IPredicate constructors. + + - Leave C as an anonymous variable when it will not be used, not + null. + + - Replace NamedGraph and DefaultGraph access paths per the decision + tree and cost model. + + - Set the TIMESTAMP on the predicate. + + - Additional SPOPredicate and Predicate constructor cleanup. + Reconcile the com.bigdata.striterators package. Can we get rid of it? Incrementally? Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -56,16 +56,19 @@ private static final long serialVersionUID = 1L; protected static transient final Logger log = Logger.getLogger(TupleFilter.class); - -// /** -// * Optional state specified by the ctor. -// */ -// protected Object state; - + public TupleFilter() { + this(null/* state */); + } + public TupleFilter(final Object state) { + + super(state); + + } + @SuppressWarnings("unchecked") @Override public ITupleIterator<E> filterOnce(final Iterator src,Object context) { @@ -73,21 +76,14 @@ return new TupleFilter.TupleFilterator((ITupleIterator) src, context, this); } -/* - public Iterator filterOnce(Iterator src, Object context) { - return new TupleFilter.Filterator((ITupleIterator) src); + abstract protected boolean isValid(ITuple<E> tuple); - } -*/ - abstract protected boolean isValid(ITuple<E> tuple); - /** * Implementation class knows how to avoid side-effects from the reuse of * the same {@link Tuple} instance by the base {@link ITupleIterator} impls. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> - * @version $Id$ * @param <E> */ static public class TupleFilterator<E> implements ITupleIterator<E> { Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/counters/CounterSet.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/counters/CounterSet.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/counters/CounterSet.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -361,7 +361,7 @@ private static final long serialVersionUID = 1L; @Override - protected boolean isValid(Object val) { + public boolean isValid(Object val) { final ICounter counter = (ICounter) val; Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AbstractArrayBuffer.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AbstractArrayBuffer.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AbstractArrayBuffer.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -119,7 +119,7 @@ if (filter != null) { - if(!filter.accept(e)) { + if(!filter.isValid(e)) { // rejected by the filter. Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AbstractUnsynchronizedArrayBuffer.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AbstractUnsynchronizedArrayBuffer.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AbstractUnsynchronizedArrayBuffer.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -139,7 +139,7 @@ if (filter != null && filter.canAccept(e)) { - return filter.accept(e); + return filter.isValid(e); } Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/AccessPath.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -124,7 +124,16 @@ protected final int chunkCapacity; protected final int fullyBufferedReadThreshold; + /** + * <code>true</code> iff the {@link IPredicate}is fully bound. + */ private final boolean isFullyBoundForKey; + + /** + * <code>true</code> iff there is a filter for the access path (either local + * or remote). + */ + private final boolean hasFilter; /** * <code>true</code> iff all elements in the predicate which are required @@ -399,6 +408,9 @@ this.accessPathFilter = (BOpFilterBase) predicate .getProperty(IPredicate.Annotations.ACCESS_PATH_FILTER); + // true iff there is a filter (either local or remote). + this.hasFilter = (indexLocalFilter != null || accessPathFilter != null); + final IKeyBuilder keyBuilder = ndx.getIndexMetadata() .getTupleSerializer().getKeyBuilder(); @@ -408,41 +420,6 @@ } -// /** -// * Align the predicate's {@link IElementFilter} constraint with -// * {@link ITupleFilter} so that the {@link IElementFilter} can be evaluated -// * close to the data by an {@link ITupleIterator}. -// * -// * @author <a href="mailto:tho...@us...">Bryan Thompson</a> -// * @version $Id$ -// * @param <R> -// * The generic type of the elements presented to the filter. -// */ -// public static class ElementFilter<R> extends TupleFilter<R> { -// -// private static final long serialVersionUID = 1L; -// -// private final IElementFilter<R> constraint; -// -// public ElementFilter(final IElementFilter<R> constraint) { -// -// if (constraint == null) -// throw new IllegalArgumentException(); -// -// this.constraint = constraint; -// -// } -// -// public boolean isValid(final ITuple<R> tuple) { -// -// final R obj = (R) tuple.getObject(); -// -// return constraint.accept( obj ); -// -// } -// -// } - public String toString() { return getClass().getName() @@ -1148,19 +1125,12 @@ } - /** - * Note: When there is a {@link IPredicate#getConstraint()} on the - * {@link IPredicate} the exact range count will apply that constraint as a - * filter during traversal. However, the constraint is ignored for the fast - * range count. - */ final public long rangeCount(final boolean exact) { assertInitialized(); long n = 0L; - final boolean hasFilter = (indexLocalFilter != null || accessPathFilter != null); if (exact) { /* Added: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/ElementFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/ElementFilter.java (rev 0) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/ElementFilter.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -0,0 +1,89 @@ +/** + +Copyright (C) SYSTAP, LLC 2006-2010. All rights reserved. + +Contact: + SYSTAP, LLC + 4501 Tower Road + Greensboro, NC 27410 + lic...@bi... + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +/* + * Created on Sep 29, 2010 + */ + +package com.bigdata.relation.accesspath; + +import com.bigdata.btree.ITuple; +import com.bigdata.btree.ITupleIterator; +import com.bigdata.btree.filter.ITupleFilter; +import com.bigdata.btree.filter.TupleFilter; + +import cutthecrap.utils.striterators.IFilter; + +/** + * Align the predicate's {@link IElementFilter} constraint with + * {@link ITupleFilter} so that the {@link IElementFilter} can be evaluated + * close to the data by an {@link ITupleIterator}. + * + * @author <a href="mailto:tho...@us...">Bryan Thompson</a> + * @version $Id$ + * @param <R> + * The generic type of the elements presented to the filter. + */ +public class ElementFilter<R> extends TupleFilter<R> { + + private static final long serialVersionUID = 1L; + + private final IElementFilter<R> test; + + /** + * Helper method conditionally wraps the <i>test</i>. + * + * @param <R> + * @param test + * The test. + * + * @return The wrapper test -or- <code>null</code> iff the <i>test</i> is + * <code>null</code>. + */ + public static <R> IFilter newInstance(final IElementFilter<R> test) { + + if (test == null) + return null; + + return new ElementFilter<R>(test); + + } + + public ElementFilter(final IElementFilter<R> test) { + + if (test == null) + throw new IllegalArgumentException(); + + this.test = test; + + } + + public boolean isValid(final ITuple<R> tuple) { + + final R obj = (R) tuple.getObject(); + + return test.isValid(obj); + + } + +} Property changes on: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/ElementFilter.java ___________________________________________________________________ Added: svn:keywords + Id Date Revision Author HeadURL Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/IAccessPath.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/IAccessPath.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/IAccessPath.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -39,6 +39,8 @@ import com.bigdata.striterator.IChunkedOrderedIterator; import com.bigdata.striterator.IKeyOrder; +import cutthecrap.utils.striterators.IFilter; + /** * An abstraction for efficient reads on an {@link IRelation} using the index * selected by an {@link IPredicate} constraint. Like their {@link #iterator()}, @@ -71,14 +73,20 @@ * empty (there may be "deleted" index entries within the key range). */ public boolean isEmpty(); - + /** * Return the maximum #of elements spanned by the {@link IPredicate}. + * <p> + * Note: When there is an {@link IFilter} on the {@link IPredicate} the + * exact range count MUST apply that {@link IFilter}, which means that it + * will be required to traverse the index counting tuples which pass the + * {@link IFilter}. However, {@link IFilter}s are ignored for the fast + * range count. * * @param exact - * When <code>true</code>, the result will be an exact count - * and may require a key-range scan. When <code>false</code>, - * the result will be an upper bound IFF delete markers are + * When <code>true</code>, the result will be an exact count and + * may require a key-range scan. When <code>false</code>, the + * result will be an upper bound IFF delete markers are * provisioned for the backing index (delete markers are required * for transactions and for scale-out indices). * Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/IElementFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/IElementFilter.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/accesspath/IElementFilter.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -30,30 +30,25 @@ import java.io.Serializable; -import cutthecrap.utils.striterators.IFilter; +import cutthecrap.utils.striterators.IFilterTest; /** * Filter for accepting or rejecting visited elements. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ - * - * @todo Can we replace this with an interface declared by CTC with isValid() or - * just the CTC {@link IFilter} so we allow non-filtering striterators to - * be applied as well? */ -public interface IElementFilter<E> extends // BOp, - Serializable { +public interface IElementFilter<E> extends IFilterTest, Serializable { - /** - * True iff the argument is matched by the filter. - * - * @param e - * An element. - * - * @return true iff the element is accepted by the filter. - */ - public boolean accept(E e); +// /** +// * True iff the argument is matched by the filter. +// * +// * @param e +// * An element. +// * +// * @return true iff the element is accepted by the filter. +// */ +// public boolean isValid(E e); /** * Return true iff this this filter can be used on the specified object @@ -61,7 +56,7 @@ * <p> * Note: This was added to make it possible filter out cases where the * runtime type system was throwing a {@link ClassCastException} in the - * {@link #accept(Object)} implementation. + * {@link #isValid(Object)} implementation. * * @param o * An object of some type. Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/SolutionFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/SolutionFilter.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/SolutionFilter.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -26,14 +26,25 @@ this.delegate = delegate; } - - public boolean accept(final ISolution<E> solution) { - final E e = solution.get(); + public boolean isValid(final Object o) { - return delegate.accept( e ); + return delegate.isValid(o); + } + + /* + * Note: The old implementation is below. Based on it, the canAccept() + * method was not (and still is not) being invoked for SolutionFilter. + */ +// public boolean accept(final ISolution<E> solution) { +// +// final E e = solution.get(); +// +// return delegate.accept( e ); +// } + public boolean canAccept(final Object o) { if (!(o instanceof ISolution<?>)) { Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/pipeline/DistributedJoinTask.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/pipeline/DistributedJoinTask.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/pipeline/DistributedJoinTask.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -1128,7 +1128,7 @@ return new Striterator(cache.values().iterator()).addFilter(new Filter(){ private static final long serialVersionUID = 1L; @Override - protected boolean isValid(final Object e) { + public boolean isValid(final Object e) { /* * Filter out any tasks which are not done or which had an * error. Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/pipeline/UnsynchronizedSolutionBuffer.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/pipeline/UnsynchronizedSolutionBuffer.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/relation/rule/eval/pipeline/UnsynchronizedSolutionBuffer.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -90,7 +90,7 @@ final ISolution solution = joinNexus.newSolution(rule, bindingSet); - if (solutionFilter == null || solutionFilter.accept(solution)) { + if (solutionFilter == null || solutionFilter.isValid(solution)) { a[naccepted++] = solution; Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/striterator/ChunkedWrappedIterator.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/striterator/ChunkedWrappedIterator.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/striterator/ChunkedWrappedIterator.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -121,11 +121,6 @@ * @param filter * Optional filter. When non-<code>null</code> only elements * accepted by the filter will be visited by this iterator. - * <p> - * Note: This filter will be applied on the client side after - * tuples have already been resolved to relation elements. Where - * possible, you are better off passing the filter into the - * source iterator running on the server(s). */ @SuppressWarnings("unchecked") public ChunkedWrappedIterator(final Iterator<E> src, final int chunkSize, @@ -153,9 +148,9 @@ private static final long serialVersionUID = 1L; - protected boolean isValid(final Object arg0) { + public boolean isValid(final Object arg0) { - return filter.accept((E) arg0); + return filter.isValid((E) arg0); }} ) Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/ap/TestPredicate.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/ap/TestPredicate.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/ap/TestPredicate.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -38,6 +38,7 @@ import com.bigdata.bop.IPredicate; import com.bigdata.bop.IVariable; import com.bigdata.bop.IVariableOrConstant; +import com.bigdata.bop.NV; import com.bigdata.bop.Var; /** @@ -77,9 +78,10 @@ final Var<Long> u = Var.var("u"); - final IPredicate<?> p1 = new Predicate( - new IVariableOrConstant[] { u, c1, c2 }, relation); - + final IPredicate<?> p1 = new Predicate(new IVariableOrConstant[] { + u, c1, c2 }, new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation })); + if (log.isInfoEnabled()) log.info(p1.toString()); @@ -103,7 +105,9 @@ final Var<Long> v = Var.var("v"); final IPredicate<?> p1 = new Predicate( - new IVariableOrConstant[] { u, c1, v }, relation); + new IVariableOrConstant[] { u, c1, v }, + new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation })); if (log.isInfoEnabled()) log.info(p1.toString()); @@ -131,10 +135,12 @@ final Var<Long> u = Var.var("u"); final IPredicate<?> p1 = new Predicate(new IVariableOrConstant[] { u, c1, c2 }, - relation); + new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation })); final IPredicate<?> p2 = new Predicate(new IVariableOrConstant[] { u, c3, c4 }, - relation); + new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation })); if (log.isInfoEnabled()) { @@ -157,9 +163,10 @@ final Var<Long> u = Var.var("u"); - final IPredicate<?> p1 = new Predicate(new IVariableOrConstant[] { u, c1, c2 }, - relation); - + final IPredicate<?> p1 = new Predicate(new IVariableOrConstant[] { u, + c1, c2 }, new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation })); + assertEquals("arity", 3, p1.arity()); // verify variables versus constants. @@ -246,9 +253,10 @@ final Var<Long> u = Var.var("u"); - final IPredicate<?> p1 = new Predicate(new IVariableOrConstant[] { u, c1, c2 }, - relation); - + final IPredicate<?> p1 = new Predicate(new IVariableOrConstant[] { u, + c1, c2 }, new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation })); + assertEquals("arity", 3, p1.arity()); // verify variables versus constants. Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/ap/TestPredicateAccessPath.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/ap/TestPredicateAccessPath.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/bop/ap/TestPredicateAccessPath.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -172,9 +172,10 @@ public void test_nothingBound() { // nothing bound. - final IAccessPath<E> accessPath = rel - .getAccessPath(new Predicate<E>(new IVariableOrConstant[] { - Var.var("name"), Var.var("value") }, namespace)); + final IAccessPath<E> accessPath = rel.getAccessPath(new Predicate<E>( + new BOp[] { Var.var("name"), Var.var("value") }, new NV( + IPredicate.Annotations.RELATION_NAME, + new String[] { namespace }))); // verify the range count. assertEquals(5, accessPath.rangeCount(true/* exact */)); @@ -215,7 +216,9 @@ final IAccessPath<E> accessPath = rel.getAccessPath(new Predicate<E>( new IVariableOrConstant[] { new Constant<String>("Mary"), - Var.var("value") }, namespace)); + Var.var("value") }, new NV( + Predicate.Annotations.RELATION_NAME, + new String[] { namespace }))); // verify the range count. assertEquals(2, accessPath.rangeCount(true/* exact */)); Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/relation/rule/eval/TestDefaultEvaluationPlan.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/relation/rule/eval/TestDefaultEvaluationPlan.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/relation/rule/eval/TestDefaultEvaluationPlan.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -41,12 +41,14 @@ import com.bigdata.bop.IConstraint; import com.bigdata.bop.IPredicate; import com.bigdata.bop.IVariableOrConstant; +import com.bigdata.bop.NV; import com.bigdata.bop.Var; import com.bigdata.bop.ap.Predicate; import com.bigdata.btree.keys.ISortKeyBuilder; import com.bigdata.config.IValidator; import com.bigdata.io.IStreamSerializer; import com.bigdata.journal.IIndexManager; +import com.bigdata.journal.ITx; import com.bigdata.mdi.PartitionLocator; import com.bigdata.relation.IMutableRelation; import com.bigdata.relation.IRelation; @@ -105,6 +107,7 @@ public void test_lubmQuery8() { final String relation = "spo"; + final long timestamp = ITx.READ_COMMITTED; final Constant<?> rdfType = new Constant<String>("rdfType"); final Constant<?> Department = new Constant<String>("Department"); @@ -117,31 +120,41 @@ final IPredicate<?> pred0 = new Predicate(// new IVariableOrConstant[] {// Var.var("y"), rdfType, Department },// - relation// + new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation }),// + new NV(Predicate.Annotations.TIMESTAMP,timestamp)// ); final IPredicate<?> pred1 = new Predicate(// new IVariableOrConstant[] {// Var.var("x"), rdfType, Student },// - relation// + new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation }),// + new NV(Predicate.Annotations.TIMESTAMP,timestamp)// ); final IPredicate<?> pred2 = new Predicate( // new IVariableOrConstant[] {// Var.var("x"), memberOf, Var.var("y") },// - relation// + new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation }),// + new NV(Predicate.Annotations.TIMESTAMP,timestamp)// ); final IPredicate<?> pred3 = new Predicate(// new IVariableOrConstant[] {// Var.var("y"), subOrganizationOf, University0 },// - relation// + new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation }),// + new NV(Predicate.Annotations.TIMESTAMP,timestamp)// ); final IPredicate<?> pred4 = new Predicate(// new IVariableOrConstant[] {// Var.var("x"), emailAddress, Var.var("z") }, - relation// + new NV(Predicate.Annotations.RELATION_NAME, + new String[] { relation }),// + new NV(Predicate.Annotations.TIMESTAMP,timestamp)// ); final IRule rule = new Rule(getName(), null/* head */, Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/AbstractSPOBuffer.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/AbstractSPOBuffer.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/AbstractSPOBuffer.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -186,7 +186,7 @@ assert stmt != null; - if (filter != null && filter.accept(stmt)) { + if (filter != null && filter.isValid(stmt)) { /* * Note: Do not store statements (or justifications) matched by the Modified: branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/BackchainTypeResourceIterator.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/BackchainTypeResourceIterator.java 2010-09-29 15:36:55 UTC (rev 3677) +++ branches/QUADS_QUERY_BRANCH/bigdata-rdf/src/java/com/bigdata/rdf/inf/BackchainTypeResourceIterator.java 2010-09-29 15:48:34 UTC (rev 3678) @@ -274,7 +274,7 @@ private static final long serialVersionUID = 1L; - protected boolean isValid(Object arg0) { + public boolean isValid(Object arg0) { final SPO o = (SPO) arg0; Modified: branches/QUADS_QUERY_BRANCH/bigdat... [truncated message content] |
From: <mar...@us...> - 2010-09-29 15:37:02
|
Revision: 3677 http://bigdata.svn.sourceforge.net/bigdata/?rev=3677&view=rev Author: martyncutcher Date: 2010-09-29 15:36:55 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Remove references to m_state Filter member field Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/DistinctFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleUpdater.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/ExclusionFilter.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Expander.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Filter.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/FilterBase.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Resolver.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/UniquenessFilter.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/DistinctFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/DistinctFilter.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/bop/ap/filter/DistinctFilter.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -94,14 +94,7 @@ private final LinkedHashSet members; public DistinctFilterImpl() { - this(null); - } - @SuppressWarnings("unchecked") - public DistinctFilterImpl(final Object state) { - - super(state); - members = new LinkedHashSet(getInitialCapacity(), getLoadFactor()); } Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleFilter.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -64,17 +64,8 @@ public TupleFilter() { - this(null/* state */); - } - public TupleFilter(final Object state) { - -// this.state = state; - super(state); - - } - @SuppressWarnings("unchecked") @Override public ITupleIterator<E> filterOnce(final Iterator src,Object context) { Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleUpdater.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleUpdater.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/filter/TupleUpdater.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -25,12 +25,6 @@ } - public TupleUpdater(Object state) { - - super(state); - - } - @SuppressWarnings("unchecked") @Override public ITupleIterator<E> filterOnce(Iterator src, Object context) { Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/ExclusionFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/ExclusionFilter.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/ExclusionFilter.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -29,14 +29,16 @@ * Derived from Filter, and excludes a single object from the iteration. */ public class ExclusionFilter extends Filter { - public ExclusionFilter(Object state) { - super(state); + private Object m_exclude; + + public ExclusionFilter(Object exclude) { + m_exclude = exclude; } /*********************************************************************** * Just make sure that the current object is not the one to be excluded. **/ protected boolean isValid(Object obj) { - return obj != m_state; + return obj != m_exclude; } } Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Expander.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Expander.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Expander.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -39,10 +39,6 @@ public Expander() { } - public Expander(Object state) { - super(state); - } - //------------------------------------------------------------- @Override Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Filter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Filter.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Filter.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -39,10 +39,6 @@ public Filter() {} - public Filter(Object state) { - super(state); - } - //------------------------------------------------------------- @Override Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/FilterBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/FilterBase.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/FilterBase.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -57,28 +57,10 @@ */ /*private*/ volatile Map<String, Object> annotations; - /** - * State from the constructor (optional). - * <p> - * Note: Striterators should not have a side-effect on state object since - * that can have unexpected consequences if the {@link IFilter} is reused. - */ - final protected Object m_state; - public FilterBase() { - m_state = null; } /** - * - * @param state - * State (optional). - */ - public FilterBase(final Object state) { - m_state = state; - } - - /** * Add a filter to the end of this filter chain. * * @param filter @@ -202,8 +184,7 @@ public String toString() { final StringBuilder sb = new StringBuilder(); sb.append(super.toString()); - sb.append("{state=" + m_state); - sb.append(",annotations=" + annotations); + sb.append("{annotations=" + annotations); sb.append(",filterChain=" + filterChain); sb.append("}"); return sb.toString(); Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Resolver.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Resolver.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Resolver.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -39,10 +39,6 @@ public Resolver() {} - public Resolver(Object state) { - super(state); - } - //------------------------------------------------------------- @Override Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/Striterator.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -136,10 +136,10 @@ } /** check each object against cls.isInstance(object) **/ - public IStriterator addTypeFilter(Class cls) { - addFilter(new Filter(cls) { + public IStriterator addTypeFilter(final Class cls) { + addFilter(new Filter() { protected boolean isValid(Object obj) { - boolean ret = ((Class) m_state).isInstance(obj); + boolean ret = cls.isInstance(obj); return ret; } @@ -149,10 +149,10 @@ } /** check each object against cls.isInstance(object) **/ - public IStriterator addInstanceOfFilter(Class cls) { - addFilter(new Filter(cls) { + public IStriterator addInstanceOfFilter(final Class cls) { + addFilter(new Filter() { protected boolean isValid(Object obj) { - return obj.getClass() == m_state; + return obj == null ? false : obj.getClass() == obj; } } ); Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/UniquenessFilter.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/UniquenessFilter.java 2010-09-29 15:29:12 UTC (rev 3676) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/UniquenessFilter.java 2010-09-29 15:36:55 UTC (rev 3677) @@ -43,7 +43,6 @@ private final LinkedHashSet<Object> m_members = new LinkedHashSet<Object>(); public UniquenessFilter() { - super(null); } /*********************************************************************** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <res...@us...> - 2010-09-29 15:29:26
|
Revision: 3676 http://bigdata.svn.sourceforge.net/bigdata/?rev=3676&view=rev Author: resendes Date: 2010-09-29 15:29:12 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Merge from maven_scaleout branch Modified Paths: -------------- branches/bbb_cleanup/bigdata-core/pom.xml branches/bbb_cleanup/bigdata-core/src/test/deploy/testing/data/com/bigdata/btree/raba/codec/AbstractRabaCoderTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/TestDataFinder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/AbstractRepositoryTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/TestAppendBlock.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/TestCopyStream.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/TestFileMetadataIndex.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/TestFileVersionOutputStream.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/TestRandomBlockOps.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/TestRangeDelete.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/bfs/TestRangeScan.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/boot/BootComponentTest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/boot/launcher/ConfigReaderUnitTest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/AbstractBTreeCursorTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/AbstractBTreeTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/AbstractIndexSegmentTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/AbstractTupleCursorTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/MyEvictionListener.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestAll_BTreeBasics.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestAll_IndexSegment.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestAll_Iterators.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestBTree.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestBTreeLeafCursors.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestBTreeWithBloomFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestBigdataMap.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestBigdataSet.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestBloomFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestChunkedIterators.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestCommit.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestCompactingByteArrayBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestConstrainKeys.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestCopyOnWrite.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestDeleteMarkers.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestDirtyIterators.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestDirtyListener.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestFindChild.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIncrementalWrite.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexCounter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexPartitionFencePosts.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegment.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentAddressManager.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentBuilderWithCompactingMerge.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentBuilderWithIncrementalBuild.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentBuilderWithLargeTrees.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentBuilderWithSmallTree.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentCheckpoint.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentCursors.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentMultiBlockIterators.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentPlan.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIndexSegmentWithBloomFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestInsertLookupRemoveKeysInRootLeaf.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestIterators.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestLeafSplitShortestSeparatorKey.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestLinearListMethods.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestMutableBTreeCursors.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestNullValues.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestReadOnlyBTreeCursors.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestRemoveAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestReopen.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestSplitJoinRootLeaf.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestSplitJoinThreeLevels.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestSplitRootLeaf.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestTouch.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestTransientBTree.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/TestUtilMethods.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/AbstractLeafDataRecordTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/AbstractNodeDataRecordTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/AbstractNodeOrLeafDataRecordTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/TestLeafDataRecord_CanonicalHuffman_CanonicalHuffman.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/TestLeafDataRecord_FrontCoded_CanonicalHuffman.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/TestLeafDataRecord_Simple_Simple.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/TestNodeDataRecord_CanonicalHuffman.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/TestNodeDataRecord_FrontCoded.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/data/TestNodeDataRecord_Simple.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/filter/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/filter/TestPrefixFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/filter/TestRemoverator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/filter/TestReverserator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/filter/TestTupleFilters.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/isolation/TestAccount.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/isolation/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/isolation/TestConflictResolution.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/isolation/TestIsolatedFusedView.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/isolation/TestMixedModeOperations.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/keys/AbstractUnicodeKeyBuilderTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/keys/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/keys/TestICUUnicodeKeyBuilder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/keys/TestJDKUnicodeKeyBuilder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/keys/TestKeyBuilder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/keys/TestSuccessorUtil.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/proc/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/AbstractKeyBufferTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/TestKeyBufferSearch.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/TestMutableKeyBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/TestMutableValuesRaba.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/AbstractFrontCodedRabaCoderTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/AbstractRabaCoderTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestCanonicalHuffmanRabaCoder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestConditionalRabaCoder_keys_simple_frontCoded.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestConditionalRabaCoder_values_simple_canonical.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestEmptyRabaCoder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestFixedLengthValueRabaCoder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestFrontCodedRabaCoderRatio2.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestFrontCodedRabaCoderRatio32.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestFrontCodedRabaCoderRatio8.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/raba/codec/TestSimpleRabaCoder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/view/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/btree/view/TestFusedView.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/AbstractCachePolicyTest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/AbstractHardReferenceGlobalLRUTest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/StressTestGlobalLRU.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestBCHMGlobalLRU.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestBCHMGlobalLRU2WithStripedLocks.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestBCHMGlobalLRU2WithStripedLocksAndLIRS.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestBCHMGlobalLRU2WithThreadLocalBuffers.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestBCHMGlobalLRU2WithThreadLocalBuffersAndLIRS.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestBCHMGlobalLRUWithLIRS.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestHardReferenceGlobalLRU.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestHardReferenceGlobalLRURecycler.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestHardReferenceGlobalLRURecyclerExplicitDeleteRequired.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestHardReferenceQueue.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestHardReferenceQueueWithBatchingUpdates.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestLRUCache.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestRingBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestStoreAndAddressLRUCache.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/cache/TestWeakValueCache.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/concurrent/AbstractStressTestNonBlockingLockManager.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/concurrent/StressTestNonBlockingLockManagerWithPredeclaredLocks.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/concurrent/StressTestNonBlockingLockManagerWithTxDag.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/concurrent/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/concurrent/TestLockManager.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/concurrent/TestNonBlockingLockManager.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/concurrent/TestNonBlockingLockManagerWithNewDesign.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/concurrent/TestTxDag.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/config/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/config/TestConfiguration.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/TestCounters.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/TestHistoryInstrument.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/httpd/TestCounterSetHTTPDServer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/linux/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/linux/TestKernelVersion.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/linux/TestParsing.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/query/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/query/TestTimeRange.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/store/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/counters/store/TestCounterSetBTree.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestAll_Buffers.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestByteArrayBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestByteBufferStreams.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestBytesUtil.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestChecksumUtility.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestDataOutputBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestDirectBufferPool.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestFileChannelUtility.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestFileLockUtility.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestFixedByteArrayBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestIO.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestLongPacker.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestManagedReads.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestNameAndExtensionFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestShortPacker.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestWriteCache.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/TestWriteCacheService.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/compression/AbstractRecordCompressorTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/compression/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/compression/TestHuffmanEncoder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/compression/TestNOPRecordCompressor.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/compression/TestRecordCompressor_BestCompression.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/io/compression/TestRecordCompressor_BestSpeed.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/AbstractBufferStrategyTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/AbstractCommitRecordTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/AbstractIndexManagerTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/AbstractInterruptsTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/AbstractJournalTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/AbstractMRMWTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/AbstractMROWTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/AbstractRestartSafeTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/BenchmarkJournalWriteRate.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/ProxyTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/StressTestConcurrentTx.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/StressTestConcurrentUnisolatedIndices.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/StressTestGroupCommit.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/StressTestLockContention.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestAbort.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestAddDropIndexTask.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestCommitHistory.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestCommitList.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestCommitRecordIndex.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestCommitRecordSerializer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestCompactJournal.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestConcurrentJournal.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestDirectJournal.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestDiskJournal.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestDoubleOpen.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestJournalBasics.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestMappedJournal.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestName2Addr.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestNamedIndices.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestRandomAccessFileSynchronousWrites.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestReadCommittedTx.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestReadOnlyTx.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestRestartSafe.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestRollbackCommit.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestRootBlockView.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestRunState.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTemporaryStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTransactionService.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTransactionSupport.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTransientJournal.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTx.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestUnisolatedWriteTasks.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestWORMStrategy.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/mdi/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/net/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/net/TestInetAddressUtil.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/nio/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/nio/TestPageServer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/process/ProcessConfigXmlHandlerTest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rawstore/AbstractRawStoreTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rawstore/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rawstore/TestSimpleFileRawStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rawstore/TestSimpleMemoryRawStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rawstore/TestWormAddressManager.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/axioms/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/axioms/TestAxioms.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/internal/BlobOverflowHandler.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/internal/ITermIdCodes.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/internal/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/internal/TestEncodeDecodeKeys.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/internal/TestIVCompare.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/internal/TestLongLiterals.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/internal/constraints/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/internal/constraints/TestInlineConstraints.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestAddTerms.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestComparators.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestCompletionScan.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestFullTextIndex.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestId2TermTupleSerializer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestInlining.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestSerialization.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestTerm2IdTupleSerializer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestTermIdEncoder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/lexicon/TestVocabulary.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/load/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/load/TestLockDeserialization.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/magic/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/magic/TestIRIS.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/magic/TestMagicKeyOrderStrategy.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/magic/TestMagicStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/metrics/AbstractMetricsTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/metrics/MetricsQueryParser.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/metrics/TaskATest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/metrics/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/metrics/TestMetrics.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/metrics/TestQueryReader.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/model/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/model/TestFactory.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rio/AbstractRIOTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rio/EDSAsyncLoader.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rio/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rio/TestAsynchronousStatementBufferFactory.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rio/TestLoadAndVerify.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rio/TestRDFXMLInterchangeWithStatementIdentifiers.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rio/TestStatementBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/AbstractInferenceEngineTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/AbstractRuleTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestBackchainOwlSameAsPropertiesIterator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestBackchainTypeResourceIterator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestCompareFullAndFastClosure.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestDatabaseAtOnceClosure.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestDistinct.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestDistinctTermScan.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestJustifications.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestMappedProgram.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestMatch.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestModelsEqual.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestOptionals.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestOrderBy.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestOwlSameAsPropertiesExpandingIterator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleExpansion.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleFastClosure_11_13.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleFastClosure_3_5_6_7_9.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleOwlEquivalentClass.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleOwlEquivalentProperty.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleOwlHasValue.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleOwlInverseOf.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleOwlSameAs.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleOwlTransitiveProperty.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleRdf01.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleRdfs03.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleRdfs04.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleRdfs07.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleRdfs10.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestRuleRdfs11.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestSlice.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestTMUtility.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestTruthMaintenance.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/rules/TestUnion.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/AbstractBigdataSailTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/ProxyBigdataSailTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/QuadsTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestBigdataSailEvaluationStrategyImpl.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestBigdataSailWithQuads.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestBigdataSailWithQuadsAndPipelineJoins.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestBigdataSailWithQuadsAndPipelineJoinsWithoutInlining.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestBigdataSailWithSids.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestBigdataSailWithSidsWithoutInlining.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestBigdataSailWithoutSids.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestBootstrapBigdataSail.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestDescribe.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestInlineValues.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestJoinScope.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestNamedGraphs.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestOptionals.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestOrderBy.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestProvenanceQuery.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestPruneBindingSets.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestQuadsAPI.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestQuery.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestQueryHints.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestReadWriteTransactions.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestSearchQuery.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestSetBinding.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestSids.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/TestUnions.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataConnectionTest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataSparqlTest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataSparqlTest2.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataStoreTest.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestDefaultGraphAccessPath.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPO.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPOAccessPath.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPOKeyCoders.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPOKeyOrder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPOPredicate.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPORelation.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPOStarJoin.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPOTupleSerializer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestSPOValueCoders.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/spo/TestStatementEnum.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/AbstractDistributedBigdataFederationTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/AbstractDistributedTripleStoreTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/AbstractEmbeddedBigdataFederationTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/AbstractEmbeddedTripleStoreTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/AbstractServerTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/AbstractTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/AbstractTripleStoreTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/ProxyTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/StressTestCentos.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestBulkFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestInsertRate.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestIsModified.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestLocalQuadStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestLocalTripleStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestLocalTripleStoreTransactionSemantics.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestLocalTripleStoreWithoutInlining.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestLocalTripleStoreWithoutStatementIdentifiers.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestRelationLocator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestRestartSafe.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestScaleOutTripleStoreWithEmbeddedFederation.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestScaleOutTripleStoreWithJiniFederation.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestStatementIdentifiers.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestTempTripleStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestTripleStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/store/TestTripleStoreBasics.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestArrayBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestBlockingBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestBlockingBufferWithChunks.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestBlockingBufferWithChunksDeque.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestSameVariableConstraint.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestThickAsynchronousIterator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestUnsynchronizedArrayBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/accesspath/TestUnsynchronizedUnboundedChunkBuffer.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/ddl/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/locator/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/locator/TestDefaultResourceLocator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/AbstractRuleTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/TestBindingSet.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/TestConstant.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/TestPredicate.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/TestProgram.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/TestRule.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/TestSlice.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/TestVar.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/eval/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/eval/TestDefaultEvaluationPlan.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/relation/rule/eval/TestRuleState.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/AbstractResourceManagerBootstrapTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/AbstractResourceManagerTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestAddDeleteResource.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestBuildTask.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestBuildTask2.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestMergeTask.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestOverflow.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestReleaseResources.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestResourceManagerBootstrap.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestSegSplitter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rwstore/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rwstore/TestRWJournal.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/search/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/search/TestKeyBuilder.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/search/TestPrefixSearch.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/search/TestSearch.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/search/TestSearchRestartSafe.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/AbstractEmbeddedFederationTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/StressTestConcurrent.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/StressTestConcurrentRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestBasicIndexStuff.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestBasicIndexStuffRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestClientException.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestDistributedTransactionService.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestDistributedTransactionServiceRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestDistributedTransactionServiceRestart.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestEDS.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestEDSRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestEmbeddedClient.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestEmbeddedClientRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestEventParser.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestEventReceiver.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestJournal.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestLoadBalancerRoundRobin.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestMetadataIndex.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestMetadataIndexRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestMove.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestMoveRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestOverflow.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestOverflowRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestRangeQuery.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestRangeQueryRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestResourceService.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestRestartSafe.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestRestartSafeRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestScatterSplit.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestScatterSplitRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestSnapshotHelper.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestSplitJoin.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/TestSplitJoinRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/jini/master/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/jini/master/TestMappedRDFDataLoadMaster.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/jini/master/TestMappedRDFDataLoadMasterRemote.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/TestSplitter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/AbstractKeyRangeMasterTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/AbstractMasterTestCase.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/TestDefaultDuplicateRemover.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/TestFileSystemScanner.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/TestMasterTask.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/TestMasterTaskIdleTimeout.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/TestMasterTaskWithErrors.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/TestMasterTaskWithRedirect.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/service/ndx/pipeline/TestMasterTaskWithSplits.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/sparse/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/sparse/TestKeyEncodeDecode.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/sparse/TestSparseRowStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/sparse/TestTPS.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/sparse/TestValueType.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/striterator/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/striterator/TestChunkedFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/striterator/TestDistinctFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/striterator/TestMergeFilter.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/striterator/TestPushbackIterator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/striterator/TestResolver.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/test/ExperimentDriver.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestBootStateUtil.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestCSVReader.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestEntryUtil.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestFormat.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestHTMLUtility.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestInnerCause.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestMillisecondTimestampFactory.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestNT.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestNV.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/TestReverseLongComparator.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/concurrent/TestAll.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/util/concurrent/TestLatch.java branches/bbb_cleanup/bigdata-core/src/test/java/org/apache/system/TestSystemUtil.java branches/bbb_cleanup/bigdata-core/src/test/java/org/openrdf/query/parser/sparql/SPARQLQueryTest.java branches/bbb_cleanup/bigdata-core/thirdparty/maven.xml branches/bbb_cleanup/bigdata-integ/pom.xml branches/bbb_cleanup/pom.xml Added Paths: ----------- branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestDirectJournalInterrupts.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestDirectJournalMRMW.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestDirectJournalMROW.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestDirectJournalRawStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTemporaryStoreInterrupts.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTemporaryStoreMRMW.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTemporaryStoreMROW.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTemporaryStoreRawStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTransientJournalMRMW.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTransientJournalMROW.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestTransientJournalRawStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestWORMStrategyInterrupts.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestWORMStrategyMRMW.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestWORMStrategyMROW.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/journal/TestWORMStrategyRawStore.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataConnectionTestLTSWithNestedSubquery.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataConnectionTestLTSWithPipelineJoins.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataSparqlSuite.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataStoreTestLTSWithNestedSubquery.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/rdf/sail/tck/BigdataStoreTestLTSWithPipelineJoins.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestReleaseResourcesWithCopyImmediateRelease.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestReleaseResourcesWithCopyNoRelease.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/resources/TestReleaseResourcesWithCopy_NonZeroMinReleaseAge.java branches/bbb_cleanup/bigdata-core/src/test/java/com/bigdata/test/Assert.java branches/bbb_cleanup/bigdata-core/thirdparty/lib/jsk.jar branches/bbb_cleanup/bigdata-core/thirdparty/lib/sdm.jar Property Changed: ---------------- branches/bbb_cleanup/ branches/bbb_cleanup/bigdata-core/ branches/bbb_cleanup/bigdata-core/bigdata-perf/ branches/bbb_cleanup/bigdata-core/bigdata-perf/lubm/src/resources/ branches/bbb_cleanup/bigdata-core/dsi-utils/LEGAL/ branches/bbb_cleanup/bigdata-core/dsi-utils/lib/ branches/bbb_cleanup/bigdata-core/dsi-utils/src/ branches/bbb_cleanup/bigdata-core/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom/ branches/bbb_cleanup/bigdata-core/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom/ branches/bbb_cleanup/bigdata-core/osgi/ branches/bbb_cleanup/bigdata-core/src/main/deploy/bin/ branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/jini/ branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/jini/bigdataCluster.config branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/jini/boot/ branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/jini/shardlocator.config branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/logging/ branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/logging/shardlocator-logging.properties branches/bbb_cleanup/bigdata-core/src/main/deploy/var/config/logging/transaction-logging.properties branches/bbb_cleanup/bigdata-core/src/main/java/ branches/bbb_cleanup/bigdata-core/src/main/java/com/bigdata/attr/ branches/bbb_cleanup/bigdata-core/src/main/java/com/bigdata/disco/ branches/bbb_cleanup/bigdata-core/src/main/java/com/bigdata/rdf/sail/bench/ branches/bbb_cleanup/bigdata-core/src/main/java/com/bigdata/rdf/util/ branches/bbb_cleanup/bigdata-core/src/samples-sail/com/bigdata/samples/fastload.properties branches/bbb_cleanup/bigdata-core/src/test/deploy/testing/conf/bigdataStandaloneTesting.config branches/bbb_cleanup/bigdata-core/src/test/deploy/testing/data/com/bigdata/jini/start/config/testfed.config branches/bbb_cleanup/bigdata-core/src/test/deploy/testing/data/com/bigdata/jini/start/testfed.config branches/bbb_cleanup/bigdata-core/src/test/deploy/testing/data/com/bigdata/service/jini/master/TestMappedRDFDataLoadMaster.config branches/bbb_cleanup/bigdata-core/src/test/java/ Property changes on: branches/bbb_cleanup ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH:2004-2045 /branches/DEV_BRANCH_27_OCT_2009:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH:2633-3304 /branches/bugfix-btm:2594-3237 /branches/dev-btm:2574-3440,3443,3463,3469-3470 /branches/fko:3150-3194 /branches/maven_scaleout:3379-3438,3588-3668 /trunk:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 + /branches/BTREE_BUFFER_BRANCH:2004-2045 /branches/DEV_BRANCH_27_OCT_2009:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH:2633-3304 /branches/bugfix-btm:2594-3237 /branches/dev-btm:2574-3440,3443,3463,3469-3470 /branches/fko:3150-3194 /branches/maven_scaleout:3379-3438,3588-3673 /trunk:3379-3430,3432-3460,3476-3499,3503,3507,3516-3528,3542 Property changes on: branches/bbb_cleanup/bigdata-core ___________________________________________________________________ Modified: svn:mergeinfo - /branches/maven_scaleout/bigdata-core:3588-3668 /trunk:3499 + /branches/maven_scaleout/bigdata-core:3588-3673 /trunk:3499 Property changes on: branches/bbb_cleanup/bigdata-core/bigdata-perf ___________________________________________________________________ Modified: svn:mergeinfo - /branches/maven_scaleout/bigdata-core/bigdata-perf:3588-3668 /trunk/bigdata-perf:3379-3541 + /branches/maven_scaleout/bigdata-core/bigdata-perf:3588-3673 /trunk/bigdata-perf:3379-3541 Property changes on: branches/bbb_cleanup/bigdata-core/bigdata-perf/lubm/src/resources ___________________________________________________________________ Modified: svn:mergeinfo - /branches/dev-btm/bigdata-perf/lubm/src/resources:2574-3440 /branches/maven_scaleout/bigdata-core/bigdata-perf/lubm/src/resources:3588-3668 /trunk/bigdata-perf/lubm/src/resources:3379-3541 + /branches/dev-btm/bigdata-perf/lubm/src/resources:2574-3440 /branches/maven_scaleout/bigdata-core/bigdata-perf/lubm/src/resources:3588-3673 /trunk/bigdata-perf/lubm/src/resources:3379-3541 Property changes on: branches/bbb_cleanup/bigdata-core/dsi-utils/LEGAL ___________________________________________________________________ Modified: svn:mergeinfo - /branches/maven_scaleout/bigdata-core/dsi-utils/LEGAL:3588-3668 /trunk/dsi-utils/LEGAL:3379-3430,3499 + /branches/maven_scaleout/bigdata-core/dsi-utils/LEGAL:3588-3673 /trunk/dsi-utils/LEGAL:3379-3430,3499 Property changes on: branches/bbb_cleanup/bigdata-core/dsi-utils/lib ___________________________________________________________________ Modified: svn:mergeinfo - /branches/maven_scaleout/bigdata-core/dsi-utils/lib:3588-3668 /trunk/dsi-utils/lib:3379-3430,3499 + /branches/maven_scaleout/bigdata-core/dsi-utils/lib:3588-3673 /trunk/dsi-utils/lib:3379-3430,3499 Property changes on: branches/bbb_cleanup/bigdata-core/dsi-utils/src ___________________________________________________________________ Modified: svn:mergeinfo - /branches/maven_scaleout/bigdata-core/dsi-utils/src:3588-3668 /trunk/dsi-utils/src:3379-3430,3499 + /branches/maven_scaleout/bigdata-core/dsi-utils/src:3588-3673 /trunk/dsi-utils/src:3379-3430,3499 Property changes on: branches/bbb_cleanup/bigdata-core/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom ___________________________________________________________________ Modified: svn:mergeinfo - /branches/maven_scaleout/bigdata-core/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom:3588-3668 /trunk/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom:3379-3430,3499 + /branches/maven_scaleout/bigdata-core/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom:3588-3673 /trunk/lgpl-utils/src/java/it/unimi/dsi/fastutil/bytes/custom:3379-3430,3499 Property changes on: branches/bbb_cleanup/bigdata-core/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom ___________________________________________________________________ Modified: svn:mergeinfo - /branches/maven_scaleout/bigdata-core/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom:3588-3668 /trunk/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom:3379-3430,3499 + /branches/maven_scaleout/bigdata-core/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom:3588-3673 /trunk/lgpl-utils/src/test/it/unimi/dsi/fastutil/bytes/custom:3379-3430,3499 Property changes on: branches/bbb_cleanup/bigdata-core/osgi ___________________________________________________________________ Modified: svn:mergeinfo - /branches/maven_scaleout/bigdata-core/osgi:3588-3668 /trunk/osgi:3379-3430,3499 + /branches/maven_scaleout/bigdata-core/osgi:3588-3673 /trunk/osgi:3379-3430,3499 Modified: branches/bbb_cleanup/bigdata-core/pom.xml =================================================================== --- branches/bbb_cleanup/bigdata-core/pom.xml 2010-09-29 13:43:15 UTC (rev 3675) +++ branches/bbb_cleanup/bigdata-core/pom.xml 2010-09-29 15:29:12 UTC (rev 3676) @@ -213,12 +213,6 @@ </dependency> <dependency> <groupId>${thirdParty.groupId}</groupId> - <artifactId>cweb-junit-ext</artifactId> - <version>1.1.0-b3-dev</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>${thirdParty.groupId}</groupId> <artifactId>cweb-commons</artifactId> <version>1.1.0-b2-dev</version> </dependency> Property changes on: branches/bbb_cleanup/bigdata-core/src/main/deploy/bin ___________________________________________________________________ Modified: svn:mergeinfo - /branches/BTREE_BUFFER_BRANCH/bigdata-core/src/main/deploy/bin:2004-2045 /branches/DEV_BRANCH_27_OCT_2009/bigdata-core/src/main/deploy/bin:2270-2546,2548-2782 /branches/LEXICON_REFACTOR_BRANCH/bigdata-core/src/main/deploy/bin:2633-3304 /branches/bugfix-btm/bigdat... [truncated message content] |
From: <tho...@us...> - 2010-09-29 13:43:21
|
Revision: 3675 http://bigdata.svn.sourceforge.net/bigdata/?rev=3675&view=rev Author: thompsonbry Date: 2010-09-29 13:43:15 +0000 (Wed, 29 Sep 2010) Log Message: ----------- FilterBase needs to layer on itself first, then the chained filters in order. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/FilterBase.java Modified: branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/FilterBase.java =================================================================== --- branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/FilterBase.java 2010-09-29 11:52:20 UTC (rev 3674) +++ branches/QUADS_QUERY_BRANCH/ctc-striterators/src/java/cutthecrap/utils/striterators/FilterBase.java 2010-09-29 13:43:15 UTC (rev 3675) @@ -108,8 +108,10 @@ } final public Iterator filter(Iterator src, final Object context) { - // makes most sense to consider the filterchain as preprocessing the - // src prior to application of this filter. + // wrap src with _this_ filter. + src = filterOnce(src, context); +//// makes most sense to consider the filterchain as preprocessing the +//// src prior to application of this filter. if (filterChain != null) { // wrap source with each additional filter from the filter chain. for (IFilter filter : filterChain) { @@ -117,8 +119,6 @@ } } - // wrap src with _this_ filter. - src = filterOnce(src, context); return src; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |