Hello community, here is the log from the commit of package rubygem-mysql2 for openSUSE:Factory checked in at 2015-02-18 11:39:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-mysql2 (Old) and /work/SRC/openSUSE:Factory/.rubygem-mysql2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "rubygem-mysql2" Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-mysql2/rubygem-mysql2.changes 2015-02-10 20:22:22.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-mysql2.new/rubygem-mysql2.changes 2015-02-18 12:08:45.000000000 +0100 @@ -1,0 +2,5 @@ +Tue Feb 17 05:29:23 UTC 2015 - coolo@suse.com + +- updated to version 0.3.18 + +------------------------------------------------------------------- Old: ---- mysql2-0.3.17.gem New: ---- mysql2-0.3.18.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-mysql2.spec ++++++ --- /var/tmp/diff_new_pack.Nb2QPG/_old 2015-02-18 12:08:45.000000000 +0100 +++ /var/tmp/diff_new_pack.Nb2QPG/_new 2015-02-18 12:08:45.000000000 +0100 @@ -24,7 +24,7 @@ # Name: rubygem-mysql2 -Version: 0.3.17 +Version: 0.3.18 Release: 0 %define mod_name mysql2 %define mod_full_name %{mod_name}-%{version} @@ -52,7 +52,7 @@ %install %gem_install \ - --doc-files="MIT-LICENSE README.md" \ + --doc-files="README.md" \ -f %gem_cleanup ++++++ mysql2-0.3.17.gem -> mysql2-0.3.18.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/MIT-LICENSE new/MIT-LICENSE --- old/MIT-LICENSE 1970-01-01 01:00:00.000000000 +0100 +++ new/MIT-LICENSE 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -Copyright (c) 2010-2011 Brian Lopez - http://github.com/brianmario - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +1,7 @@ # Mysql2 - A modern, simple and very fast MySQL library for Ruby - binding to libmysql -[![Build Status](https://travis-ci.org/brianmario/mysql2.png)](https://travis-ci.org/brianmario/mysql2) +Travis CI [![Travis CI Status](https://travis-ci.org/brianmario/mysql2.png)](https://travis-ci.org/brianmario/mysql2) +Appveyor CI [![Appveyor CI Status](https://ci.appveyor.com/api/projects/status/github/sodabrew/mysql2)](https://ci.appveyor.com/project/sodabrew/mysql2) The Mysql2 gem is meant to serve the extremely common use-case of connecting, querying and iterating on results. Some database libraries out there serve as direct 1:1 mappings of the already complex C APIs available. @@ -15,12 +16,16 @@ `Mysql2::Result` - returned from issuing a #query on the connection. It includes Enumerable. ## Installing -### OSX / Linux +### General Instructions ``` sh gem install mysql2 ``` -This gem links against MySQL's `libmysqlclient` C shared library. You may need to install a package such as `libmysqlclient-dev`, `mysql-devel`, or other appropriate package for your system. +This gem links against MySQL's `libmysqlclient` library or `Connector/C` +library, and compatible alternatives such as MariaDB. +You may need to install a package such as `libmysqlclient-dev`, `mysql-devel`, +or other appropriate package for your system. See below for system-specific +instructions. By default, the mysql2 gem will try to find a copy of MySQL in this order: @@ -51,25 +56,35 @@ are located somewhere different than on your build system. This overrides any rpath calculated by default or by the options above. -### Windows -First, make sure you have the DevKit installed (http://rubyinstaller.org/downloads/) and its variables -are loaded by running devkit\devktvars.bat . - -Next, you need a MySQL library to link against. If you have MySQL loaded on your development machine, -you can use that. If not, you will need to either copy the MySQL directory from your server, or else -obtain a copy of the MySQL C connector: http://dev.mysql.com/downloads/connector/c/ +### Linux and other Unixes -If you're using the connector, I recommend just getting the .zip file and unzipping it someplace convenient. +You may need to install a package such as `libmysqlclient-dev` or `mysql-devel`; +refer to your distribution's package guide to find the particular package. +The most common issue we see is a user who has the library file `libmysqlclient.so` but is +missing the header file `mysql.h` -- double check that you have the _-dev_ packages installed. + +### Mac OS X + +You may use MacPorts, Homebrew, or a native MySQL installer package. The most +common paths will be automatically searched. If you want to select a specific +MySQL directory, use the `--with-mysql-dir` or `--with-mysql-config` options above. -Now you can install mysql2. You must use the `--with-mysql-dir` option to tell gem where your MySQL library -files are. For example, if you unzipped the connector to c:\mysql-connector-c-6.1.1-win32 you would install -the gem like this: - - gem install mysql2 -- --with-mysql-dir=c:\mysql-connector-c-6.1.1-win32 +### Windows +Make sure that you have Ruby and the DevKit compilers installed. We recommend +the [Ruby Installer](http://rubyinstaller.org) distribution. -Finally, you must copy libmysql.dll from the lib subdirectory of your MySQL or MySQL connector directory into -your ruby\bin directory. In the above example, libmysql.dll would be located at -c:\mysql-connector-c-6.1.1-win32\lib . +By default, the mysql2 gem will download and use MySQL Connector/C from +mysql.com. If you prefer to use a local installation of Connector/C, add the +flag `--with-mysql-dir=c:/mysql-connector-c-x-y-z` (_this path may use forward slashes_). + +By default, the `libmysql.dll` library will be copied into the mysql2 gem +directory. To prevent this, add the flag `--no-vendor-libmysql`. The mysql2 gem +will search for `libmysql.dll` in the following paths, in order: + +* Environment variable `RUBY_MYSQL2_LIBMYSQL_DLL=C:\path\to\libmysql.dll` + (_note the Windows-style backslashes_). +* In the mysql2 gem's own directory `vendor/libmysql.dll` +* In the system's default library search paths. ## Usage @@ -422,13 +437,13 @@ This gem is tested with the following Ruby versions on Linux and Mac OS X: - * Ruby MRI 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1.x (ongoing patch releases) + * Ruby MRI 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1.x, 2.2.x (ongoing patch releases) * Ruby Enterprise Edition (based on MRI 1.8.7) * Rubinius 2.x This gem is tested with the following MySQL and MariaDB versions: - * MySQL 5.0, 5.1, 5.5, 5.6 + * MySQL 5.0, 5.1, 5.5, 5.6, 5.7 * MySQL Connector/C 6.0 and 6.1 (primarily on Windows) * MariaDB 5.5, 10.0 Files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/mysql2/client.c new/ext/mysql2/client.c --- old/ext/mysql2/client.c 1970-01-01 01:00:00.000000000 +0100 +++ new/ext/mysql2/client.c 1970-01-01 01:00:00.000000000 +0100 @@ -438,7 +438,7 @@ MYSQL_RES *result; wrapper = (mysql_client_wrapper *)ptr; - if(use_result) { + if (use_result) { result = mysql_use_result(wrapper->client); } else { result = mysql_store_result(wrapper->client); @@ -483,7 +483,7 @@ } is_streaming = rb_hash_aref(rb_iv_get(self, "@current_query_options"), sym_stream); - if(is_streaming == Qtrue) { + if (is_streaming == Qtrue) { result = (MYSQL_RES *)rb_thread_call_without_gvl(nogvl_use_result, wrapper, RUBY_UBF_IO, 0); } else { result = (MYSQL_RES *)rb_thread_call_without_gvl(nogvl_store_result, wrapper, RUBY_UBF_IO, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/mysql2/extconf.rb new/ext/mysql2/extconf.rb --- old/ext/mysql2/extconf.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/ext/mysql2/extconf.rb 1970-01-01 01:00:00.000000000 +0100 @@ -20,13 +20,13 @@ /opt /opt/local /opt/local/mysql - /opt/local/lib/mysql5 + /opt/local/lib/mysql5* /usr /usr/mysql /usr/local /usr/local/mysql /usr/local/mysql-* - /usr/local/lib/mysql5 + /usr/local/lib/mysql5* ].map{|dir| "#{dir}/bin" } GLOB = "{#{dirs.join(',')}}/{mysql_config,mysql_config5}" @@ -74,10 +74,6 @@ rpath_dir = lib end -if RUBY_PLATFORM =~ /mswin|mingw/ - exit 1 unless have_library('libmysql') -end - if have_header('mysql.h') prefix = nil elsif have_header('mysql/mysql.h') @@ -98,31 +94,82 @@ $CFLAGS << gcc_flags end -case explicit_rpath = with_config('mysql-rpath') -when true - abort "-----\nOption --with-mysql-rpath must have an argument\n-----" -when false - warn "-----\nOption --with-mysql-rpath has been disabled at your request\n-----" -when String - # The user gave us a value so use it - rpath_flags = " -Wl,-rpath,#{explicit_rpath}" - warn "-----\nSetting mysql rpath to #{explicit_rpath}\n-----" - $LDFLAGS << rpath_flags +if RUBY_PLATFORM =~ /mswin|mingw/ + # Build libmysql.a interface link library + require 'rake' + + # Build libmysql.a interface link library + # Use rake to rebuild only if these files change + deffile = File.expand_path('../../../support/libmysql.def', __FILE__) + libfile = File.expand_path(File.join(rpath_dir, 'libmysql.lib')) + file 'libmysql.a' => [deffile, libfile] do |t| + when_writing 'building libmysql.a' do + # Ruby kindly shows us where dllwrap is, but that tool does more than we want. + # Maybe in the future Ruby could provide RbConfig::CONFIG['DLLTOOL'] directly. + dlltool = RbConfig::CONFIG['DLLWRAP'].gsub('dllwrap', 'dlltool') + sh dlltool, '--kill-at', + '--dllname', 'libmysql.dll', + '--output-lib', 'libmysql.a', + '--input-def', deffile, libfile + end + end + + Rake::Task['libmysql.a'].invoke + $LOCAL_LIBS << ' ' << 'libmysql.a' + + # Make sure the generated interface library works (if cross-compiling, trust without verifying) + unless RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ + abort "-----\nCannot find libmysql.a\n----" unless have_library('libmysql') + abort "-----\nCannot link to libmysql.a (my_init)\n----" unless have_func('my_init') + end + + # Vendor libmysql.dll + vendordir = File.expand_path('../../../vendor/', __FILE__) + directory vendordir + + vendordll = File.join(vendordir, 'libmysql.dll') + dllfile = File.expand_path(File.join(rpath_dir, 'libmysql.dll')) + file vendordll => [dllfile, vendordir] do |t| + when_writing 'copying libmysql.dll' do + cp dllfile, vendordll + end + end + + # Copy libmysql.dll to the local vendor directory by default + if arg_config('--no-vendor-libmysql') + # Fine, don't. + puts "--no-vendor-libmysql" + else # Default: arg_config('--vendor-libmysql') + # Let's do it! + Rake::Task[vendordll].invoke + end else - if libdir = rpath_dir[%r{(-L)?(/[^ ]+)}, 2] - rpath_flags = " -Wl,-rpath,#{libdir}" - if RbConfig::CONFIG["RPATHFLAG"].to_s.empty? && try_link('int main() {return 0;}', rpath_flags) - # Usually Ruby sets RPATHFLAG the right way for each system, but not on OS X. - warn "-----\nSetting rpath to #{libdir}\n-----" - $LDFLAGS << rpath_flags - else - if RbConfig::CONFIG["RPATHFLAG"].to_s.empty? - # If we got here because try_link failed, warn the user - warn "-----\nDon't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load\n-----" + case explicit_rpath = with_config('mysql-rpath') + when true + abort "-----\nOption --with-mysql-rpath must have an argument\n-----" + when false + warn "-----\nOption --with-mysql-rpath has been disabled at your request\n-----" + when String + # The user gave us a value so use it + rpath_flags = " -Wl,-rpath,#{explicit_rpath}" + warn "-----\nSetting mysql rpath to #{explicit_rpath}\n-----" + $LDFLAGS << rpath_flags + else + if libdir = rpath_dir[%r{(-L)?(/[^ ]+)}, 2] + rpath_flags = " -Wl,-rpath,#{libdir}" + if RbConfig::CONFIG["RPATHFLAG"].to_s.empty? && try_link('int main() {return 0;}', rpath_flags) + # Usually Ruby sets RPATHFLAG the right way for each system, but not on OS X. + warn "-----\nSetting rpath to #{libdir}\n-----" + $LDFLAGS << rpath_flags + else + if RbConfig::CONFIG["RPATHFLAG"].to_s.empty? + # If we got here because try_link failed, warn the user + warn "-----\nDon't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load\n-----" + end + # Make sure that LIBPATH gets set if we didn't explicitly set the rpath. + warn "-----\nSetting libpath to #{libdir}\n-----" + $LIBPATH << libdir unless $LIBPATH.include?(libdir) end - # Make sure that LIBPATH gets set if we didn't explicitly set the rpath. - warn "-----\nSetting libpath to #{libdir}\n-----" - $LIBPATH << libdir unless $LIBPATH.include?(libdir) end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ext/mysql2/result.c new/ext/mysql2/result.c --- old/ext/mysql2/result.c 1970-01-01 01:00:00.000000000 +0100 +++ new/ext/mysql2/result.c 1970-01-01 01:00:00.000000000 +0100 @@ -232,7 +232,7 @@ VALUE val = Qnil; enum enum_field_types type = fields[i].type; - if(!cast) { + if (!cast) { if (type == MYSQL_TYPE_NULL) { val = Qnil; } else { @@ -297,7 +297,7 @@ break; } msec = msec_char_to_uint(msec_char, sizeof(msec_char)); - val = rb_funcall(rb_cTime, db_timezone, 6, opt_time_year, opt_time_month, opt_time_month, UINT2NUM(hour), UINT2NUM(min), UINT2NUM(sec), UINT2NUM(msec)); + val = rb_funcall(rb_cTime, db_timezone, 7, opt_time_year, opt_time_month, opt_time_month, UINT2NUM(hour), UINT2NUM(min), UINT2NUM(sec), UINT2NUM(msec)); if (!NIL_P(app_timezone)) { if (app_timezone == intern_local) { val = rb_funcall(val, intern_localtime, 0); @@ -479,11 +479,11 @@ cast = 0; } - if(rb_hash_aref(opts, sym_stream) == Qtrue) { + if (rb_hash_aref(opts, sym_stream) == Qtrue) { streaming = 1; } - if(streaming && cacheRows) { + if (streaming && cacheRows) { rb_warn("cacheRows is ignored if streaming is true"); } @@ -601,7 +601,7 @@ mysql2_result_wrapper *wrapper; GetMysql2Result(self, wrapper); - if(wrapper->resultFreed) { + if (wrapper->resultFreed) { if (wrapper->streamingComplete){ return LONG2NUM(wrapper->numberOfRows); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mysql2/em.rb new/lib/mysql2/em.rb --- old/lib/mysql2/em.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/mysql2/em.rb 1970-01-01 01:00:00.000000000 +0100 @@ -10,6 +10,7 @@ def initialize(client, deferable) @client = client @deferable = deferable + @is_watching = true end def notify_readable @@ -22,11 +23,19 @@ @deferable.succeed(result) end end + + def watching? + @is_watching + end + + def unbind + @is_watching = false + end end def close(*args) if @watch - @watch.detach + @watch.detach if @watch.watching? end super(*args) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mysql2/version.rb new/lib/mysql2/version.rb --- old/lib/mysql2/version.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/mysql2/version.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +1,3 @@ module Mysql2 - VERSION = "0.3.17" + VERSION = "0.3.18" end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mysql2.rb new/lib/mysql2.rb --- old/lib/mysql2.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/mysql2.rb 1970-01-01 01:00:00.000000000 +0100 @@ -3,6 +3,29 @@ require 'bigdecimal' require 'rational' unless RUBY_VERSION >= '1.9.2' +# Load libmysql.dll before requiring mysql2/mysql2.so +# This gives a chance to be flexible about the load path +# Or to bomb out with a clear error message instead of a linker crash +if RUBY_PLATFORM =~ /mswin|mingw/ + dll_path = if ENV['RUBY_MYSQL2_LIBMYSQL_DLL'] + # If this environment variable is set, it overrides any other paths + # The user is advised to use backslashes not forward slashes + ENV['RUBY_MYSQL2_LIBMYSQL_DLL'].dup + elsif File.exist?(File.expand_path('../vendor/libmysql.dll', File.dirname(__FILE__))) + # Use vendor/libmysql.dll if it exists, convert slashes for Win32 LoadLibrary + File.expand_path('../vendor/libmysql.dll', File.dirname(__FILE__)).gsub('/', '\\') + else + # This will use default / system library paths + 'libmysql.dll' + end + + require 'Win32API' + LoadLibrary = Win32API.new('Kernel32', 'LoadLibrary', ['P'], 'I') + if 0 == LoadLibrary.call(dll_path) + abort "Failed to load libmysql.dll from #{dll_path}" + end +end + require 'mysql2/version' unless defined? Mysql2::VERSION require 'mysql2/error' require 'mysql2/mysql2' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 1970-01-01 01:00:00.000000000 +0100 +++ new/metadata 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +1,29 @@ --- !ruby/object:Gem::Specification name: mysql2 version: !ruby/object:Gem::Version - version: 0.3.17 + version: 0.3.18 platform: ruby authors: - Brian Lopez autorequire: bindir: bin cert_chain: [] -date: 2014-11-11 00:00:00.000000000 Z +date: 2015-02-17 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency - name: eventmachine - requirement: !ruby/object:Gem::Requirement - requirements: - - - '>=' - - !ruby/object:Gem::Version - version: '0' - type: :development - prerelease: false - version_requirements: !ruby/object:Gem::Requirement - requirements: - - - '>=' - - !ruby/object:Gem::Version - version: '0' -- !ruby/object:Gem::Dependency name: rake-compiler requirement: !ruby/object:Gem::Requirement requirements: - - ~> - !ruby/object:Gem::Version - version: 0.8.1 + version: 0.9.5 type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - ~> - !ruby/object:Gem::Version - version: 0.8.1 + version: 0.9.5 - !ruby/object:Gem::Dependency name: rake requirement: !ruby/object:Gem::Requirement @@ -73,7 +59,6 @@ - ext/mysql2/extconf.rb extra_rdoc_files: [] files: -- MIT-LICENSE - README.md - ext/mysql2/client.c - ext/mysql2/client.h @@ -94,6 +79,7 @@ - lib/mysql2/error.rb - lib/mysql2/result.rb - lib/mysql2/version.rb +- support/libmysql.def - support/mysql_enc_to_ruby.rb - support/ruby_enc_to_mysql.rb - examples/eventmachine.rb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/em/em_spec.rb new/spec/em/em_spec.rb --- old/spec/em/em_spec.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/spec/em/em_spec.rb 1970-01-01 01:00:00.000000000 +0100 @@ -108,6 +108,27 @@ callbacks_run.should == [:errback] end end + + it "should not raise error when closing client with no query running" do + callbacks_run = [] + EM.run do + client = Mysql2::EM::Client.new DatabaseCredentials['root'] + defer = client.query("select sleep(0.025)") + defer.callback do |result| + callbacks_run << :callback + end + defer.errback do |err| + callbacks_run << :errback + end + EM.add_timer(0.1) do + callbacks_run.should == [:callback] + lambda { + client.close + }.should_not raise_error(/invalid binding to detach/) + EM.stop_event_loop + end + end + end end rescue LoadError puts "EventMachine not installed, skipping the specs that use it" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/mysql2/client_spec.rb new/spec/mysql2/client_spec.rb --- old/spec/mysql2/client_spec.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/spec/mysql2/client_spec.rb 1970-01-01 01:00:00.000000000 +0100 @@ -564,7 +564,7 @@ end it "should raise an exception when one of multiple statements fails" do - result = @multi_client.query("SELECT 1 as 'set_1'; SELECT * FROM invalid_table_name;SELECT 2 as 'set_2';") + result = @multi_client.query("SELECT 1 AS 'set_1'; SELECT * FROM invalid_table_name; SELECT 2 AS 'set_2';") result.first['set_1'].should be(1) lambda { @multi_client.next_result @@ -573,7 +573,7 @@ end it "returns multiple result sets" do - @multi_client.query( "select 1 as 'set_1'; select 2 as 'set_2'").first.should eql({ 'set_1' => 1 }) + @multi_client.query("SELECT 1 AS 'set_1'; SELECT 2 AS 'set_2'").first.should eql({ 'set_1' => 1 }) @multi_client.next_result.should be_true @multi_client.store_result.first.should eql({ 'set_2' => 2 }) @@ -582,12 +582,12 @@ end it "does not interfere with other statements" do - @multi_client.query( "select 1 as 'set_1'; select 2 as 'set_2'") + @multi_client.query("SELECT 1 AS 'set_1'; SELECT 2 AS 'set_2'") while( @multi_client.next_result ) @multi_client.store_result end - @multi_client.query( "select 3 as 'next'").first.should == { 'next' => 3 } + @multi_client.query("SELECT 3 AS 'next'").first.should == { 'next' => 3 } end it "will raise on query if there are outstanding results to read" do @@ -606,7 +606,7 @@ end it "#more_results? should work" do - @multi_client.query( "select 1 as 'set_1'; select 2 as 'set_2'") + @multi_client.query("SELECT 1 AS 'set_1'; SELECT 2 AS 'set_2'") @multi_client.more_results?.should be_true @multi_client.next_result diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/mysql2/result_spec.rb new/spec/mysql2/result_spec.rb --- old/spec/mysql2/result_spec.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/spec/mysql2/result_spec.rb 1970-01-01 01:00:00.000000000 +0100 @@ -136,7 +136,7 @@ it "should raise an exception if streaming ended due to a timeout" do # Create an extra client instance, since we're going to time it out client = Mysql2::Client.new DatabaseCredentials['root'] - client.query "CREATE TEMPORARY TABLE streamingTest (val BINARY(255))" + client.query "CREATE TEMPORARY TABLE streamingTest (val BINARY(255)) ENGINE=MEMORY" # Insert enough records to force the result set into multiple reads # (the BINARY type is used simply because it forces full width results) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/support/libmysql.def new/support/libmysql.def --- old/support/libmysql.def 1970-01-01 01:00:00.000000000 +0100 +++ new/support/libmysql.def 1970-01-01 01:00:00.000000000 +0100 @@ -0,0 +1,219 @@ +; MySQL's Connector/C ships with a libmysql.dll main library and libmysql.lib +; interface library. However, the interface library is not linkable by MinGW. +; +; At compile time, we generate a libmysql.a interface library with dlltool.exe. +; +; This def file can be re-generated using the reimp.exe or gendef.exe tools. +; +LIBRARY libmysql.dll +EXPORTS +mysql_affected_rows +mysql_affected_rows@4 +mysql_change_user +mysql_change_user@16 +mysql_character_set_name +mysql_character_set_name@4 +mysql_close +mysql_close@4 +mysql_data_seek +mysql_data_seek@12 +mysql_debug +mysql_debug@4 +mysql_dump_debug_info +mysql_dump_debug_info@4 +mysql_eof +mysql_eof@4 +mysql_errno +mysql_errno@4 +mysql_error +mysql_error@4 +mysql_escape_string +mysql_escape_string@12 +mysql_fetch_field +mysql_fetch_field@4 +mysql_fetch_field_direct +mysql_fetch_field_direct@8 +mysql_fetch_fields +mysql_fetch_fields@4 +mysql_fetch_lengths +mysql_fetch_lengths@4 +mysql_fetch_row +mysql_fetch_row@4 +mysql_field_count +mysql_field_count@4 +mysql_field_seek +mysql_field_seek@8 +mysql_field_tell +mysql_field_tell@4 +mysql_free_result +mysql_free_result@4 +mysql_get_client_info +mysql_get_client_info@0 +mysql_get_client_version +mysql_get_client_version@0 +mysql_get_host_info +mysql_get_host_info@4 +mysql_get_option +mysql_get_option@12 +mysql_get_proto_info +mysql_get_proto_info@4 +mysql_get_server_info +mysql_get_server_info@4 +mysql_get_server_version +mysql_get_server_version@4 +mysql_get_ssl_cipher +mysql_get_ssl_cipher@4 +mysql_hex_string +mysql_hex_string@12 +mysql_info +mysql_info@4 +mysql_init +mysql_init@4 +mysql_insert_id +mysql_insert_id@4 +mysql_kill +mysql_kill@8 +mysql_library_end +mysql_library_end@0 +mysql_library_init +mysql_library_init@12 +mysql_list_dbs +mysql_list_dbs@8 +mysql_list_fields +mysql_list_fields@12 +mysql_list_processes +mysql_list_processes@4 +mysql_list_tables +mysql_list_tables@8 +mysql_more_results +mysql_more_results@4 +mysql_next_result +mysql_next_result@4 +mysql_num_fields +mysql_num_fields@4 +mysql_num_rows +mysql_num_rows@4 +mysql_options +mysql_options@12 +mysql_options4 +mysql_options4@16 +mysql_ping +mysql_ping@4 +mysql_query +mysql_query@8 +mysql_read_query_result +mysql_read_query_result@4 +mysql_real_connect +mysql_real_connect@32 +mysql_real_escape_string +mysql_real_escape_string@16 +mysql_real_query +mysql_real_query@12 +mysql_refresh +mysql_refresh@8 +mysql_reset_connection +mysql_reset_connection@4 +mysql_rollback +mysql_rollback@4 +mysql_row_seek +mysql_row_seek@8 +mysql_row_tell +mysql_row_tell@4 +mysql_select_db +mysql_select_db@8 +mysql_send_query +mysql_send_query@12 +mysql_server_end +mysql_server_end@0 +mysql_server_init +mysql_server_init@12 +mysql_session_track_get_first +mysql_session_track_get_first@16 +mysql_session_track_get_next +mysql_session_track_get_next@16 +mysql_set_character_set +mysql_set_character_set@8 +mysql_set_local_infile_default +mysql_set_local_infile_default@4 +mysql_set_local_infile_handler +mysql_set_local_infile_handler@24 +mysql_set_server_option +mysql_set_server_option@8 +mysql_shutdown +mysql_shutdown@8 +mysql_sqlstate +mysql_sqlstate@4 +mysql_ssl_set +mysql_ssl_set@24 +mysql_stat +mysql_stat@4 +mysql_stmt_affected_rows +mysql_stmt_affected_rows@4 +mysql_stmt_attr_get +mysql_stmt_attr_get@12 +mysql_stmt_attr_set +mysql_stmt_attr_set@12 +mysql_stmt_bind_param +mysql_stmt_bind_param@8 +mysql_stmt_bind_result +mysql_stmt_bind_result@8 +mysql_stmt_close +mysql_stmt_close@4 +mysql_stmt_data_seek +mysql_stmt_data_seek@12 +mysql_stmt_errno +mysql_stmt_errno@4 +mysql_stmt_error +mysql_stmt_error@4 +mysql_stmt_execute +mysql_stmt_execute@4 +mysql_stmt_fetch +mysql_stmt_fetch@4 +mysql_stmt_fetch_column +mysql_stmt_fetch_column@16 +mysql_stmt_field_count +mysql_stmt_field_count@4 +mysql_stmt_free_result +mysql_stmt_free_result@4 +mysql_stmt_init +mysql_stmt_init@4 +mysql_stmt_insert_id +mysql_stmt_insert_id@4 +mysql_stmt_next_result +mysql_stmt_next_result@4 +mysql_stmt_num_rows +mysql_stmt_num_rows@4 +mysql_stmt_param_count +mysql_stmt_param_count@4 +mysql_stmt_param_metadata +mysql_stmt_param_metadata@4 +mysql_stmt_prepare +mysql_stmt_prepare@12 +mysql_stmt_reset +mysql_stmt_reset@4 +mysql_stmt_result_metadata +mysql_stmt_result_metadata@4 +mysql_stmt_row_seek +mysql_stmt_row_seek@8 +mysql_stmt_row_tell +mysql_stmt_row_tell@4 +mysql_stmt_send_long_data +mysql_stmt_send_long_data@16 +mysql_stmt_sqlstate +mysql_stmt_sqlstate@4 +mysql_stmt_store_result +mysql_stmt_store_result@4 +mysql_store_result +mysql_store_result@4 +mysql_thread_end +mysql_thread_end@0 +mysql_thread_id +mysql_thread_id@4 +mysql_thread_init +mysql_thread_init@0 +mysql_thread_safe +mysql_thread_safe@0 +mysql_use_result +mysql_use_result@4 +mysql_warning_count +mysql_warning_count@4 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org