That anonymous class is not about "arg", but is referring the cps,
which is created on jdbc.rb line 299,
basically when it runs to
cps.setDate(i.arg)
exception is thrown.
The funny part is, the switch/case statement will recognize arg as a
Date type, but next line when Jruby tries
to resolve cps.setDate, it fails to recognize arg as a Date.
Here are the modified jdbc.rb to show some debug info
def set_ps_arg(cps, arg, i)
puts "Debug arg class is #{arg.class}, arg value is #{arg}"
case arg
....
when Date, Java::JavaSql::Date
begin
cps.setDate(i, arg)
rescue Exception=>e
puts e.message
puts e.backtrace
end
.....
else
cps.setObject(i, arg)
end
end
And here are the output:
Debug arg class is Date, arg value is -2010-10-12
no setDate with arguments matching [class org.jruby.RubyFixnum, class
org.jruby.RubyObject] on object #<#<Class:01x41692a49>:0x705789f3>
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/adapters/jdbc.rb:304:in `execute_prepared_statement'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/adapters/jdbc.rb:304:in `each'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/adapters/jdbc.rb:304:in `execute_prepared_statement'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/connection_pool/threaded.rb:84:in `hold'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/database/connecting.rb:226:in `synchronize'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/adapters/jdbc.rb:294:in `execute_prepared_statement'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/adapters/jdbc.rb:191:in `execute'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/adapters/jdbc.rb:227:in `execute_insert'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/dataset/actions.rb:557:in `execute_insert'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/adapters/jdbc.rb:493:in `execute_insert'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/dataset/actions.rb:281:in `insert'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/adapters/shared/oracle.rb:122:in `insert'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/dataset/prepared_statements.rb:124:in `run'
/home/whong/src/gto/cax/vendor/gems/jruby/1.8/gems/sequel-3.18.0/lib/
sequel/dataset/prepared_statements.rb:29:in `call'
> Like I told you by email, you need to include your code and the full
> backtrace. However, since JRuby is showing the object as a #<#<Class:
> 01x404fe94c>:0x2b49a2c8>, I don't think it's going to do much good.
> That's an instance of an anonymous class. Are you sure you are
> passing in a ruby Date object?
>
> Jeremy
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sequel-talk?hl=en.