![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Архив : группа пользователей постреляционной СУБД CacheБлижайшие найденные письма:
Письма за один месяц Август 2006 с 1 -14 из 14Письмо #5210
Приветствую. Буквально сегодня выбил из саппорта решение проблемы, мучавшей меня все время моей работы в Каше. Речь идет о так называемых логических полях (%Boolean), которые мало того, что имеют три значения (1, 0 и NULL) так еще и очень странно ведут себя в SQL-запросах. А именно, если мы сохраняем пустое значение такого поля, SQL считает, что это значение - NULL, т.е., цитируя саппорт, "мы не можем сказать, равно оно единице или не равно, следовательно оно дает false на всех проверках, кроме is null". Так что если в SQL-запросе мы напишем в условиях where IsSomethingWrong<>1 NULL-поля в результаты не попадут. То есть я должен писать where (IsSomethingWrong<>1) or (IsSomethingWrong is null) чего мне по понятным причинам делать не хочется. А теперь внимание, решение проблемы. Создаем свой класс, например Class p5.dt.Boolean Extends %Boolean { ClassMethod StoredToLogical(%val As p5.dt.Boolean) As %String [ CodeMode = expression ] { +%val } } Прописываем его во всех полях вместо %Boolean, компилируемся. Все, теперь запросы where IsSomethingWrong<>1 и даже where IsSomethingWrong=0 работают безо всяких проблем, причем как на старых, так и на новых данных. Любви. logist (ООО Димас, Хабаровск) Письмо #5211
Сын, какой же ты хороший и заботливый! Я по тебе соскучилась. Целую, мама ----- Original Message ----- From: "logist" <E-Mail> To: <E-Mail> Sent: Tuesday, August 01, 2006 11:04 AM Subject: [cache_ru] Логические зрначения в полях > Приветствую. > > Буквально сегодня выбил из саппорта решение проблемы, мучавшей меня все время > моей работы в Каше. Речь идет о так называемых логических полях (%Boolean), > которые мало того, что имеют три значения (1, 0 и NULL) так еще и очень странно > ведут себя в SQL-запросах. > > А именно, если мы сохраняем пустое значение такого поля, SQL считает, что это > значение - NULL, т.е., цитируя саппорт, "мы не можем сказать, равно оно единице > или не равно, следовательно оно дает false на всех проверках, кроме is null". > Так что если в SQL-запросе мы напишем в условиях > > where IsSomethingWrong<>1 > > NULL-поля в результаты не попадут. То есть я должен писать > > where (IsSomethingWrong<>1) or (IsSomethingWrong is null) > > чего мне по понятным причинам делать не хочется. > > А теперь внимание, решение проблемы. > > Создаем свой класс, например > > Class p5.dt.Boolean Extends %Boolean > { > > ClassMethod StoredToLogical(%val As p5.dt.Boolean) As %String [ CodeMode = > expression ] > { > +%val > } > } > > Прописываем его во всех полях вместо %Boolean, компилируемся. > > Все, теперь запросы > > where IsSomethingWrong<>1 > > и даже > > where IsSomethingWrong=0 > > работают безо всяких проблем, причем как на старых, так и на новых данных. > > Любви. > logist (ООО Димас, Хабаровск) > > > > > Yahoo! Groups Links > > > > > > > Письмо #5212
Hi! Люди интересуются Cache - http://xlein.livejournal.com/415348.html. Что можно сказать человеку на это? Выдержит ли Cache "30-50 мильенов записей в таблице и с одновременным обращением в пике до 500 юзверяток" ? Письмо #5213
А куда оно денется? Будет работать на соотв. оборудовании. См. отечественные примеры: http://www.intersystems.ru/press/pr/200603.html http://www.intersystems.ru/press/pr/291205.html Письмо #5214
Tuesday, August 1, 2006, 11:10:15 AM, you wrote: AS> Люди интересуются Cache - http://xlein.livejournal.com/415348.html. AS> Что можно сказать человеку на это? Выдержит ли Cache AS> "30-50 мильенов записей в таблице и с одновременным обращением в пике до 500 юзверяток" ? Докупить лицензий "до 500 юзверяток" - и никуда не денется, вот только сколько это вынесет в перечсёте на ёжики ..... -- Sergij Gromov JSC Bank "Lviv" +380(32)245-64-20 ICQ#137727952 http://www1.bank.lviv.ua/clients.php Письмо #5215
äÏÂÒÙÊ ÄÅÎØ, ÇÏÓÐÏÄÁ. ÷ÏÔ ÎÁÚÒÅÌ ÏÄÉÎ ×ÏÐÒÏÓ. íÏÖÎÏ ÌÉ ÐÏÌÕÞÉÔØ BLOB ÐÏÌÅ × ËÁÛÕ ÉÚ ÓÔÏÒÏÎÎÅÊ âä. ðÒÉÍÅÒ: ÅÓÔØ ÎÅËÁÑ ÔÁÂÌÉÃÁ × ÏÒÁËÌÅ, ÎÅÏÂÈÏÄÉÍÏ ÉÚ ËÁÛÉ ÐÏÌÕÞÁÔØ ÄÏÓÔÕÐ Ë ÐÏÌÀ ÔÉÐÁ BLOB ÜÔÏ ÔÁÂÌÉÃÅ?? úÁÒÁÎÅÅ ÂÌÁÇÏÄÁÒÅÎ, ëÕÌÉÎÓËÉÊ ÷.ó. Письмо #5216
Добрый день, господа. Поставлена задача обмена через COM порт с внешним устройством. Проблема возникла при приеме символа $c(3), если запретить обработку Ctrl-C >...B 0 R *a то $c(3) теряется (не возвращается) пробовал повесить обработчик ошибки и проверять $EC["INTERRUPT", то проблема все равно не решается, так как символ $c(3) третий(допустим) в блоке данных, а ошибка происходит раньше чтения первого байта и считываю два байта а далее -1 -------------------------------------------------------------- Помогите SOS! -- Заранее благодарен, Alexander mailto:E-Mail Письмо #5217
----- Original Message ----- From: "logist" <E-Mail> To: <E-Mail> Sent: Tuesday, August 01, 2006 4:04 AM Subject: [cache_ru] Логические зрначения в полях Hi! > Буквально сегодня выбил из саппорта решение проблемы, мучавшей меня все > время Ну, если работа по стандарту является проблемой, то ... > моей работы в Каше. Речь идет о так называемых логических полях > (%Boolean), > которые мало того, что имеют три значения (1, 0 и NULL) так еще и очень > странно > ведут себя в SQL-запросах. Ничего странного, все вполне очевидно и логично. Так уж изначально задуман SQL, что в нем есть понятие NULL, которое означает не ноль, не TRUE, не FALSE, не пустую строку, а именно "значение не определено". Потому сравнение таких полей с какими либо значениями некорректно. ____________________________ С уважением, Лисеев Дмитрий. http://private.peterlink.ru/dimik/ PGP key fingerprint: 09 28 74 28 6C 39 62 29 2E CB 95 03 4F 04 33 73 Письмо #5218
Попробуйте читать так: Use dev:(:"SI") R *a AS> Добрый день, господа. AS> Поставлена задача обмена через COM порт с внешним устройством. AS> Проблема возникла при приеме символа $c(3), если запретить AS> обработку Ctrl-C AS> >...B 0 R *a AS> то $c(3) теряется (не возвращается) AS> пробовал повесить обработчик ошибки и проверять $EC["INTERRUPT", AS> то проблема все равно не решается, так как символ $c(3) AS> третий(допустим) в блоке данных, а ошибка происходит раньше AS> чтения первого байта и считываю два байта а далее -1 AS> -------------------------------------------------------------- AS> Помогите SOS! AS> AS> -- Best regards, Maksim Письмо #5219
Tuesday, August 8, 2006, 8:36:23 AM, you wrote: MM> Попробуйте читать так: MM> Use dev:(:"SI") R *a AS>> Добрый день, господа. AS>> Поставлена задача обмена через COM порт с внешним устройством. AS>> Проблема возникла при приеме символа $c(3), если запретить AS>> обработку Ctrl-C AS>> >...B 0 R *a AS>> то $c(3) теряется (не возвращается) AS>> пробовал повесить обработчик ошибки и проверять $EC["INTERRUPT", AS>> то проблема все равно не решается, так как символ $c(3) AS>> третий(допустим) в блоке данных, а ошибка происходит раньше AS>> чтения первого байта и считываю два байта а далее -1 AS>> AS>> -------------------------------------------------------------- AS>> Помогите SOS! AS>> AS>> Большое спасибо за помощь!!! -- Best regards, Alexander mailto:E-Mail Письмо #5220
Здраствуйте Стоит задача обмена через TCP IP с FIDELIO. 1. При открытии устройства Windows открывает первый свободный порт, есть ли возможность открыть тот порт который я хочу. Мы пробовали открывать порт с определенным номеро, определив устройство как TCP|6660, но все равно порт был открыт первый свободный, что не так? 2. После use делаем write в порт, но наше сообщение уходит в порт с задержкой, как можно ускорить отправку нашего сообщения. 3. корректно ли работать с TCP портом write-ом, или есть другие методы Спасибо Илья Письмо #5684
Здраствуйте Стоит задача обмена через TCP IP с FIDELIO. 1. При открытии устройства Windows открывает первый свободный порт, есть ли возможность открыть тот порт который я хочу. Мы пробовали открывать порт с определенным номеро, определив устройство как TCP|6660, но все равно порт был открыт первый свободный, что не так? 2. После use делаем write в порт, но наше сообщение уходит в порт с задержкой, как можно ускорить отправку нашего сообщения. 3. корректно ли работать с TCP портом write-ом, или есть другие методы Спасибо Илья Письмо #5924
Здраствуйте Стоит задача обмена через TCP IP с FIDELIO. 1. При открытии устройства Windows открывает первый свободный порт, есть ли возможность открыть тот порт который я хочу. Мы пробовали открывать порт с определенным номеро, определив устройство как TCP|6660, но все равно порт был открыт первый свободный, что не так? 2. После use делаем write в порт, но наше сообщение уходит в порт с задержкой, как можно ускорить отправку нашего сообщения. 3. корректно ли работать с TCP портом write-ом, или есть другие методы Спасибо Илья Письмо #5221
i> Стоит задача обмена через TCP IP с FIDELIO. i> 1. При открытии устройства Windows открывает первый свободный i> порт, есть ли возможность открыть тот порт который я хочу. i> Мы пробовали открывать порт с определенным номеро, определив i> устройство как TCP|6660, но все равно порт был открыт первый свободный, что не так? i> 2. После use делаем write в порт, но наше сообщение уходит в порт i> с задержкой, как можно ускорить отправку нашего сообщения. i> 3. корректно ли работать с TCP портом write-ом, или есть другие методы 1. Непонятно - вы делаете сервер или клиент? 2. Прпробуйте w String,*-3 3. Корректно -- С уважением, Марунов Владимир E-Mail: E-Mail.ru [2000|2001|2002|2003|2004|2005|2006|2007|2008] [Январь|Февраль|Март|Апрель|Май|Июнь] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2007-2008 Simplygate. All rights reserved. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||