powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / %Boolean. И все же, 2 или 3(или больше?) возможных значений?
13 сообщений из 13, страница 1 из 1
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36557598
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь использует пустое значение свойств типа %Boolean? Без InitialExpression?
Ждут ли неожиданности?
Появилась задачка, где как раз нужно получать у флага либо пусто (не трогали флаг), либо значение 0 или 1 (трогали, последнее значение такое-то).
В документации два значения. В базе несколько больше... вот и думаю..
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36557815
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolesov,

Третье значение NULL по идее
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36557857
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, это третье надо сделать чем-то одним из двух и сделать свойcтво REQUIRED.
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36558131
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
Class d.test Extends %Persistent
{
Property test As %Boolean;
}
IDtest1null2false3true
Код: plaintext
1.
2.
3.
4.
5.
6.
TEST>w ##class(d.test).%OpenId( 1 ).test
 
TEST>w ##class(d.test).%OpenId( 2 ).test
 0 
TEST>w ##class(d.test).%OpenId( 3 ).test
 1 
Либо создайте вычисляемое поле, например:
Код: plaintext
nvl(+field,x):  0  - false,  1  - true, x - null
.
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36558298
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а лучше сразу прописать:
Код: plaintext
Property AAA As %Boolean [ InitialExpression =  0 ];
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36558363
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ymka2007а лучше сразу прописать
Не факт... Все зависит от прикладной задачи.
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36558372
iriskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я использую, никаких форс мажоров пока не было ;-)
Когда создается объект, поле пустое, при редактировании пустое значение уже не вернуть в любом случае будет или 0, или 1.
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36559278
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iriskin,

Спасибо. Обнадежили ;)
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36559605
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В объекте хорошо, там идет проверка типа по %Boolean
а в SQL? чет мне кажется, что пусто будет null, а не 0.
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36560902
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По тяжелому долгому опыту для большинства пользователей Cache (sql и интерфейсы):
1 - true, 0-false, ""-null
Но бывает еще и $char(0)... - когда уж совсем не присвоено :) с точки зрения РБД (настоящий NULL, а "" - это пустое значение)
Поэтому надо аккуратно проверять булевы значения = NULL, особенно при обмене данными с другими СУБД.
Я стараюсь сделать их обязательными и имеющими только два значения - false и true (0 и 1).
Меньше ошибок.
Кстати, в инете очень много топиков на тему 4 значений булевой переменной.
Я был потрясен в новогоднюю ночь этими откровениями, как просто я относился к да/нет столько лет :(
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36562277
Iset
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iriskin,

при редактировании в Каше можно вернуть значение пустого поля, вот так: x=""
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36562279
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Iset,

если поле обязательное (REQUIRED), то в базу оно пустое не попадет. Ошибку на проверке при записи выдаст.
...
Рейтинг: 0 / 0
%Boolean. И все же, 2 или 3(или больше?) возможных значений?
    #36562292
Iset
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ser_shu,
это не оспаривалось :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / %Boolean. И все же, 2 или 3(или больше?) возможных значений?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]