[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.
--- 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")