# Ruby-sqlite 2.2.3 bug

**URL:** <https://www.ruby-forum.com/t/ruby-sqlite-2-2-3-bug/55174>\
**Category:** Ruby\
**Created:** [March 17, 2006, 5:15pm UTC](https://www.ruby-forum.com/t/ruby-sqlite-2-2-3-bug/55174 "2006-03-17T17:15:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jon\_ASLambert](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/f08c70/32.png) [@Jon\_ASLambert](https://www.ruby-forum.com/u/Jon_ASLambert)\
**Post date:** [March 17, 2006, 5:15pm UTC](https://www.ruby-forum.com/t/ruby-sqlite-2-2-3-bug/55174/1 "2006-03-17T17:15:47Z")

</div>

This is using sqlite-ruby (2.2.3)

* * *

require ‘sqlite’  
require ‘pp’

## class Foo end db = SQLite::Database.open(“test.sqlite”) begin db.execute(“drop table test;”) rescue end db.execute(“create table test (id integer primary key, data object);”) db.type\_translation = true db.translator.add\_translator(“object”) {|type, value| db.class.decode value } db.execute(“insert into test values (1, ?);”, db.class.encode(Foo.new)) db.execute(“select \* from test;”) do |row| pp row end #db.type\_translation = false \<== uncomment to make work pp db.execute(“pragma table\_info(test)”) \<======= bug here db.table\_info(“test”) do |row| \<===== and here pp row end

[1, #Foo:0x2c35ee0]  
C:/apps/ruby/lib/ruby/gems/1.8/gems/sqlite-ruby-2.2.3-mswin32/lib/sqlite/translator.rb:85:in  
`type_name': undefined method`upcase’ for nil:NilClass (NoMethodError)  
from  
C:/apps/ruby/lib/ruby/gems/1.8/gems/sqlite-ruby-2.2.3-mswin32/lib/sqlite/translator.rb:77:in  
`translate' from C:/apps/ruby/lib/ruby/gems/1.8/gems/sqlite-ruby-2.2.3-mswin32/lib/sqlite/resultset.rb:136:in`next’  
from  
C:/apps/ruby/lib/ruby/gems/1.8/gems/sqlite-ruby-2.2.3-mswin32/lib/sqlite/resultset.rb:135:in  
`next' from C:/apps/ruby/lib/ruby/gems/1.8/gems/sqlite-ruby-2.2.3-mswin32/lib/sqlite/resultset.rb:161:in`each’  
from  
C:/apps/ruby/lib/ruby/gems/1.8/gems/sqlite-ruby-2.2.3-mswin32/lib/sqlite/database.rb:199:in  
`execute’  
from C:/work/teensymud/trunk/testsql.rb:21

Switching type\_translation off allows pragma to work.

Also example in documentation, shows ‘db.decode’ instead of  
‘db.class.decode’
