Liking cljdoc? Tell your friends :D


alt tag

A Clojure library for embracing SQL.

Clojars Project



Full documentation is at

API Documentation

API Docs

Recent Changes



  • namespaced keywords support #56 (Thanks Sebastian Poeplau! @sebastionpoeplau)
  • next.jdbc adapter #96 (Thanks Nicola Peric! @nikolap and Sean Corfield! @seancorfield)
  • add :arglists metadata to generated functions #88
  • fix default adapter set race condition #46
  • fix parsing of escaped single-quotes in SQL string #89
  • add doc link to ClickHouse adapter #91


  • preserve file/line metadata from parsed SQL and attach to vars (issue #77) (Thanks Phil Hagelberg! @technomancy)
  • fix unbound fn error w/ Clojure expression definitions (issue #59)
  • pass the generated function names to the adapter (pull request #83) (Thanks Conor McDermottroe! @conormcd)
  • bump version dependencies


  • add validation exception for no value for :name (issue #39)
  • add clojure.jdbc support for .getGeneratedKeys
  • stricter parsing for whitespace; (issue #41)
  • fix truncated SQL when blank comment encountered (issue #44)
  • add test profiles for clojure versions
  • fix multiarity macros definitions (Thanks to Joel Kaasinen) (pull request #66)
  • doc fixes
  • bump version dependencies


  • fix deprecations for latest changes (issue #38)


  • extend identifier param types to support SQL aliases (issue #33)
  • fix clj expr eating trailing newline in parser (issue #37)
  • fix command & result being ignored in private fns (issue #32)


  • support pg double-colon type cast when suffix of HugSQL param (issue #30)
  • doc: update escaping colon section to mention double-colon usage


  • fix parser error regarding whitespace (issue #27)
  • fix handling of vector value parameters (issue #28)
  • docs: add faq on preventing sql injection


  • report better error message for missing HugSQL header (issue #24)
  • fix parser handling of Windows newlines (issue #26)
  • missing parameter validation now checks deep-get param names
  • add type hints for reflection warnings


  • fix parameter mismatch validation for false/nil (issue #23)
  • fix sqlvec-fn* not propagating all options
  • add doc clarification on tuple list multi-record insert vs large batch insert (issue #22)
  • small doc fixes


  • map-of-db-fns, map-of-sqlvec-fns & -from-string variants for easier custom use of hugsql-created functions (issue #19) (See Other Useful Functions)
  • link to postgresql async adapter fixed (pull #20)
  • minor test & doc updates


  • Escape colon in SQL (issue #13)
  • def-db-fns-from-string & def-sql-fns-from-string (issue #16)
  • Added several functions that operate on individual SQL statements, which are useful at the REPL or for one-off composing. (See Other Useful Functions)
  • Specify a function as private and other metadata (issue #17)
  • Better support for Returning Execute and Insert w/ Return Keys (See Insert Usage) (issues #8 and #15)
  • Clojure Expressions
  • Snippets
  • Parameter Name Deep-Get for drilling down into parameter data
  • Better docs & tests

See CHANGELOG for more


Copyright © 2018 Layerware, Inc.

Distributed under the Apache License, Version 2.0

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close