not in
This commit is contained in:
parent
22866a6edc
commit
b61435e1e4
1 changed files with 6 additions and 1 deletions
|
|
@ -57,7 +57,11 @@
|
||||||
#{"+" "-" "*" "/" "%" "mod" "|" "&" "^"
|
#{"+" "-" "*" "/" "%" "mod" "|" "&" "^"
|
||||||
"is" "=" ">" ">=" "<" "<=" "<>" "!="
|
"is" "=" ">" ">=" "<" "<=" "<>" "!="
|
||||||
"and" "or" "xor"
|
"and" "or" "xor"
|
||||||
"in" "like" "regexp"})
|
"in" "not in" "like" "regexp"})
|
||||||
|
|
||||||
|
(def fn-aliases
|
||||||
|
{"not=" "!="
|
||||||
|
"not-in" "not in"})
|
||||||
|
|
||||||
(def fn-handlers
|
(def fn-handlers
|
||||||
{"between" (fn [field upper lower]
|
{"between" (fn [field upper lower]
|
||||||
|
|
@ -101,6 +105,7 @@
|
||||||
SqlFn
|
SqlFn
|
||||||
(-to-sql [x] (binding [*fn-context?* true]
|
(-to-sql [x] (binding [*fn-context?* true]
|
||||||
(let [fn-name (name (.name x))
|
(let [fn-name (name (.name x))
|
||||||
|
fn-name (fn-aliases fn-name fn-name)
|
||||||
fn-name-upper (string/upper-case fn-name)
|
fn-name-upper (string/upper-case fn-name)
|
||||||
args (map to-sql (.args x))]
|
args (map to-sql (.args x))]
|
||||||
(if-let [handler (fn-handlers fn-name)]
|
(if-let [handler (fn-handlers fn-name)]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue