24 lines
641 B
Crystal
24 lines
641 B
Crystal
module DB
|
|
# Represents a statement to be executed in any of the connections
|
|
# of the pool. The statement is not be executed in a non prepared fashion.
|
|
# The execution of the statement is retried according to the pool configuration.
|
|
#
|
|
# See `PoolStatement`
|
|
struct PoolUnpreparedStatement < PoolStatement
|
|
def initialize(db : Database, query : String)
|
|
super
|
|
end
|
|
|
|
# builds a statement over a real connection
|
|
private def build_statement : Statement
|
|
conn = @db.pool.checkout
|
|
begin
|
|
conn.unprepared.build(@query)
|
|
rescue ex
|
|
conn.release
|
|
raise ex
|
|
end
|
|
end
|
|
end
|
|
end
|