devtools/repotest.py
changeset 1235 9c081452efc2
parent 1232 25cd18899830
child 1236 aeb46e43138d
equal deleted inserted replaced
1233:9f2760f15000 1235:9c081452efc2
   256     from cubicweb.server.msplanner import PartPlanInformation
   256     from cubicweb.server.msplanner import PartPlanInformation
   257 except ImportError:
   257 except ImportError:
   258     class PartPlanInformation(object):
   258     class PartPlanInformation(object):
   259         def merge_input_maps(*args):
   259         def merge_input_maps(*args):
   260             pass
   260             pass
   261 #         def _choose_term(self, sourceterms):
   261         def _choose_term(self, sourceterms):
   262 #             pass    
   262             pass    
   263 _orig_merge_input_maps = PartPlanInformation.merge_input_maps
   263 _orig_merge_input_maps = PartPlanInformation.merge_input_maps
   264 # _orig_choose_term = PartPlanInformation._choose_term
   264 _orig_choose_term = PartPlanInformation._choose_term
   265 
   265 
   266 def _merge_input_maps(*args):
   266 def _merge_input_maps(*args):
   267     return sorted(_orig_merge_input_maps(*args))
   267     return sorted(_orig_merge_input_maps(*args))
   268 
   268 
   269 # def _choose_term(self, sourceterms):
   269 def _choose_term(self, sourceterms):
   270 #     # predictable order for test purpose
   270     # predictable order for test purpose
   271 #     def get_key(x):
   271     def get_key(x):
   272 #         try:
   272         try:
   273 #             # variable
   273             # variable
   274 #             return x.name
   274             return x.name
   275 #         except AttributeError:
   275         except AttributeError:
   276 #             try:
   276             try:
   277 #                 # relation
   277                 # relation
   278 #                 return x.r_type
   278                 return x.r_type
   279 #             except AttributeError:
   279             except AttributeError:
   280 #                 # const
   280                 # const
   281 #                 return x.value
   281                 return x.value
   282 #     varsinorder = sorted(sourceterms, key=get_key)
   282     return _orig_choose_term(self, sorted(sourceterms, key=get_key))
   283 #     if len(self._sourcesterms) > 1:
       
   284 #         for var in varsinorder:
       
   285 #             if not var.scope is self.rqlst:
       
   286 #                 return var, sourceterms.pop(var)
       
   287 #     else:
       
   288 #         for var in varsinorder:
       
   289 #             if var.scope is self.rqlst:
       
   290 #                 return var, sourceterms.pop(var)
       
   291 #     var = varsinorder[0]
       
   292 #     return var, sourceterms.pop(var)
       
   293 
   283 
   294 
   284 
   295 def do_monkey_patch():
   285 def do_monkey_patch():
   296     RQLRewriter.insert_snippets = _insert_snippets
   286     RQLRewriter.insert_snippets = _insert_snippets
   297     RQLRewriter.build_variantes = _build_variantes
   287     RQLRewriter.build_variantes = _build_variantes
   298     ExecutionPlan._check_permissions = _check_permissions
   288     ExecutionPlan._check_permissions = _check_permissions
   299     ExecutionPlan.tablesinorder = None
   289     ExecutionPlan.tablesinorder = None
   300     ExecutionPlan.init_temp_table = _init_temp_table
   290     ExecutionPlan.init_temp_table = _init_temp_table
   301     PartPlanInformation.merge_input_maps = _merge_input_maps
   291     PartPlanInformation.merge_input_maps = _merge_input_maps
   302     #PartPlanInformation._choose_term = _choose_term
   292     PartPlanInformation._choose_term = _choose_term
   303 
   293 
   304 def undo_monkey_patch():
   294 def undo_monkey_patch():
   305     RQLRewriter.insert_snippets = _orig_insert_snippets
   295     RQLRewriter.insert_snippets = _orig_insert_snippets
   306     RQLRewriter.build_variantes = _orig_build_variantes
   296     RQLRewriter.build_variantes = _orig_build_variantes
   307     ExecutionPlan._check_permissions = _orig_check_permissions
   297     ExecutionPlan._check_permissions = _orig_check_permissions
   308     ExecutionPlan.init_temp_table = _orig_init_temp_table
   298     ExecutionPlan.init_temp_table = _orig_init_temp_table
   309     PartPlanInformation.merge_input_maps = _orig_merge_input_maps
   299     PartPlanInformation.merge_input_maps = _orig_merge_input_maps
   310     #PartPlanInformation._choose_term = _orig_choose_term
   300     PartPlanInformation._choose_term = _orig_choose_term
   311 
   301