diff options
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/hstore.py')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/hstore.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/hstore.py b/lib/sqlalchemy/dialects/postgresql/hstore.py index 67923fe39..d3ff30efb 100644 --- a/lib/sqlalchemy/dialects/postgresql/hstore.py +++ b/lib/sqlalchemy/dialects/postgresql/hstore.py @@ -16,29 +16,36 @@ from ... import util __all__ = ('HSTORE', 'hstore') +idx_precedence = operators._PRECEDENCE[operators.json_getitem_op] GETITEM = operators.custom_op( - "->", precedence=15, natural_self_precedent=True, + "->", precedence=idx_precedence, natural_self_precedent=True, + eager_grouping=True ) HAS_KEY = operators.custom_op( - "?", precedence=15, natural_self_precedent=True + "?", precedence=idx_precedence, natural_self_precedent=True, + eager_grouping=True ) HAS_ALL = operators.custom_op( - "?&", precedence=15, natural_self_precedent=True + "?&", precedence=idx_precedence, natural_self_precedent=True, + eager_grouping=True ) HAS_ANY = operators.custom_op( - "?|", precedence=15, natural_self_precedent=True + "?|", precedence=idx_precedence, natural_self_precedent=True, + eager_grouping=True ) CONTAINS = operators.custom_op( - "@>", precedence=15, natural_self_precedent=True + "@>", precedence=idx_precedence, natural_self_precedent=True, + eager_grouping=True ) CONTAINED_BY = operators.custom_op( - "<@", precedence=15, natural_self_precedent=True + "<@", precedence=idx_precedence, natural_self_precedent=True, + eager_grouping=True ) |