QueryExpression.java (hsqldb-2.7.0) | : | QueryExpression.java (hsqldb-2.7.1) | ||
---|---|---|---|---|
skipping to change at line 58 | skipping to change at line 58 | |||
import org.hsqldb.persist.PersistentStore; | import org.hsqldb.persist.PersistentStore; | |||
import org.hsqldb.result.Result; | import org.hsqldb.result.Result; | |||
import org.hsqldb.result.ResultMetaData; | import org.hsqldb.result.ResultMetaData; | |||
import org.hsqldb.types.Type; | import org.hsqldb.types.Type; | |||
import org.hsqldb.types.Types; | import org.hsqldb.types.Types; | |||
/** | /** | |||
* Implementation of an SQL query expression | * Implementation of an SQL query expression | |||
* | * | |||
* @author Fred Toussi (fredt@users dot sourceforge.net) | * @author Fred Toussi (fredt@users dot sourceforge.net) | |||
* @version 2.7.0 | * @version 2.7.1 | |||
* @since 1.9.0 | * @since 1.9.0 | |||
*/ | */ | |||
public class QueryExpression implements RangeGroup { | public class QueryExpression implements RangeGroup { | |||
public static final int NOUNION = 0, | public static final int NOUNION = 0, | |||
UNION = 1, | UNION = 1, | |||
UNION_ALL = 2, | UNION_ALL = 2, | |||
INTERSECT = 3, | INTERSECT = 3, | |||
INTERSECT_ALL = 4, | INTERSECT_ALL = 4, | |||
EXCEPT_ALL = 5, | EXCEPT_ALL = 5, | |||
skipping to change at line 670 | skipping to change at line 670 | |||
} | } | |||
navigator.reset(); | navigator.reset(); | |||
return first; | return first; | |||
} | } | |||
public void setRecursiveQuerySettings(RecursiveQuerySettings settings) { | public void setRecursiveQuerySettings(RecursiveQuerySettings settings) { | |||
OrderedHashSet subqueryList = rightQueryExpression.getSubqueries(); | OrderedHashSet subqueryList = rightQueryExpression.getSubqueries(); | |||
OrderedHashSet refList = new OrderedHashSet(); | ||||
if (subqueryList == null) { | if (subqueryList == null) { | |||
subqueryList = new OrderedHashSet(); | subqueryList = new OrderedHashSet(); | |||
} | } | |||
for (int i = 0; i < subqueryList.size(); i++) { | for (int i = 0; i < subqueryList.size(); i++) { | |||
TableDerived td = (TableDerived) subqueryList.get(i); | TableDerived td = (TableDerived) subqueryList.get(i); | |||
if (td.isCorrelated()) { | if (td.isCorrelated()) { | |||
continue; | continue; | |||
} | } | |||
QueryExpression qe = td.queryExpression; | QueryExpression qe = td.queryExpression; | |||
if (qe == null) { | if (qe == null) { | |||
continue; | continue; | |||
} | } | |||
refList = qe.collectRangeVariables(refList); | OrderedHashSet refList = new OrderedHashSet(); | |||
qe.collectObjectNames(refList); | ||||
for (int j = 0; j < refList.size(); j++) { | for (int j = 0; j < refList.size(); j++) { | |||
RangeVariable range = (RangeVariable) refList.get(j); | HsqlName name = (HsqlName) refList.get(j); | |||
if (range.rangeTable == recursiveWorkTable | if (name == recursiveWorkTable.tableName | |||
|| range.rangeTable == recursiveResultTable) { | || name == recursiveResultTable.tableName) { | |||
materialiseList = | materialiseList = | |||
ArrayUtil.toAdjustedArray(materialiseList, td); | ArrayUtil.toAdjustedArray(materialiseList, td); | |||
break; | break; | |||
} | } | |||
} | } | |||
} | } | |||
recursiveSettings = settings; | recursiveSettings = settings; | |||
} | } | |||
End of changes. 5 change blocks. | ||||
6 lines changed or deleted | 7 lines changed or added |