>>>>> "Y" == Yukihiro Matsumoto <matz / netlab.co.jp> writes: Y> No. And none for contents of Arrays neither. Y> Should I prepare hook for them? I mean for Arrays, not local Y> variables, which cannot be hooked I think. No, I don't think because this was just an example. I can store Hash or ... (any objects accepted by Marshal). Perhaps this will give too many modifications to ruby. Y> To archive your wish, one idea is to make BDB to save original Y> references in marshaling mode, then verify the values on close. Y> Just for an idea. Well my problem is that I want also write : db[[1, 2]].push(3) db.each do |x, y| # etc end i.e. without the db.close Y> By the way, Y> |require "bdb" Y> |db = BDB::Btree.open("aa", nil, BDB::CREATE, {"marshal" => true}) Y> did you make bdb extension? I've tried but not yet reached to the goal. Y> I really want to see it. Could you plan to release it publicly? Not finished, missing : 1) lock, log 2) actually I work with 3.x and I plan to make a compatible version for 2.x 3) test 4) no documentation actually I can put this temporary version on an anonymous server if you want to look at it, but there are many bugs :-) :-) :-) If all is OK, it will be public. Guy Decoux p.s.: I've also another a very small extension to add PL/ruby (i.e. procedural language for PostgreSQL). If somebody want to test it, he can contact me by e-mail. Documentation is at : http://moulon.inra.fr/tmp/plruby.html