[DRE-maint] Bug#941564: /usr/lib/ruby/vendor_ruby/dbd/odbc/statement.rb:18: warning: constant ::Fixnum is deprecated

Martin Dorey HNAS-US-noreply at hitachivantara.com
Wed Oct 2 01:55:51 BST 2019


Package: ruby-dbd-odbc
Version: 0.2.5+gem2deb-1
Severity: normal

Dear Maintainer,

On Buster, which has Ruby >= 2.4, I see a warning from the first call of execute() on an ODBC statement handle.
I can reproduce this simply with:

martind at neutrino:~$ ruby -e 'require "dbd/ODBC"; handle = nil; statement = nil; param = 42; value = nil; attribs = nil; sth = DBI::DBD::ODBC::Statement.new(handle, statement); sth.bind_param(param, value, attribs)'
/usr/lib/ruby/vendor_ruby/dbd/odbc/statement.rb:18: warning: constant ::Fixnum is deprecated
martind at neutrino:~$

I don't know of any way to suppress the warning.
Well, I can get rid of it with a monkey patch:

require "dbd/ODBC"

class DBI::DBD::ODBC::Statement
    def bind_param(param, value, attribs)
        raise DBI::InterfaceError, "only ? parameters supported" unless param.is_a? Integer
        @params[param-1] = value
    end
end

That changes Fixnum to Integer.
My testing suggests that such a change works even on versions as old as Debian Lenny's Ruby 1.8.7.
I realize that this pacakge isn't maintained in Debian after Jessie.
I understand that's because it's not maintained upstream.
The replacement code, which I understand to be RDBI, doesn't install on Buster.
I've tried to raise that upstream as https://github.com/RDBI/rdbi-driver-odbc/pull/8.
Upstream there seems moribund too.
I'd like to make the monkey patch available to anyone else in the same situation.
Sorry for the noise.


-- System Information:
Debian Release: 10.1
  APT prefers stable-updates
  APT policy: (990, 'stable-updates'), (990, 'stable'), (500, 'oldoldstable'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-5-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ruby-dbd-odbc depends on:
ii  ruby                          1:2.5.1
ii  ruby-dbi                      0.4.5-3
ii  ruby-odbc                     0.99998-1
ii  ruby1.8 [ruby-interpreter]    1.8.7.358-7.1+deb7u6
ii  ruby1.9.1 [ruby-interpreter]  1.9.3.194-8.1+deb7u8
ii  ruby2.1 [ruby-interpreter]    2.1.5-2+deb8u7

ruby-dbd-odbc recommends no packages.

ruby-dbd-odbc suggests no packages.

-- debconf-show failed



More information about the Pkg-ruby-extras-maintainers mailing list