Ошибка sql_range_query в Sphinx - PullRequest
0 голосов
/ 30 июня 2011

При настройке Sphinx на моем производственном сервере эта странная ошибка возникла при попытке индексировать

ERROR: index 'benefit_core': sql_range_query: You have an error in your SQL 
syntax; check the manual that corresponds to your MySQL server version for the 
right syntax to use near '' at line 1

Это не происходит на моей локальной машине.И да, это пустая строка.

Кто-нибудь видел этот тип проблемы раньше?Сфинкс - 1.4.4

Сфинкс - 0.9.9

Спасибо!

Ответы [ 2 ]

0 голосов
/ 01 июля 2011

В итоге проблема заключалась в методе sanitize_sql. Я заменил эту строку на:

where "active = true AND expiration > \"#{Time.now.to_formatted_s(:db)}\""

Спасибо за помощь!

0 голосов
/ 01 июля 2011

Убедитесь, что вы используете самую последнюю версию Thinking Sphinx, 3.0.4 или около того.Похоже, были некоторые проблемы с sanitize_sql

https://github.com/freelancing-god/thinking-sphinx/issues/213

Также попробуйте переписать строку так:

where sanitize_sql(["active = ? and expiration > ?", true, Time.now]) 

Также попробуйте закомментировать вселинии и постепенно добавляйте их обратно, чтобы точно определить, где происходит ошибка.

...