[teiid-commits] teiid SVN: r1843 - in trunk/engine/src/main/java/com/metamatrix/query: optimizer/relational/rules and 3 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Thu Feb 18 21:29:43 EST 2010
Author: shawkins
Date: 2010-02-18 21:29:42 -0500 (Thu, 18 Feb 2010)
New Revision: 1843
Modified:
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePushAggregates.java
trunk/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java
trunk/engine/src/main/java/com/metamatrix/query/sql/LanguageObject.java
trunk/engine/src/main/java/com/metamatrix/query/sql/lang/OrderBy.java
Log:
TEIID-989 adding back the type hint to the clone method... It would probably be better to not even bother using generics here.
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java 2010-02-18 20:18:35 UTC (rev 1842)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java 2010-02-19 02:29:42 UTC (rev 1843)
@@ -157,7 +157,7 @@
connectSubqueryContainers(plan); //TODO: merge with node creation
// Set top column information on top node
- List<SingleElementSymbol> topCols = Util.deepClone(command.getProjectedSymbols());
+ List<SingleElementSymbol> topCols = Util.deepClone(command.getProjectedSymbols(), SingleElementSymbol.class);
// Build rule set based on hints
RuleStack rules = RelationalPlanner.buildRules(hints);
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePushAggregates.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePushAggregates.java 2010-02-18 20:18:35 UTC (rev 1842)
+++ trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RulePushAggregates.java 2010-02-19 02:29:42 UTC (rev 1843)
@@ -341,7 +341,7 @@
}
}
- List<SingleElementSymbol> projectedViewSymbols = Util.deepClone(projectedSymbols);
+ List<SingleElementSymbol> projectedViewSymbols = Util.deepClone(projectedSymbols, SingleElementSymbol.class);
SymbolMap viewMapping = SymbolMap.createSymbolMap(NodeEditor.findParent(unionSource, NodeConstants.Types.SOURCE).getGroups().iterator().next(), projectedSymbols, metadata);
for (AggregateSymbol agg : aggregates) {
Modified: trunk/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java 2010-02-18 20:18:35 UTC (rev 1842)
+++ trunk/engine/src/main/java/com/metamatrix/query/rewriter/QueryRewriter.java 2010-02-19 02:29:42 UTC (rev 1843)
@@ -902,7 +902,7 @@
private Insert rewriteSelectInto(Query query) throws QueryValidatorException {
Into into = query.getInto();
try {
- List<ElementSymbol> allIntoElements = Util.deepClone(ResolverUtil.resolveElementsInGroup(into.getGroup(), metadata));
+ List<ElementSymbol> allIntoElements = Util.deepClone(ResolverUtil.resolveElementsInGroup(into.getGroup(), metadata), ElementSymbol.class);
Insert insert = new Insert(into.getGroup(), allIntoElements, Collections.emptyList());
query.setInto(null);
insert.setQueryExpression(query);
Modified: trunk/engine/src/main/java/com/metamatrix/query/sql/LanguageObject.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/sql/LanguageObject.java 2010-02-18 20:18:35 UTC (rev 1842)
+++ trunk/engine/src/main/java/com/metamatrix/query/sql/LanguageObject.java 2010-02-19 02:29:42 UTC (rev 1843)
@@ -48,11 +48,10 @@
public static class Util {
- @SuppressWarnings("unchecked")
- public static <S extends LanguageObject, T extends S> ArrayList<S> deepClone(List<T> collection) {
+ public static <S extends LanguageObject, T extends S> ArrayList<S> deepClone(List<T> collection, Class<S> type) {
ArrayList<S> result = new ArrayList<S>(collection.size());
for (LanguageObject obj : collection) {
- result.add((S)obj.clone());
+ result.add(type.cast(obj.clone()));
}
return result;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/sql/lang/OrderBy.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/query/sql/lang/OrderBy.java 2010-02-18 20:18:35 UTC (rev 1842)
+++ trunk/engine/src/main/java/com/metamatrix/query/sql/lang/OrderBy.java 2010-02-19 02:29:42 UTC (rev 1843)
@@ -144,7 +144,7 @@
*/
public OrderBy clone() {
OrderBy clone = new OrderBy();
- clone.orderByItems = LanguageObject.Util.deepClone(this.orderByItems);
+ clone.orderByItems = LanguageObject.Util.deepClone(this.orderByItems, OrderByItem.class);
return clone;
}
More information about the teiid-commits
mailing list