Я использую Ruby 1.9.3 и испытываю эту странную проблему с тем, что гем MySQL "Ruby" происходит из-за ошибки сегментации именно после выполнения 20 запросов.
Это код, который выполняетзапрос:
def load
dbh = Mysql::new($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME)
begin
res = dbh.query("SELECT word, type FROM words WHERE word = '#{dbh.escape_string(word)}';")
rescue Mysql::Error => e
puts "Error occurred during SQL query"
end
res.each do |row|
@word = row[0]
@type = row[1]
end
dbh.close if dbh
end
Этот код вызывается каждый раз, когда пользователь вводит слово, для первых 20 слов запрос работает правильно и переходит к segfault 21-го, независимо от того, что я там вставил.
Я на Windows, использую Ruby 1.9.3p0 и ruby 'mysql' gem version 2.8.1, с MySQL 5.5.16.Я уже проверил, что файл libmysql.dll, который я скопировал в папку Ruby bin, является той же версией MySQL, которую я установил.
Есть ли у вас какие-либо подсказки о том, что может быть не так?