metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-03-12 12:00 pm

Век живи, век учись

Внезапно: жизнь заставила узнать как правильно сравнивать поля в базах данных на равенство/неравенство:
A IS NOT DISTINCT FROM B
A IS DISTINCT FROM B

[identity profile] gds.livejournal.com 2011-03-12 01:44 pm (UTC)(link)
кроме описанного у ребе (для триггеров), иногда это полезно для легковесной эмуляции типа опциональных значений, который в нормальных языках записывался бы, например, как "type option 'a = [ None | Some of 'a ]", в тех случаях, когда невозможно выделить какое-либо специальное значение для значения None, либо когда специальное значение будет неудобно в других смыслах (это же сраный sql, всё-таки).