Про совместимость

В последних сборках Firebird 3.0.4 (у меня сейчас стоит 3.0.4.32952) разрешили использование символа ‘\r’ в качестве переноса строки. Что привело к рассогласованию парсера запросов Firebird и IBProvider.

В целом, проблема ничтожная. Но она напомнила о старой мысли ужесточить ограничение на максимально поддерживаемые версии серверов (FB/IB). Во избежание.

С одной стороны идея плохая. Потому что возникают риски, которые не хочется озвучивать вслух.

А с другой стороны, провайдер не будет работать якобы «неправильно». Ну и, конечно, появится «напоминание» о том, что пора обновить провайдер.

Надо подумать.

3 комментария

hvlad  on Апрель 15th, 2018

Просто интересно — о каком рассогласовании парсеров речь ? И какие проблемы это повлекло ?

Dmitry Kovalenko  on Апрель 15th, 2018

У меня сломались тесты однострочных комментариев.

«WHERE COL=? —\r AND COL2=?»

Раньше у здесь было условие с один параметром, теперь с двумя.

Я бы не акцентировал на этой херне внимания, но у меня несколько лет висели обратные ошибки в тестах — провайдер обрабатывал ‘\r’ как перенос строки, а сервер не обрабатывал. И вот когда я это наконец исправил … 🙂

Dmitry Kovalenko  on Июль 6th, 2018

Кстати, отличная идея для диверсии в стиле «я вам, суки, обновляю».

Leave a Comment