Thanks Guillaume, you're terrific !
On Mar 25, 5:27 pm, Guillaume Desrat <[email protected]>
wrote:
> Hi,
>
> I think I've found where the problem is.
>
> In the file lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.1/lib/
> jdbc_adapter/jdbc_oracle.rb, there's this :
>
> module JdbcSpec
> ...
> module Column
> ...
> private
> def simplified_type(field_type)
> case field_type
> when /^number\(1\)$/i : :boolean
> when /char/i : :string
> when /float|double/i : :float
> when /int/i : :integer
> when /num|dec|real/i : @scale ==
> 0 ? :integer : :decimal
> when /date|time/i : :datetime
> when /clob/i : :text
> when /blob/i : :binary
> end
> end
> end
> end
>
> When I read my model columns, both integer and number(x,0) Oracle
> columns report as following :
>
> #<ActiveRecord::ConnectionAdapters::JdbcColumn:0x18af9c0
> @precision=nil, @limit=nil, @sql_type="NUMBER", @name="id",
> @type=:decimal, @scale=nil, @null=false, @primary=true, @default=nil>
>
> As @scale is nil and not 0, the simplified_type returned is :decimal,
> not :integer.
>
> The corresponding case line :
> when /num|dec|real/i : @scale ==
> 0 ? :integer : :decimal
> should be replaced by :
> when /num|dec|real/i : (@scale.nil? ||
> @scale == 0) ? :integer : :decimal
>
> This works fine for me. If it does for you, could you please open an
> issue so that the next version includes it ?
>
> Kind regards,
>
> --
> Guillaume Desrathttp://www.rubyfrance.org/
>
> On 20 mar, 15:41, Sylvain <[email protected]> wrote:
>
> > Hello Nick,
> > I experience the same bug described by Mark with version 0.9.1, so I
> > guess he did not file a bug report in Jira.
> > Can you please confirm, so I open a bug ?
> > One last question, when do you plan to release a 0.9.2 version ?
>
> > Thanks again for your time and your work you give to the ruby and
> > rails community.
>
> > Sylvain
>
> > On Mar 4, 5:27 am, Nick Sieger <[email protected]> wrote:
>
> > > On Tue, Mar 3, 2009 at 1:40 PM, Mark Becker
>
> > > <[email protected]> wrote:
>
> > > > I'm having aproblemusing jruby on rails with a legacyoracledatabase
> > > > (OracleDatabase 10g Enterprise Edition Release 10.1.0.3.0). Theoracle
> > > >numberprimary key is getting converted into a decimal, which is causing
> > > > restful style URIs not to work. For example I'm seeing URIs like
> > > >http://localhost:3000/members/show/7201.0?tab=nameswheretheidshould
> > > > be an integer, not a double, and they result in "Missing template"
> > > > errors.
>
> > > > A friend of mine said that the sameproblemarose for him when he
> > > > updated fromactiverecord-jdbc-adapterversion 0.8 to version 0.9, which
> > > > is what I'm using. Is this a known issue? Is there a workaround short
> > > > of changing the database to use integer primary keys? That isn't an
> > > > option for us.
>
> > > > Here's my configuration:
>
> > > > jruby 1.1.6 (ruby 1.8.6 patchlevel 114) (2008-12-17 rev 8388)
> > > > [amd64-java]
> > > > rails (2.2.2)
> > > >activerecord(2.2.2)
> > > >activerecord-jdbc-adapter(0.9)
>
> > > If you could file a bug [1] and provide a short test case, we'll try
> > > to have this fixed for 0.9.1, due out in a week or two. In your
> > > example/test case, please be sure to provide the schema or migration
> > > that you use to create the table.
>
> > > Thanks,
> > > /Nick
>
> > > [1]:http://kenai.com/jira/browse/ACTIVERECORD_JDBC
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: 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/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---