This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-06-18
Channels
- # announcements (6)
- # babashka (16)
- # beginners (194)
- # calva (20)
- # cider (34)
- # clj-kondo (38)
- # clojure (89)
- # clojure-europe (10)
- # clojure-finland (15)
- # clojure-italy (2)
- # clojure-nl (15)
- # clojure-sg (7)
- # clojure-spec (15)
- # clojure-uk (86)
- # clojurebridge (1)
- # clojurescript (60)
- # community-development (11)
- # conjure (13)
- # core-async (48)
- # core-typed (3)
- # cursive (22)
- # datascript (8)
- # datomic (40)
- # duct (11)
- # emacs (3)
- # figwheel-main (22)
- # fulcro (45)
- # graphql (1)
- # helix (9)
- # hoplon (15)
- # hugsql (7)
- # jobs-discuss (47)
- # juxt (7)
- # kaocha (21)
- # luminus (1)
- # malli (13)
- # meander (2)
- # off-topic (52)
- # parinfer (19)
- # re-frame (66)
- # reagent (1)
- # reitit (3)
- # ring-swagger (1)
- # rum (2)
- # shadow-cljs (72)
- # spacemacs (5)
- # sql (4)
- # timbre (5)
- # tools-deps (15)
- # vim (5)
- # vrac (7)
hoping someone can point me in the right place: I’m trying a jsonb existence query select * from users u where id = :id and permissions::jsonb ? :permission-string
where permissions
is an array of strings. Hugsql flips out a bit with thinking there are 3 parameters, per this sqlvec: ["SELECT\n u.id\nFROM USERS u\nWHERE id = ?\n AND permissions::jsonb ? ?" "an-id" "write"]
.
Is there a way to escape that ?
… the JSONB existence operator in postgres?
Note that select * from users u, jsonb_array_elements(u.permissions) permission where id = 'an-id' and permission.value::TEXT = '"write"'
can work too, but that last double-quoting is a pain.
@rgm Try escaping the ?
with a ??
. “In JDBC, the question mark (`?`) is the placeholder for the positional parameters of a `PreparedStatement`. There are, however, a number of PostgreSQL operators that contain a question mark. To keep such question marks in a SQL statement from being interpreted as positional parameters, use two question marks (`??`) as escape sequence.” Per this page: https://jdbc.postgresql.org/documentation/head/statement.html