# HG changeset patch # User Christophe de Vienne # Date 1398838079 -7200 # Node ID a7210c9125071e3a81191cf4ad0056d47c261297 # Parent d02c8d77ac56dac11b42dd7c7104406fe7aff95c [req.find] Use vreg.schema.eschema for eschema lookup If an etype is non-existant, using vreg.schema[etype] raises a confusing error complaining about a non-existing relation. This is because of the implementation of vreg.schema.__getitem__ that look first in entities and then in relations. Using directly vreg.schema.eschema restrict the lookup to etypes only, hence raises a meaningful error when the etype does not exist. diff -r d02c8d77ac56 -r a7210c912507 req.py --- a/req.py Wed Apr 30 10:13:10 2014 +0200 +++ b/req.py Wed Apr 30 08:07:59 2014 +0200 @@ -207,7 +207,7 @@ """ parts = ['Any X WHERE X is %s' % etype] varmaker = rqlvar_maker(defined='X') - eschema = self.vreg.schema[etype] + eschema = self.vreg.schema.eschema(etype) for attr, value in kwargs.items(): if isinstance(value, list) or isinstance(value, tuple): raise NotImplementedError("List of values are not supported")