Обновить

Комментарии 9

НЛО прилетело и опубликовало эту надпись здесь
Такое поведение можно понять (хотя я бы не сказал, что оно очевидное), однако явных упоминаний этого я на сайте MySQL не нашёл. Например, тут про подобное поведение не сказано. Возможно, я плохо искал. Вы можете показать, где сказано, что prepare запоминает список колонок на момент создания statement?
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Всё, что вы написали, действительно очевидно. Неочевидным, на мой взгляд, является тот факт, что при компиляции звёздочка разворачивается в полный список колонок. Вполне мог бы существовать байт-кодовый вариант, семантически эквивалентный выбору всех колонок.
Семантически это эквивалентно тому, что вы сами кешировали бы запросы в виде строк где-то у себя. И при изменении схемы Ваши кешированные запросы точно так же перестали бы работать.

Байт-код — это форма хранения для быстрого выполнения кешированных запросов, а не способ хранения.
НЛО прилетело и опубликовало эту надпись здесь
У Вас MySQL ниже 5.1.25. Ваш кэп.
Ага, спасибо! То есть авторы MySQL согласны, что такое поведение неочевидно. А то меня тут выше пытались убедить в обратном :-)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации