Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > mysql query warning


Автор: idti 18.8.2011, 11:34
Периодически появляется этот warning на innodb базах, на двух одинаково, с самого начала, с пустах таблиц. На обоих системах мало памяти, но никаких ошибок нет. Замечено пока только на select запросах с for update модификатором. Select выглядит так: 

Код

select * from sometable where someforeign = 5 and sometime < 122334559 for update


Основная проблема в том, что эта ситуация никак не обрабатывается, php пишет warning, ошибка не взвращается, result получается пустым ресурсом и дальше с пустым ресурсом уже не корректно отрабатывает остальная часть php. Это как то можно обработать?

Цитата

warning: mysql_query() [function.mysql-query]: unable to save result set in 

Автор: Shogun 18.8.2011, 15:30
"foreign" - используется в синтаксисе mysql поэтому и ошибка.

Автор: idti 18.8.2011, 17:07
Цитата(Shogun @  18.8.2011,  15:30 Найти цитируемый пост)
"foreign" - используется в синтаксисе mysql поэтому и ошибка. 


Неа, select'ы с другими именами. Дело в том, что ошибки то и нет. Есть warning и всё.

Добавлено через 5 минут и 27 секунд
Думаю это связано с обработкой ситуации innodb, когда select for update уже начал выбирать, а данные изменились другим процессом и он не может дальше продолжать потому как не релевнтная выборка получится или что-то подбное.

Но вопрос в этой ветки, как поймать эту ситуацию, когда ошибки нет, но и результата нет.

Автор: idti 19.8.2011, 11:46
Думаю, нужно mysqli попробывать. Что это я. Его же рекомендуют разработчики, там и отладка расширенная, значит возможно будет ошибка возвращаться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)