On 25 Jun 2008, at 14:58, Grant Croker wrote:

> On/El 25/06/08 10:43, Frederick Cheung wrote/escribió:
>>
>> On 24 Jun 2008, at 16:17, Grant Croker wrote:
>>
>>
>>>> As a result the code keeps looping . Comparing the contents of
>>>> "options" for MySQL and Ingres I don't see anything of any
>>>> significance that would cause the call not to work. Below is a dump
>>>> of
>>>> "options" using ruby-debug:
>>>>
>> As in options_include_default? returns false ? Even if that were to  
>> be
>> the case I'm not sure why that would cause a crash, I would expect
>> things to work (with the caveat that no column defaults would be  
>> set).
>>
>>
>
> The crash occurs due to the looping/recursion as it eventually runs  
> out of stack space in the process. See http://en.pastebin.ca/raw/1055724 
>  for the backtrace I get when running rake using --trace. You will  
> see from the log file that it continually loops against the  
> following 4 lines:
> activerecord-2.1.0/lib/active_record/connection_adapters/ 
> ingres_adapter.rb:398:in `quote'
> activerecord-2.1.0/lib/active_record/connection_adapters/abstract/ 
> schema_statements.rb:377:in `add_column_options!'
> activerecord-2.1.0/lib/active_record/connection_adapters/abstract/ 
> schema_definitions.rb:272:in `add_column_options!'
> activerecord-2.1.0/lib/active_record/connection_adapters/abstract/ 
> schema_definitions.rb:263:in `to_s'

Hmm, ColumnDefinition aliases to_s to to_sql (and then that calls  
through to add_column_options!, which calls through to  
add_column_options! on the adapter itself). Are you calling to_s on  
something you shouldn't be (perhaps as a debugging aid?)

Fred

>
> I am not quite sure it ever calls quote from ingres_adapter.rb since  
> ruby-debug does not stop in that function. Any "puts" tracing in  
> that function is never called so I  can only assume it never gets  
> called but as far as I can tell the condtiions for  
> options_include_default? with MySQL and Ingres are the same...
>
> grant
>
> -- 
> Grant Croker - Ingres PHP, Ruby and Python maintainer
> Mark Carwardine's role, essentially, was to be the one who knew what  
> he
> was talking about. My role, and one for which I was entirely  
> qualified,
> was to be an extremely ignorant non-zoologist to whom everything that
> happened would come as a complete surprise.
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" 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-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to