aboutsummaryrefslogtreecommitdiffstats
path: root/bsfs/graph/resolve.py
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-01-13 12:22:34 +0100
committerMatthias Baumgartner <dev@igsor.net>2023-01-13 12:22:34 +0100
commit60257ed3c2aa6ea2891f362a691bde9d7ef17831 (patch)
tree20b3226e879cb308552ed2955cdfa10ce79caf85 /bsfs/graph/resolve.py
parent1b7ef16c3795bb7112683662b8c22a774e219269 (diff)
downloadbsfs-60257ed3c2aa6ea2891f362a691bde9d7ef17831.tar.gz
bsfs-60257ed3c2aa6ea2891f362a691bde9d7ef17831.tar.bz2
bsfs-60257ed3c2aa6ea2891f362a691bde9d7ef17831.zip
schema type comparison across classes
Diffstat (limited to 'bsfs/graph/resolve.py')
-rw-r--r--bsfs/graph/resolve.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/bsfs/graph/resolve.py b/bsfs/graph/resolve.py
index 9b5f631..b671204 100644
--- a/bsfs/graph/resolve.py
+++ b/bsfs/graph/resolve.py
@@ -96,11 +96,11 @@ class Filter():
# parse child expression
subrng = self._parse_predicate_expression(pred)
# determine the next type
- try:
- if rng is None or subrng > rng: # pick most generic range
- rng = subrng
- except TypeError as err:
- raise errors.ConsistencyError(f'ranges {subrng} and {rng} are not related') from err
+ if rng is None or subrng > rng: # pick most generic range
+ rng = subrng
+ # check range consistency
+ if not subrng <= rng and not subrng >= rng:
+ raise errors.ConsistencyError(f'ranges {subrng} and {rng} are not related')
if not isinstance(rng, (bsc.Node, bsc.Literal)):
raise errors.BackendError(f'the range of node {node} is undefined')
return rng