anchor.diff:  ----
   (-> (dsl/update :t1)
       (dsl/set :name "foo")
  +    (dsl/returning :id)
  +    (fmt/get-sql {:dialect :pgsql}))
  +;; => "update t1 set name = ? returning id"
  +----
  +
  +.Example using function as value.
  +[source, clojure]
  +----
  +(-> (dsl/update :t1)
  +    (dsl/set :name (dsl/f ["concat(name, ?)" "-foo"]))
  +    (dsl/set :name_length (dsl/f "length(name)"))
       (dsl/returning :id)
       (fmt/get-sql {:dialect :pgsql}))
   ;; => "update t1 set name = ? returning id"
  
positive.code: [source, clojure]
  ----
  (-> (dsl/select-one)
      (dsl/from ["book" "b"]
                ["article" "a"])
      (fmt/get-sql))
  ;; => "select 1 from book \"a\", article \"b\""
  ----
  
negative.code: 
  [source, clojure]
  ----
  (-> (dsl/select '("length(book.title)" "title_length"))
      (dsl/from :book)
      (fmt/get-sql))
  ;; => "select length(book.title) \"title_length\" from book"
  