提交 4897122b authored 作者: --global's avatar --global

Fix issue between extra_optimizations and EquilibriumOptimizers

上级 bcaaadf9
from __future__ import print_function from __future__ import print_function
import copy
import sys import sys
import numpy import numpy
...@@ -117,12 +118,16 @@ multiple time in a DB. Tryed to register "%s" again under the new name "%s". ...@@ -117,12 +118,16 @@ multiple time in a DB. Tryed to register "%s" again under the new name "%s".
add = OrderedSet() add = OrderedSet()
for obj in variables: for obj in variables:
if isinstance(obj, DB): if isinstance(obj, DB):
sq = q.subquery.get(obj.name, q) def_sub_query = q
if sq: if q.extra_optimizations:
replacement = obj.query(sq) def_sub_query = copy.copy(q)
replacement.name = obj.name def_sub_query.extra_optimizations = []
remove.add(obj) sq = q.subquery.get(obj.name, def_sub_query)
add.add(replacement)
replacement = obj.query(sq)
replacement.name = obj.name
remove.add(obj)
add.add(replacement)
variables.difference_update(remove) variables.difference_update(remove)
variables.update(add) variables.update(add)
return variables return variables
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论