Базы данных / Внезапно Databases / Microsoft
Приходит как-то ко мне мой коллега Дима Писаренко и говорит — “есть вопрос по SQL, но это надо видеть”. И таки-да, это стоило увидеть :)
Как думаете, что возвращал подобный запрос (любое сходство с реальными данными случайно)?
Если вы пользуетесь SQL, то знаете, что первая строчка будет “first”, а вторая — “second”. Ведь правда? Но не в нашем запутанном случае :)
Дело осложнялось тем, что у Димы запрос был сложнее и сгенерирован Entity Framework. Для справки, MSSQL был 2008. Мы (независимо) пришли к двум одинаковым догадкам:
"B as A"
? Ответ: заработает как надо.В итоге, пока я писал Диме, что на моём MSSQL 2008 работает правильно, он уже локализовал проблему — исходная БД работала в режиме совместимости с MSSQL 2000.
К вопросу о совместимости. Восхищаюсь разработчиками “старой школы” из Microsoft, которые оставили багу ради обратной совместимости со сторонними приложениями (если использовать соответствующий режим для БД).
Восхищаюсь в хорошем смысле. Да, было время, когда
винда проверяла наличие запущенного SimCity.
Теперь PlatformNotSupportedException
в .NET Core — “нормальный подход, зато API совместимы”…
Базы данных / Внезапно Databases / Microsoft