Skip to content

Commit 73a84d2

Browse files
committed
Use named params
Ref: sparklemotion/sqlite3-ruby#642 Released in sqlite ruby gem 2.9.0
1 parent 1ac6b87 commit 73a84d2

3 files changed

Lines changed: 9 additions & 7 deletions

File tree

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ gemspec
77

88
# These are development dependencies
99
gem "jekyll", "~> 4.4", ">= 4.4.1"
10+
gem "logger", "~> 1.7"
1011
gem "rake", "~> 13.3"
1112
gem "rubocop", "~> 1.80"
1213
gem "rubocop-rake", "~> 0.7"
13-
14-
gem "logger", "~> 1.7"
14+
gem "erb", "~> 6.0"

jekyll-sqlite.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ Gem::Specification.new do |spec|
2727
spec.bindir = "exe"
2828
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
2929
spec.require_paths = ["lib"]
30-
spec.add_dependency "sqlite3", "~> 2.7.3"
30+
spec.add_dependency "sqlite3", "~> 2.9.0"
3131
spec.metadata["rubygems_mfa_required"] = "true"
3232
end

lib/jekyll-sqlite/generator.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,12 @@ def attach_nested_data(root, path_segments, db, query)
4949
# Since we don't know if the query needs them
5050
# we ignore all errors about "no such bind parameter"
5151
def _prepare_query(stmt, params)
52-
params.each do |key, value|
53-
stmt.bind_param key, value
54-
rescue StandardError => e
55-
raise e unless e.message.include? "no such bind parameter"
52+
stmt.named_params.each do |key|
53+
val = params[key]
54+
unless [Integer, String, Float, SQLite3::Blob, nil].include? val.class
55+
Jekyll.logger.error "#{key} type is #{val.class} in query: #{stmt.get_sql}"
56+
end
57+
stmt.bind_param key, params[key]
5658
end
5759
end
5860

0 commit comments

Comments
 (0)