From: Jon Rosen on 15 Jul 2010 22:12 I am a relative ruby-newbie (hey that rhymes!) but I am a python expert so this error REALLY threw me. I am doing a VERY VERY simply SQL program that executes two queries in a row: require 'mysql' db = Mysql.connect('localhost','myname','mypswd','information_schema') q1 = db.query ("select * from table_constraints") q1.each { |row| puts row.inspect } q1.free q2 = db.query ("select * from key_column_usage") q2.each { |row| puts row.inspect } q2.free db.close This SHOULD just print the data from the two schema tables. When I execute this with EITHER of the sets of three lines for q1 or q2 commented out (i.e., only one query in the program), this works fine. Each run gives me the correct results from the appropriate query. When I execute this as above, I get the following: C:\ruby>ruby sqlcompare1.rb [nil, "qautil", "PRIMARY", "qautil", "qausers", "PRIMARY KEY"] [nil, "qautil", "PRIMARY", "qautil", "siteuimap", "PRIMARY KEY"] [nil, "qautil", "map_page_field", "qautil", "siteuimap", "UNIQUE"] [nil, "qautil", "PRIMARY", "qautil", "testusers", "PRIMARY KEY"] sqlcompare1.rb:6: [BUG] Segmentation fault ruby 1.9.1p429 (2010-07-02 revision 28523) [i386-mingw32] -- control frame ---------- c:0008 p:---- s:0023 b:0023 l:000022 d:000022 CFUNC :inspect c:0007 p:---- s:0021 b:0021 l:000020 d:000020 CFUNC :inspect c:0006 p:0012 s:0018 b:0017 l:001264 d:000016 BLOCK sqlcompare1.rb:6 c:0005 p:---- s:0014 b:0014 l:000013 d:000013 FINISH c:0004 p:---- s:0012 b:0012 l:000011 d:000011 CFUNC :each c:0003 p:0065 s:0009 b:0009 l:001264 d:000b58 EVAL sqlcompare1.rb:6 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:001264 d:001264 TOP --------------------------- -- Ruby level backtrace information----------------------------------------- sqlcompare1.rb:6:in `inspect' sqlcompare1.rb:6:in `inspect' sqlcompare1.rb:6:in `block in <main>' sqlcompare1.rb:6:in `each' sqlcompare1.rb:6:in `<main>' [NOTE] You may encounter a bug of Ruby interpreter. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. C:\ruby> Needless to say, this looks REALLY nasty and doesn't instill a lot of confidence in me about the stability of the MySQL/Ruby code. I am running Ruby 1.9.1 and Mysql 2.8.1 which are the latest and greatest as far as I know. Also needless to say, the following python version of the same code: import MySQLdb db = MySQLdb.connect('localhost','myname','mypswd','information_schema') q = db.cursor() q.execute("select * from table_constraints") for row in q.fetchall(): print row q.execute("select * from key_column_usage") for row in q.fetchall(): print row WORKS PERFECTLY! :-) Anybody got any ideas or could you point me to a place where I can report a nasty bug like this? I can't even imagine that with something this simple blowing up that there are thousands of Ruby/MySQL applications out there running on websites flawlessly. There must be REALLY something weird going on here. Thanks, Jon "bleurose" Rosen -- Posted via http://www.ruby-forum.com/.
From: poseid on 16 Jul 2010 05:59 On Jul 16, 4:12 am, Jon Rosen <j...(a)openstage.org> wrote: > I am > running Ruby 1.9.1 and Mysql 2.8.1 which are the latest and greatest as > far as I know. > Just a small comment: Your script works for my local environment without problems: ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10] mysql5 Ver 14.14 Distrib 5.1.47, for apple-darwin10.3.0 (i386) using readline 6.1 Patrick
|
Pages: 1 Prev: Encode string in Ruby decode it in Javascript? Next: farming automation |