Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve prepared statement ergonomics #1385

Merged
merged 1 commit into from
Dec 4, 2024

Conversation

byroot
Copy link
Contributor

@byroot byroot commented Dec 3, 2024

While working on Mysql2 prepared statement support in Rails, I found them very hard to use. Most notably we sometimes need to close them eagerly, but it's complicated by the fact that you can only call close once, any subsequent call raises an error instead of just nooping.

There's also no way to check if a statement was closed or not.

cc @sodabrew @tenderlove

ext/mysql2/extconf.rb Outdated Show resolved Hide resolved
@byroot byroot force-pushed the stmt-double-close branch 2 times, most recently from 714659c to 5061154 Compare December 3, 2024 09:29
@@ -17,7 +17,8 @@ group :test do
gem 'rspec', '~> 3.2'

# https://github.com/bbatsov/rubocop/pull/4789
gem 'rubocop', '~> 1.30', '>= 1.30.1' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6')
# 1.51 is the last version supporting Ruby 2.6
gem 'rubocop', '>= 1.30.1', '< 1.51' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6')
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should ensure a consistent rubocop result in local and CI.

@byroot byroot force-pushed the stmt-double-close branch from 5061154 to 7b85b44 Compare December 3, 2024 09:30
@byroot byroot force-pushed the stmt-double-close branch 2 times, most recently from c866ab4 to ef14593 Compare December 3, 2024 10:55
While working on Mysql2 prepared statement support in Rails,
I found them very hard to use. Most notably we sometimes need to
close them eagerly, but it's complicated by the fact that you can
only call `close` once, any subsequent call raises an error instead
of just nooping.

There's also no way to check if a statement was closed or not.
@byroot byroot force-pushed the stmt-double-close branch from ef14593 to 7d1bf1c Compare December 3, 2024 11:01
Copy link
Collaborator

@sodabrew sodabrew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@sodabrew sodabrew merged commit 15f8e6e into brianmario:master Dec 4, 2024
22 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants