honeysql-postgres icon indicating copy to clipboard operation
honeysql-postgres copied to clipboard

Document passing arrays as an argument to Postgres

Open piranha opened this issue 4 years ago • 1 comments

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. :)

piranha avatar Feb 06 '21 14:02 piranha

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

kitallis avatar Feb 25 '21 08:02 kitallis