[Mulgara-svn] r409 - branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver
andrae at mulgara.org
andrae at mulgara.org
Mon Sep 10 07:41:31 UTC 2007
Author: andrae
Date: 2007-09-10 02:41:30 -0500 (Mon, 10 Sep 2007)
New Revision: 409
Modified:
branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/AppendAggregateTuples.java
branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/DatabaseOperationContext.java
branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/LocalQuery.java
branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/LocalQueryResolver.java
Log:
Initial cut at simplifying LocalQuery - compiles, but untested.
Modified: branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/AppendAggregateTuples.java
===================================================================
--- branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/AppendAggregateTuples.java 2007-09-10 06:18:20 UTC (rev 408)
+++ branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/AppendAggregateTuples.java 2007-09-10 07:41:30 UTC (rev 409)
@@ -275,7 +275,7 @@
}
// Evaluate the aggregate query
- Tuples tuples = localQuery.resolve(createBindingMap(this.tuples));
+ Tuples tuples = localQuery.resolveMap(createBindingMap(this.tuples));
if (logger.isDebugEnabled()) {
logger.debug("Resolved aggregate to " + tuples);
Modified: branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/DatabaseOperationContext.java
===================================================================
--- branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/DatabaseOperationContext.java 2007-09-10 06:18:20 UTC (rev 408)
+++ branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/DatabaseOperationContext.java 2007-09-10 07:41:30 UTC (rev 409)
@@ -781,7 +781,7 @@
try {
LocalQuery lq = (LocalQuery)localQuery.clone();
transform(lq);
- Tuples result = lq.resolve();
+ Tuples result = lq.resolveE();
lq.close();
return result;
@@ -835,7 +835,7 @@
transform(localQuery);
// Complete the numerical phase of resolution
- Tuples tuples = localQuery.resolve();
+ Tuples tuples = localQuery.resolveE();
result = new TransactionalAnswer(transaction, new SubqueryAnswer(this, systemResolver, tuples, query.getVariableList()));
answers.put(result, null);
tuples.close();
Modified: branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/LocalQuery.java
===================================================================
--- branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/LocalQuery.java 2007-09-10 06:18:20 UTC (rev 408)
+++ branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/LocalQuery.java 2007-09-10 07:41:30 UTC (rev 409)
@@ -98,8 +98,6 @@
/** Variable list from select clause */
private List select;
- private Map cachedResults;
-
//
// Constructor
//
@@ -142,7 +140,6 @@
this.given = new LocalizedTuples(resolverSession, query.getGiven());
this.having = query.getHavingExpression();
this.select = query.getVariableList();
- this.cachedResults = new HashMap();
if (logger.isDebugEnabled()) {
logger.debug("Constructed local query");
@@ -159,36 +156,14 @@
this.limit = localQuery.limit;
this.given = (Tuples)localQuery.given.clone();
this.select = localQuery.select;
- this.cachedResults = new HashMap();
}
//
// API methods
//
- /**
- * Attempt to apply a symbolic query transformation.
- *
- * Symbolic transformations modify the values of query clauses without
- * resolving any {@link Constraint} into {@link Tuples}.
- *
- * @param symbolicTransformation the transformation to apply, never
- * <code>null</code>
- * @return <code>true</code> if the application modified this instance
- */
- boolean apply(SymbolicTransformation symbolicTransformation)
- throws QueryException
+ Tuples resolveMap(Map outerBindings) throws QueryException
{
- /*
- MutableLocalQuery mutableLocalQuery = this.new MutableLocalQueryImpl();
- symbolicTransformation.apply(mutableLocalQuery);
- return mutableLocalQuery.isModified();
- */
- return false;
- }
-
- Tuples resolve(Map outerBindings) throws QueryException
- {
try {
return context.innerCount(new LocalQuery(this,
new ConstraintConjunction(ConstraintOperations.bindVariables(outerBindings, constraintExpression),
@@ -218,17 +193,16 @@
}
- Tuples resolve(ConstraintExpression whereExtension) throws QueryException {
- return resolve(constraintExpression, whereExtension);
- }
-
-
- Tuples resolve(Constraint constraint) throws QueryException {
+ Tuples resolveCT(Constraint constraint) throws QueryException {
return context.resolve(constraint);
}
- Tuples resolve(ConstraintExpression baseExpression, ConstraintExpression whereExtension) throws QueryException
+ /**
+ * @return the solution to this query
+ * @throws QueryException if resolution can't be obtained
+ */
+ Tuples resolveE() throws QueryException
{
try {
if (logger.isDebugEnabled()) {
@@ -240,9 +214,9 @@
}
ConstraintExpression tmpConstraint = new ConstraintConjunction(
- whereExtension, baseExpression);
+ new ConstraintConjunction(new ArrayList()), constraintExpression);
- Tuples result = resolve(modelExpression, tmpConstraint);
+ Tuples result = resolveMECE(modelExpression, tmpConstraint);
if (logger.isDebugEnabled()) {
logger.debug("Tuples result = " + TuplesOperations.formatTuplesTree(result));
@@ -258,28 +232,16 @@
return result;
} catch (TuplesException et) {
throw new QueryException("Failed to resolve query", et);
+// } catch (QueryException eq) {
+// logger.warn("QueryException thrown in resolve: ", eq);
+// throw eq;
+// } catch (Exception e) {
+// logger.warn("Exception thrown in resolve: ", e);
+// throw new QueryException("Exception thrown in resolve", e);
}
}
- /**
- * @return the solution to this query
- * @throws QueryException if resolution can't be obtained
- */
- Tuples resolve() throws QueryException
- {
- try {
- return resolve(new ConstraintConjunction(new ArrayList()));
- } catch (QueryException eq) {
- logger.warn("QueryException thrown in resolve: ", eq);
- throw eq;
- } catch (Exception e) {
- logger.warn("Exception thrown in resolve: ", e);
- throw new QueryException("Exception thrown in resolve", e);
- }
- }
-
-
private Tuples projectSelectClause(Tuples result) throws TuplesException
{
if (result.getRowCardinality() > Cursor.ZERO) {
@@ -393,7 +355,7 @@
* @param constraintExpression the <code>WHERE</code> clause to resolve
* @throws QueryException if resolution can't be obtained
*/
- Tuples resolve(ModelExpression modelExpression,
+ Tuples resolveMECE(ModelExpression modelExpression,
ConstraintExpression constraintExpression)
throws QueryException
{
Modified: branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/LocalQueryResolver.java
===================================================================
--- branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/LocalQueryResolver.java 2007-09-10 06:18:20 UTC (rev 408)
+++ branches/mgr-69/src/jar/resolver/java/org/mulgara/resolver/LocalQueryResolver.java 2007-09-10 07:41:30 UTC (rev 409)
@@ -462,7 +462,7 @@
localize(new URIReferenceImpl(modelResource.getURI())), localized);
}
- Tuples result = localQuery.resolve(localized);
+ Tuples result = localQuery.resolveCT(localized);
return result;
} catch (LocalizeException e) {
@@ -477,7 +477,7 @@
public Tuples resolve(ModelExpression modelExpression, ConstraintExpression constraintExpression) throws QueryException {
- return localQuery.resolve(modelExpression, constraintExpression);
+ return localQuery.resolveMECE(modelExpression, constraintExpression);
}
More information about the Mulgara-svn
mailing list