Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
sydenis
- Сообщения: 64
- Зарегистрирован: 22 фев 2005, 16:09
Сообщение
sydenis » 06 июл 2005, 10:43
может быть все этим давно ползуются, но я только недавно обнаружил,

что к таблице tab1 с полями f1,f2,f3 можно сделать запрос вида
select * from tab1 where
case f1
when X then f2
esle f3
end = Y;
Т.е. можно ввести зависимость where от каких-либо внешних условий. Очень удобная фенечка, но есть вопросы:
- кто-нибудь пользовался? нет ли скрытых грабель?
- это фича или бага, которая исчезнет в след.релизах?
-
dimitr
- Разработчик Firebird
- Сообщения: 888
- Зарегистрирован: 26 окт 2004, 16:20
Сообщение
dimitr » 06 июл 2005, 12:17
автору
после чтения релизных нот, ты можешь внятно обосновать, почему это может быть багой?
-
sydenis
- Сообщения: 64
- Зарегистрирован: 22 фев 2005, 16:09
Сообщение
sydenis » 06 июл 2005, 13:24
1. Зная определение снега, ты можешь внятно обосновать почему он не бывает зелёным?

2. Насколько я помню содержание релизных нот, они вообще не имеют отношения к моему вопросу.
3. Уточняю вопрос:
Согласно синтакса, в блоке where может стоять любое логическое выражение. Вопрос в том - насколько оно может быть сложным? Например, было ограничение на применение udf в агрегатных функциях, хотя с точки зрения просто синтаксиса вроде ничего не мешало.
Не может ли и здесь всплыть какое-либо подобное органичение?
-
dimitr
- Разработчик Firebird
- Сообщения: 888
- Зарегистрирован: 26 окт 2004, 16:20
Сообщение
dimitr » 08 июл 2005, 14:35
sydenis писал(а):Согласно синтакса, в блоке where может стоять любое логическое выражение. Вопрос в том - насколько оно может быть сложным?
Ты же сам написал -
любое выражение. Ы?
Если бы существовали ограничения, об этом было бы написано в нотах.
sydenis писал(а):Например, было ограничение на применение udf в агрегатных функциях, хотя с точки зрения просто синтаксиса вроде ничего не мешало.
напомни, плиз.