Skip to content
Snippets Groups Projects
Commit 6b28ea39cf54 authored by Florent Cayré's avatar Florent Cayré
Browse files

fix change_optional bug when no root set yet + small add_eid_restriction improvement

parent 7d368dd97930
No related branches found
No related tags found
No related merge requests found
......@@ -184,5 +184,5 @@
return self.add_restriction(make_relation(lhsvar, rtype, (rhsvar,),
VariableRef))
def add_eid_restriction(self, var, eid):
def add_eid_restriction(self, var, eid, c_type='Int'):
"""builds a restriction node to express '<var> eid <eid>'"""
......@@ -188,5 +188,6 @@
"""builds a restriction node to express '<var> eid <eid>'"""
return self.add_constant_restriction(var, 'eid', eid, 'Int')
assert c_type in ('Int', 'Substitute'), "Error got c_type=%r in eid restriction" % c_type
return self.add_constant_restriction(var, 'eid', eid, c_type)
def add_type_restriction(self, var, etype):
"""builds a restriction node to express : variable is etype"""
......@@ -478,7 +479,7 @@
def change_optional(self, value):
root = self.root
if root.should_register_op and value != self.optional:
if root is not None and root.should_register_op and value != self.optional:
from rql.undo import SetOptionalOperation
root.undo_manager.add_operation(SetOptionalOperation(self, self.optional))
self.optional= value
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment