     (QueryBuilder/remove column-name value)))
 
 (defn remove-all-tail
-  [column-name]
-  (fn [values]
+  [values]
+  (fn [column-name]
     (QueryBuilder/removeAll column-name values)))
 
 (defn put-value

  [m]
  [:where
   (fn where-query [query-builder]
     (build-where m (.where query-builder)))])

(defn order-by
  [& orderings]

    (set-column- (name k) v))
  )

(defn only-if
  [m]
  [:only-if
   (fn only-if-query [query-builder]
     (let [[first & more] (to-clauses m)
           query-builder  (.onlyIf query-builder first)]
       (doseq [current more]
         (.and query-builder current))
       query-builder)


     )])

(defn- update-records-statement
  [m]
  [:values
   (if (empty? m)
     (fn update-records-statement-inner [query-builder]
       query-builder)
     (fn update-records-statement-inner [query-builder]
       (let [first-pair    (first m)
             more-pairs    (rest m)
             query-builder (.with query-builder (make-assignment first-pair))]
         (doseq [kvp more-pairs]
           (.and query-builder (make-assignment kvp)))
         query-builder))
     )])

(defn update
  [table-name records & statements]
