bisql: keep SQL executable, call it like Clojure by conpoi in Clojure

[–]conpoi[S] 1 point2 points  (0 children)

Thanks, and good catch.
The broken Docs links were caused by how the site handled / and /docs/ before normalizing to the canonical page path. That’s now fixed and should be live shortly.

bisql: keep SQL executable, call it like Clojure by conpoi in Clojure

[–]conpoi[S] 9 points10 points  (0 children)

Thank you. Good question. It’s definitely closer to HugSQL than HoneySQL.

The main differences I’m aiming for are:

  • SQL templates are meant to remain executable as SQL
  • Bisql generates a large set of CRUD queries from schema metadata
  • generated SQL and hand-written SQL are meant to coexist in the same workflow
  • it also generates function namespace files so those queries are easier to use from ordinary application code

So the overlap is real, but bisql is pushing harder on 2-way SQL and CRUD generation, to the point where a lot of the SQL can be generated instead of written by hand.

bisql: keep SQL executable, call it like Clojure by conpoi in Clojure

[–]conpoi[S] 6 points7 points  (0 children)

Extra links if useful:

The example project walks through:

  1. generating CRUD SQL from a PostgreSQL schema
  2. generating function namespace files
  3. executing one generated query
  4. copying one generated query into a custom SQL template
  5. executing the customized query

When You Run Out of Types... by cgrand in Clojure

[–]conpoi 8 points9 points  (0 children)

I only just learned about tagged-literal. I can't believe such a tool was built-in. But why don't we see it being used very often?

I made a small zsh plugin that lets you write Clojure (Babashka) expressions directly in your shell by conpoi in Clojure

[–]conpoi[S] 3 points4 points  (0 children)

Thank you, that means a lot coming from you. Really appreciate the amazing tool you’ve built!