From 444d3f9987a77f1bb07d946af32536cd048884c3 Mon Sep 17 00:00:00 2001 From: LtWorf Date: Thu, 30 Apr 2009 18:21:50 +0000 Subject: [PATCH] optimizes over and over until the tree is stabilized git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@144 014f5005-505e-4b48-8d0a-63407b615a7c --- relational/optimizer.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/relational/optimizer.py b/relational/optimizer.py index ad37c5f..454345c 100644 --- a/relational/optimizer.py +++ b/relational/optimizer.py @@ -166,8 +166,11 @@ def general_optimize(expression): '''This function performs general optimizations. Means that it will not need to know the fields used by the relations''' n=tree(expression) #Gets the tree - for i in optimizations.general_optimizations: - print "Changes done: ", i(n) #Performs the optimization + total=1 + while total!=0: + total=0 + for i in optimizations.general_optimizations: + total+=i(n) #Performs the optimization return n.__str__() if __name__=="__main__":