Диагностика
LogicalOrInTheWhereSectionOfQuery
Описание предлагаемых изменений
Отказ от данной диагностики из-за неоднозначности и большого количества ложных срабатываний.
Дополнительная информация
Сейчас эта диагностика выдает ошибку на любое наличие слова Или в секции ГДЕ, хотя в большинстве ситуаций это не является проблемой. Насколько я понимаю, данная диагностика навеяна статьей с kb.1c.ru, где был пример с условием по артикулу и жесткая рекомендация не использовать этот оператор
Но в статье с ИТС (насколько я понимаю, она более новая, статья kb 2008 года) указано, что нет ограничений на использование этого оператора для отбора по одному полю и в качестве дополнительного условия, и даже в примере по разным полям (хотя он тоже спорный, лично у меня воспроизвести проблему не удалось ни на MSSQL ни на PG) сделано уточнение, что нужно убедиться в наличии подходящего индекса для отбора, без этого переписывать что-то не имеет смысла, т. к. и так и так будет перебор всех строк.
Плюс очевидно, что эти рекомендации имеют значение только для запросов к "большим" таблицам, для небольших запросов это все вообще не имеет значения.
На фоне этого, кажется, что выдавать ошибку просто на любое вхождение слова это неправильно, поэтому предлагается отказаться от диагностики.
Диагностика
LogicalOrInTheWhereSectionOfQuery
Описание предлагаемых изменений
Отказ от данной диагностики из-за неоднозначности и большого количества ложных срабатываний.
Дополнительная информация
Сейчас эта диагностика выдает ошибку на любое наличие слова Или в секции ГДЕ, хотя в большинстве ситуаций это не является проблемой. Насколько я понимаю, данная диагностика навеяна статьей с kb.1c.ru, где был пример с условием по артикулу и жесткая рекомендация не использовать этот оператор
Но в статье с ИТС (насколько я понимаю, она более новая, статья kb 2008 года) указано, что нет ограничений на использование этого оператора для отбора по одному полю и в качестве дополнительного условия, и даже в примере по разным полям (хотя он тоже спорный, лично у меня воспроизвести проблему не удалось ни на MSSQL ни на PG) сделано уточнение, что нужно убедиться в наличии подходящего индекса для отбора, без этого переписывать что-то не имеет смысла, т. к. и так и так будет перебор всех строк.
Плюс очевидно, что эти рекомендации имеют значение только для запросов к "большим" таблицам, для небольших запросов это все вообще не имеет значения.
На фоне этого, кажется, что выдавать ошибку просто на любое вхождение слова это неправильно, поэтому предлагается отказаться от диагностики.