lib/mini_sql/sqlite/connection.rb in mini_sql-1.4.0 vs lib/mini_sql/sqlite/connection.rb in mini_sql-1.5.0

- old
+ new

@@ -19,62 +19,60 @@ end end def query_single(sql, *params) # a bit lazy can be optimized - run(sql, *params).flatten! + run(sql, params).flatten! end def query_hash(sql, *params) r = [] - run(sql, *params) do |set| + run(sql, params) do |set| set.each_hash do |h| r << h end end r end def query_array(sql, *params) - run(sql, *params) + run(sql, params) end def exec(sql, *params) start = raw_connection.total_changes - r = run(sql, *params) + r = run(sql, params) # this is not safe for multithreading, also for DELETE from TABLE will return # incorrect data if r.length > 0 r.length else raw_connection.total_changes - start end end def query(sql, *params) - run(sql, *params) do |set| + run(sql, params) do |set| deserializer_cache.materialize(set) end end def query_decorator(decorator, sql, *params) - run(sql, *params) do |set| + run(sql, params) do |set| deserializer_cache.materialize(set, decorator) end end def escape_string(str) str.gsub("'", "''") end private - def run(sql, *params) - if params && params.length > 0 - sql = param_encoder.encode(sql, *params) - end + def run(sql, params) + sql = to_sql(sql, *params) if block_given? stmt = SQLite3::Statement.new(raw_connection, sql) result = yield stmt.execute stmt.close result