were case - фича или бага?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
sydenis
Сообщения: 64
Зарегистрирован: 22 фев 2005, 16:09

were case - фича или бага?

Сообщение sydenis » 06 июл 2005, 10:43

может быть все этим давно ползуются, но я только недавно обнаружил, :) что к таблице tab1 с полями f1,f2,f3 можно сделать запрос вида

select * from tab1 where
case f1
when X then f2
esle f3
end = Y;

Т.е. можно ввести зависимость where от каких-либо внешних условий. Очень удобная фенечка, но есть вопросы:
- кто-нибудь пользовался? нет ли скрытых грабель?
- это фича или бага, которая исчезнет в след.релизах?

sydenis
Сообщения: 64
Зарегистрирован: 22 фев 2005, 16:09

Сообщение sydenis » 06 июл 2005, 10:45

это FB 1.5.2

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 в агрегатных функциях, хотя с точки зрения просто синтаксиса вроде ничего не мешало.
напомни, плиз.

Ответить