nilenso / honeysql-postgres

PostgreSQL extension for honeysql
http://nilenso.com
Eclipse Public License 1.0
193 stars 28 forks source link

Document passing arrays as an argument to Postgres #61

Open piranha opened 3 years ago

piranha commented 3 years ago

Hey! It's a topic I struggle from time to time to the point where I've asked and answered myself on Clojureverse recently. Mainly because it's not documented anywhere and if you pass (honeysql.format/value [1 2]) it formats as a few arguments:

user> (honeysql.core/format {:select [(honeysql.format/value [1 2])]})
["SELECT (?, ?)" 1 2]

So I wonder if it makes sense to document PostgreSQL-specific array behavior (maybe just in README or something, so people at least can stumble upon it):

user> (honeysql.core/format {:select [(into-array [1 2])]})
["SELECT ?" [1, 2]]

This way you can pass arrays with many items without exhausting SQL query argument count. :)

kitallis commented 3 years ago

Thanks @piranha, that makes sense. Will incorporate this into the README soon.