diff --git a/src/db/pool_prepared_statement.cr b/src/db/pool_prepared_statement.cr index d50b240..23b049d 100644 --- a/src/db/pool_prepared_statement.cr +++ b/src/db/pool_prepared_statement.cr @@ -34,7 +34,12 @@ module DB clean_connections conn, existing = @db.checkout_some(@connections) @connections << WeakRef.new(conn) unless existing - conn.prepared.build(@query) + begin + conn.prepared.build(@query) + rescue ex + conn.release + raise ex + end end private def clean_connections