The query.py:build_wheres() function should use 'is', not '=', as an operator when the value passed is 'None'
In order to correct this issue I would do the following:
Extend property.py:PropertyEncoder with an 'encode_operator()' method e.g.:
@staticmethod
def encode_operator(value):
if value:
return ' = '
else:
return ' is '
Modify build_wheres() to include the call to 'encode_operator()' e.g.:
kw_where = [u' and '.join(u'{0}{1}{2}'
.format(PropertyEncoder.encode_name(k),
PropertyEncoder.encode_operator(v),
PropertyEncoder.encode_value(v))
for k,v in kw_filters.items())] if kw_filters else []
The following code snippet demonstrates the issue on the following environment:
The query.py:build_wheres() function should use 'is', not '=', as an operator when the value passed is 'None'
In order to correct this issue I would do the following:
The following code snippet demonstrates the issue on the following environment:
pyOrient version : 1.5.5
python version : 3.6.3
OrientDB version : 2.2.31