-
Notifications
You must be signed in to change notification settings - Fork 550
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
Prepared statement support fixes + stmt naive merge #476
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* master: check for and support field-level encodings on second thought, we should make sure we were given a string earlier on no need to Check_Type in these spots since we're using StringValuePtr as well
…sult into it's own C file)
* master: remove Sequel adapter as it's now in Sequel core :) move -Wextra to development flags area update AR adapter to reflect timezone setting update application_timezone is allowed to be nil default application_timezone to nil sync up with sequel adapter from my Sequel fork until it's officially merged in convert :timezone option into two new ones :database_timezone - the timezone (:utc or :local) Mysql2 will assume time/datetime fields are stored in the db. This modifies what initial timezone your Time objects will be in when creating them from libmysql in C and :application_timezone - the timezone (:utc or :local) you'd finally like the Time objects converted to before you get them can't call literal here because it'll try to join it's own thread Mysql2::Client uses the :username key, set it to :user if that was used instead heh fix typo in comment major refactor of Sequel adapter - it's now green in Sequel add :cast_booleans option for automatically casting tinyint(1) fields into true/false for ruby move most previously global symbols to static to prevent conflicts (thanks for catching this Eric) respect :symbolize_keys option for Mysql2::Result#fields if it's called before the first row is built initialize @Active early on to prevent warnings later let's try that again - libmysql only allows one query be sent at a time per connection, bail early if that's attempted Revert "libmysql only allows one query be sent at a time per connection, bail early if that's attempted" libmysql only allows one query be sent at a time per connection, bail early if that's attempted no need to carry over options twice as we're already doing it up in rb_mysql_client_async_result
* master: Detach before executing callbacks. make sure we don't hit a race condition if this EM spec is taking longer to run than normal was in a hurry earlier whoops, lost this line in a previous patch Dry windows configuration options Inject 1.8/1.9 pure-ruby entry point during xcompile Use MySQL 5.1.51 now from available mirror
* master: avoid potential race-condition with closing a connection add option for setting the wait_timeout in the AR adapter (this can be done in database.yml) add some more defaults to the connect flags add connect_flags to default options and add REMEMBER_OPTIONS to that list. fix NUM2INT to be NUM2ULONG as it should be for flags free the client after close if we can forgot to remove this get rid of double-pointer casting a couple of minor updates to connection management with some specs check for error from mysql_affected_rows call change connection check symantecs
* master: only use wait_timeout if it's a Fixnum update gemspec from file updates no need to invalidate the FD now that we're only modifying it once, in one place no need to check if the FD is >= 0 now that we centralized the close/free logic. Once closed, none of that code will run again wording fix in readme
Conflicts: ext/mysql2/mysql2_ext.h
Thanks for helping on this! Yes, the rebase is important to eliminate the large number of merge commits. There's also #405 which was my rebase work, and is probably the most recent effort to start from. |
Cool @sodabrew, - I'll add my tests and see if my fixes are applicable to your branch. |
This was referenced Jan 7, 2014
I'm also closing this one since it doesn't include @nyaxt's work. This branch is also usable if slightly inconsistent. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi all,
I've merged master into your stmt branch and fixed one or two bugs. I might have started on the wrong base branch (i.e. https://github.com/brianmario/mysql2/tree/stmt rather than https://github.com/sodabrew/mysql2/tree/stmt_rebase), but I think I have something working.
Fixes:
(1) spec/configuration.yml being ignored in some cases
(2) segfault when a string was passed into Statement#execute
(3) Used MYSQL_TYPE_DATE instead of MYSQL_TYPE_NEWDATE. To choose one, we'd need to do some sort of test at runtime.
Hope it's useful.