[DRE-maint] Bug#434067: libodbc-ruby1.8: Query execution generates random values in queries for SMALLINT values on MySQL

Enrico Zini enrico at enricozini.org
Sat Jul 21 09:51:59 UTC 2007


Package: libodbc-ruby1.8
Version: 0.9993-1
Severity: important

Hello,

thank you for maintaining libodbc-ruby1.8.

I wanted to deploy some code of mine on an etch system and it failed
miserably.  I've managed to reliably reproduce the problem on my amd64
server with the following script:

#!/usr/bin/ruby

require 'odbc'
require 'csv'

$dsn = ARGV.shift
$uid = ARGV.shift
$pwd = ARGV.shift

@conn = ODBC.connect($dsn, $uid, $pwd)

begin
	@conn.do("DROP TABLE test")
rescue
	# Ignore errors on DROP TABLE
end
@conn.do("CREATE TABLE test ( id SMALLINT PRIMARY KEY );")

begin
	newtest = @conn.proc("INSERT INTO test (id) VALUES (?)") { |stmt| stmt.nrows }

	newtest.call(1)
	newtest.call(2)
	newtest.call(3)

	select = @conn.prepare("SELECT id FROM test")
	select.execute.each { |row| puts row }
ensure
	newtest.statement.drop
end

If I enable logging in MySQL, these are the queries that I get:

    DROP TABLE test
    CREATE TABLE test ( id SMALLINT PRIMARY KEY )
    INSERT INTO test (id) VALUES ('7734156594425888769')
    INSERT INTO test (id) VALUES ('2')
    INSERT INTO test (id) VALUES ('651089476973494275')


Best regards,

Enrico

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-amd64
Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8)

Versions of packages libodbc-ruby1.8 depends on:
ii  libc6                       2.3.6.ds1-13 GNU C Library: Shared libraries
ii  libiodbc2                   3.52.4-5     iODBC Driver Manager
ii  libruby1.8                  1.8.5-4      Libraries necessary to run Ruby 1.

libodbc-ruby1.8 recommends no packages.

-- no debconf information





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