Hi, After upgrading to the latest BetterNestedSet library, today, I suddently start having problems using it. The following code gives an error where indicated. It used to works just fine with an older version. Is that a problem due to the new activerecord library I have installed as well? Does anyone have an idea of what happened? ---------------------------------- product_type_base = ProductType.new product_type_base.name = "base" product_type_base.lookup = "b" product_type_base.save product_type_1 = ProductType.new product_type_1.name = "ass?chement" product_type_1.lookup = "ass" product_type_1.save product_type_11 = ProductType.new product_type_11.name = "ass?chement location" product_type_11.lookup = "loc" product_type_11.save product_type_12 = ProductType.new product_type_12.name = "ass?chement apr?s d?g?ts d''eau" product_type_12.lookup = "deg" product_type_12.save product_type_2 = ProductType.new product_type_2.name = "d?shumidification" product_type_2.lookup = "des" product_type_2.save product_type_21 = ProductType.new product_type_21.name = "d?shumidification escolino" product_type_21.lookup = "esl" product_type_21.save product_type_22 = ProductType.new product_type_22.name = "d?shumidification escocompact" product_type_22.lookup = "esc" product_type_22.save product_type_3 = ProductType.new product_type_3.name = "abris pc" product_type_3.lookup = "abr" product_type_3.save product_type_1.move_to_child_of(product_type_base) <-------- ERROR HERE product_type_2.move_to_child_of(product_type_base) product_type_3.move_to_child_of(product_type_base) product_type_11.move_to_child_of(product_type_1) product_type_12.move_to_child_of(product_type_1) product_type_21.move_to_child_of(product_type_2) product_type_22.move_to_child_of(product_type_2) ---------------------------------- c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/connection_ adapters/abstract_adapter.rb:128:in `log'': RuntimeError: ERROR C42703 Mcolumn "product_types" of relation "product_types" does not exist Fparse_relation. c L1728 RattnameAttNum: UPDATE product_types SET product_t ypes.lft = CASE WHEN product_types.lft BETWEEN 2 AND 2 THEN prod uct_types.lft + 2 WHEN product_types.lft BETWEEN 3 AND 4 THEN pr oduct_types.lft + -1 ELSE product_types.lft END, p roduct_types.rgt = CASE WHEN product_types.rgt BETWEEN 2 AND 2 T HEN product_types.rgt + 2 WHEN product_types.rgt BETWEEN 3 AND 4 THEN product_types.rgt + -1 ELSE product_types.rgt END, product_types.parent_id = CASE WHEN id = 2 THEN 1 ELSE product_types.parent_id END WHERE (1 = 1) (ActiveRecord::Statemen tInvalid) from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor d/connection_adapters/postgresql_adapter.rb:152:in `execute'' from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor d/connection_adapters/postgresql_adapter.rb:162:in `update'' from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor d/base.rb:494:in `update_all'' from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:736 :in `move_to'' from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor d/connection_adapters/abstract/database_statements.rb:59:in `transaction'' from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor d/transactions.rb:95:in `transaction'' from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor d/transactions.rb:121:in `transaction'' from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:691 :in `move_to'' from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:624 :in `move_to_child_of'' from insert_data.rb:89
Hi Phillipe, I think it is a PostgreSQL-specific problem, since I got the error you reported when using PgSQL, but not under MySQL. I''m looking into it now. Krishna On 1/22/07, Philippe Lang <philippe.lang at attiksystem.ch> wrote:> Hi, > > After upgrading to the latest BetterNestedSet library, today, I suddently start having problems using it. The following code gives an error where indicated. It used to works just fine with an older version. > > > Is that a problem due to the new activerecord library I have installed as well? > > Does anyone have an idea of what happened? > > > ---------------------------------- > > > product_type_base = ProductType.new > product_type_base.name = "base" > product_type_base.lookup = "b" > product_type_base.save > > product_type_1 = ProductType.new > product_type_1.name = "ass?chement" > product_type_1.lookup = "ass" > product_type_1.save > > product_type_11 = ProductType.new > product_type_11.name = "ass?chement location" > product_type_11.lookup = "loc" > product_type_11.save > > product_type_12 = ProductType.new > product_type_12.name = "ass?chement apr?s d?g?ts d''eau" > product_type_12.lookup = "deg" > product_type_12.save > > product_type_2 = ProductType.new > product_type_2.name = "d?shumidification" > product_type_2.lookup = "des" > product_type_2.save > > product_type_21 = ProductType.new > product_type_21.name = "d?shumidification escolino" > product_type_21.lookup = "esl" > product_type_21.save > > product_type_22 = ProductType.new > product_type_22.name = "d?shumidification escocompact" > product_type_22.lookup = "esc" > product_type_22.save > > product_type_3 = ProductType.new > product_type_3.name = "abris pc" > product_type_3.lookup = "abr" > product_type_3.save > > product_type_1.move_to_child_of(product_type_base) <-------- ERROR HERE > product_type_2.move_to_child_of(product_type_base) > product_type_3.move_to_child_of(product_type_base) > product_type_11.move_to_child_of(product_type_1) > product_type_12.move_to_child_of(product_type_1) > product_type_21.move_to_child_of(product_type_2) > product_type_22.move_to_child_of(product_type_2) > > > ---------------------------------- > > > c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/connection_ > adapters/abstract_adapter.rb:128:in `log'': RuntimeError: ERROR C42703 Mcolumn > "product_types" of relation "product_types" does not exist Fparse_relation. > c L1728 RattnameAttNum: UPDATE product_types SET product_t > ypes.lft = CASE WHEN product_types.lft BETWEEN 2 AND 2 THEN prod > uct_types.lft + 2 WHEN product_types.lft BETWEEN 3 AND 4 THEN pr > oduct_types.lft + -1 ELSE product_types.lft END, p > roduct_types.rgt = CASE WHEN product_types.rgt BETWEEN 2 AND 2 T > HEN product_types.rgt + 2 WHEN product_types.rgt BETWEEN 3 AND 4 > THEN product_types.rgt + -1 ELSE product_types.rgt END, > product_types.parent_id = CASE WHEN id = 2 THEN 1 > ELSE product_types.parent_id END WHERE (1 = 1) (ActiveRecord::Statemen > tInvalid) > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > d/connection_adapters/postgresql_adapter.rb:152:in `execute'' > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > d/connection_adapters/postgresql_adapter.rb:162:in `update'' > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > d/base.rb:494:in `update_all'' > from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:736 > :in `move_to'' > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > d/connection_adapters/abstract/database_statements.rb:59:in `transaction'' > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > d/transactions.rb:95:in `transaction'' > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > d/transactions.rb:121:in `transaction'' > from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:691 > :in `move_to'' > from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:624 > :in `move_to_child_of'' > from insert_data.rb:89 > _______________________________________________ > Betternestedset-talk mailing list > Betternestedset-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/betternestedset-talk >
Just so everyone on the list knows, Fabien fixed the problem, and the current trunk version (43) plays nicely with SQLite3 and PostgreSQL again. Cheers, Krishna On 1/22/07, Krishna Dole <dontfall at gmail.com> wrote:> Hi Phillipe, > > I think it is a PostgreSQL-specific problem, since I got the error you > reported when using PgSQL, but not under MySQL. > > I''m looking into it now. > > Krishna > > On 1/22/07, Philippe Lang <philippe.lang at attiksystem.ch> wrote: > > Hi, > > > > After upgrading to the latest BetterNestedSet library, today, I suddently start having problems using it. The following code gives an error where indicated. It used to works just fine with an older version. > > > > > > Is that a problem due to the new activerecord library I have installed as well? > > > > Does anyone have an idea of what happened? > > > > > > ---------------------------------- > > > > > > product_type_base = ProductType.new > > product_type_base.name = "base" > > product_type_base.lookup = "b" > > product_type_base.save > > > > product_type_1 = ProductType.new > > product_type_1.name = "ass?chement" > > product_type_1.lookup = "ass" > > product_type_1.save > > > > product_type_11 = ProductType.new > > product_type_11.name = "ass?chement location" > > product_type_11.lookup = "loc" > > product_type_11.save > > > > product_type_12 = ProductType.new > > product_type_12.name = "ass?chement apr?s d?g?ts d''eau" > > product_type_12.lookup = "deg" > > product_type_12.save > > > > product_type_2 = ProductType.new > > product_type_2.name = "d?shumidification" > > product_type_2.lookup = "des" > > product_type_2.save > > > > product_type_21 = ProductType.new > > product_type_21.name = "d?shumidification escolino" > > product_type_21.lookup = "esl" > > product_type_21.save > > > > product_type_22 = ProductType.new > > product_type_22.name = "d?shumidification escocompact" > > product_type_22.lookup = "esc" > > product_type_22.save > > > > product_type_3 = ProductType.new > > product_type_3.name = "abris pc" > > product_type_3.lookup = "abr" > > product_type_3.save > > > > product_type_1.move_to_child_of(product_type_base) <-------- ERROR HERE > > product_type_2.move_to_child_of(product_type_base) > > product_type_3.move_to_child_of(product_type_base) > > product_type_11.move_to_child_of(product_type_1) > > product_type_12.move_to_child_of(product_type_1) > > product_type_21.move_to_child_of(product_type_2) > > product_type_22.move_to_child_of(product_type_2) > > > > > > ---------------------------------- > > > > > > c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_record/connection_ > > adapters/abstract_adapter.rb:128:in `log'': RuntimeError: ERROR C42703 Mcolumn > > "product_types" of relation "product_types" does not exist Fparse_relation. > > c L1728 RattnameAttNum: UPDATE product_types SET product_t > > ypes.lft = CASE WHEN product_types.lft BETWEEN 2 AND 2 THEN prod > > uct_types.lft + 2 WHEN product_types.lft BETWEEN 3 AND 4 THEN pr > > oduct_types.lft + -1 ELSE product_types.lft END, p > > roduct_types.rgt = CASE WHEN product_types.rgt BETWEEN 2 AND 2 T > > HEN product_types.rgt + 2 WHEN product_types.rgt BETWEEN 3 AND 4 > > THEN product_types.rgt + -1 ELSE product_types.rgt END, > > product_types.parent_id = CASE WHEN id = 2 THEN 1 > > ELSE product_types.parent_id END WHERE (1 = 1) (ActiveRecord::Statemen > > tInvalid) > > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > > d/connection_adapters/postgresql_adapter.rb:152:in `execute'' > > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > > d/connection_adapters/postgresql_adapter.rb:162:in `update'' > > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > > d/base.rb:494:in `update_all'' > > from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:736 > > :in `move_to'' > > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > > d/connection_adapters/abstract/database_statements.rb:59:in `transaction'' > > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > > d/transactions.rb:95:in `transaction'' > > from c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.15.1/lib/active_recor > > d/transactions.rb:121:in `transaction'' > > from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:691 > > :in `move_to'' > > from ../../lib/data/better_nested_set/trunk/lib/better_nested_set.rb:624 > > :in `move_to_child_of'' > > from insert_data.rb:89 > > _______________________________________________ > > Betternestedset-talk mailing list > > Betternestedset-talk at rubyforge.org > > http://rubyforge.org/mailman/listinfo/betternestedset-talk > > >
betternestedset-talk-bounces at rubyforge.org wrote:> Just so everyone on the list knows, Fabien fixed the problem, and the > current trunk version (43) plays nicely with SQLite3 and PostgreSQL > again. > > Cheers, > KrishnaThanks for reacting so quickly! That''s great, thanks a lot. It works like a charm again. Philippe