172 похожих чатов

Добрый вечер! Как большой знаток работы планировщика, не подскажете ли вот

что?
В конструкции
CASE
WHEN field IS NOT NULL THEN field
ELSE SELECT value FROM table
END as data,
конструкция будет выполняться ленивым образом или нет? И если да, то где это написано? То есть есть ли гарантия на уровне стандарта?
Заранее спасибо.

1 ответов

7 просмотров

Что такое "ленивым", в данной ситуации? ;) В смысле, будет ли выполняться ELSE, если это не нужно? Это зависит от того, что там — в случае constant folding и т.п. — будет, иначе executor будет выполнять ELSE только когда нужно, по идее (не уверен, что во всех случаях, конечно). > И если да, то где это написано? Т.е. на практике — чаще всего, выполняться не будет. Написано это здесь: https://www.postgresql.org/docs/current/functions-conditional.html#FUNCTIONS-CASE > То есть есть ли гарантия на уровне стандарта? Но нет, гарантии как в PostgreSQL (см. https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-EXPRESS-EVAL ), так и в ISO SQL (насколько я понял — могу ошибаться, конечно) нет. А в общем, в этом отношении postgres (как и многие другие СУБД, говорят) старается, чтобы это как можно чаще работало, потому что многие программисты этого (по каким-то причинам ;) ) ожидают. Но не всегда получается, как видите.

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
Карта сайта