--- a/server/msplanner.py Fri Nov 05 09:14:10 2010 +0100
+++ b/server/msplanner.py Fri Nov 05 09:17:43 2010 +0100
@@ -745,6 +745,15 @@
and self._need_ext_source_access(term, rel):
self.needsplit = True
return
+ else:
+ # remove sources only accessing to constant nodes
+ for source, terms in self._sourcesterms.items():
+ if source is self.system_source:
+ continue
+ if not any(x for x in terms if not isinstance(x, Constant)):
+ del self._sourcesterms[source]
+ if len(self._sourcesterms) < 2:
+ self.needsplit = False
@cached
def _need_ext_source_access(self, var, rel):