Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Не понимаю о чем вы спорите То, что сделано в Оракле, правильно по определению Если это не соответствует стандарту - тем хуже для стандарта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 10:22 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Мимо пробегал... Код: plaintext Это никому не нравится :) Безусловно, по-своему логично, но претензии ораклоидов к реализации сводятся почти исключительно именно к этой детали; хочется, чтобы length('') == 0. Мимо пробегал...Вы не находите что всё-таки есть разница между "результат неопределён" и "результат зависит от настроек"? Я нахожу, что я сказал совершенно однозначную фразу: "невозможно предсказать результат выполнения скрипта [по тексту этого скрипта]". Мало того, SergSuper, уверенно предсказав результат, продемонстрировал именно ту опасность, которую я имел в виду. Впрочем, изначально я не имел намерения говорить о недостатках MSSQL - исключительно ответ собеседнику, который "не читал, но осуждает". Мимо пробегал...Что касается стандарта ANSI, точнее его внимательного прочтения. Я лично его не читал, не знаю читал ли его Leonid, сомневаюсь что Вы его читали, Читал. И знаю, как он построен. Почему и отношусь к заявлениям "нарушает стандарт" очень, назовем так, скептически - ANSI SQL построен так, что его трудно нарушить. Если говорить о стандарте-2003 - в него ухитрились внести как SEQUENCE, так и IDENTITY, но не сделали при этом напрашивающегося, актуального и абсолютно естественного шага - IDENTITY, запитанного от SEQUENCE. Полагаю, понимаете, почему. Мимо пробегал...но думаю в MS то кто-то его читал, не просто так же они назвали ANSI_NULLS Думаю, читали. Мало того, если Вы обратите внимания - я нигде не говорил, что MSSQL нарушает стандарт. Но делать из этого (и только из этого) вывод, что любая другая реализация стандарт нарушает - значит, демонстрировать неграмотность и неумность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 11:00 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
eNoseкроме строковых, есть и другие типы. для каждого делать своё поведение на null? Практической необходимости в этом я не вижу. Увижу - скажу, что хорошо бы сделать. Именно с блобами в Oracle связан не слишком удобный момент, проистекающий из реализации блобов - необходимость использовать функцию EMPTY_BLOB(). Это вызывает те же самые проблемы - скажем, проверка на пустоту блоба вообще говоря должна идти через coalesce (dbms_lob.length(blob), 0)=0 - но поскольку работа с блобами - не самая эффективная задача, таких проверок обычно избегают, не оставляя полям значения EMPTY_BLOB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 11:10 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
ну я пишет: > Александр, не флейма ради, а истины для: в нашей системе за подобные > шалости сервера нас бы давно порвали на британский флаг. Это я к тому, > что мир разнообразен и не сводится к глобусу Оракла. Конечно не сводится. Я Оракл и не использую. И не уверен, что в ближайшее время буду использовать даже для немаленьких баз. Меня ASA больше устраивает по множеству параметров. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 11:55 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
А вот кстати что ANSI стандарт говорит Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:29 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarerПо поводу процитированного - я говорил о нежелании ставить галочки в каждом из 10.000 dbcontrol-ов. Кроме того, я говорил о том, что "решают" по-разному, и в результате де-факто ER-ки становится недостаточно, чтобы написать запрос - нужно еще смотреть, что именно решили в каждом конкретном случае.Выберите/напишите контролы, где не надо ставить галочки . Наследование то же ни кто не отменял. softwarerО том, что MSSQL по каким-то странным причинам не поддерживает обычный binding параметров. Поэтому передаваемый с клиента SQL приходится либо оборачивать в вызов хранимки (кажется, sp_executesql - так, в частности, автоматом поступает ADO), либо нагружать сервер дополнительной работой по parsing-y.А чем вас пугает вызов "хранимки" sp_executesql? Ну да, не самая удачная реализация binding-а, но я не понимаю при чем здесь это? Тема другая и не валите все в кучу. softwarerЭто никому не нравится :) Безусловно, по-своему логично, но претензии ораклоидов к реализации сводятся почти исключительно именно к этой детали; хочется, чтобы length('') == 0.Вот, блин, и приплыли. Одно тянет за собой другое. Стоит ли говорить после этого, что стандарты, не дураками писаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 16:35 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
SergSuperА вот кстати что ANSI стандарт говорит. Браво. Кстати, Вы прочитали то место, где говорится, что <literal> - это вовсе не строковая константа? Теперь два комментария. Комментарий первый: здесь сказано "нет" (то есть - "нет в стандарте"). С чем никто не спорит. Для того, чтобы наличие такого литерала противоречило стандарту, здесь пришлось бы увидеть "не должно быть литерала...". Почему? По той простой причине, что иначе любое расширение стандарта придется считать нарушением оного. Теперь второй комментарий - о соответствии стандарту вообще. Позволю себе другую фразу из стандарта (SQL'92, сейчас нет под рукой новее) Код: plaintext Сколько из этих операций Вы найдете в MSSQL? Говорите, он соответствует стандарту? Нет, соответствует, я с этим не собираюсь спорить. Соответствовать, как известно, можно по-разному. А вот противоречить - ... Вы сделали хорошую попытку, но обреченную на неудачу. Если бы все действительно было однозначно - как думаете, смог бы Оракл заявлять о соответствии стандарту? Полагаете, их спецы не просчитали все тонкости? А спецы того же мелкософта не протестировали их работу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 18:38 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
LeonidВыберите/напишите контролы, где не надо ставить галочки . Решение, безусловно, лучшее чем ничего, но недостаточное. Оно позволяет ставить меньше пяти тысяч галочек - безусловно. От ошибок, однако, оно не спасает. Впрочем, если Вы скажете, что "нестандартное значение" нужно одной из ста или одной из тысячи галочек - я соглашусь, что вероятность ошибки сообразно падает. Правда, сообразно падает и ценность этой фичи, и критичность ее отсутствия. Наследование то же ни кто не отменял. LeonidА чем вас пугает вызов "хранимки" sp_executesql? Вызов хранимки меня не пугает. Меня пугает идея "формировать sql из данных" - я не вижу пути понять это иначе, чем Код: plaintext Эта идея меня "пугает" - правда, это уже тема другой беседы. Если хотите, считайте, что я придираюсь к словам. LeonidВот, блин, и приплыли. Одно тянет за собой другое. Есть такой эффект. В данном случае в Oracle именно что сказали А, но не решились сказать Б. Из этого не следует, что не стоило говорить А. Даже без Б - с моей точки зрения - его стоило сказать. Но лучше было бы сказать и Б тоже; с этим я согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 18:46 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarer Браво. Кстати, Вы прочитали то место, где говорится, что <literal> - это вовсе не строковая константа? Теперь два комментария. Комментарий первый: здесь сказано "нет" (то есть - "нет в стандарте"). С чем никто не спорит. Для того, чтобы наличие такого литерала противоречило стандарту, здесь пришлось бы увидеть "не должно быть литерала...". Почему? По той простой причине, что иначе любое расширение стандарта придется считать нарушением оного. Если сказано что "нет" - значит не должно быть. Расширения допускаются там, где это никак не оговорено. И я бы перевёл как "не бывает литералов..." А из определения литерала видно что строковая константа один из видов литералов. Еще сказано что есть только одно only one null value, а в Оракле получается два - и пустая строка и null. Ну да, тоже расширения. softwarerLet set operation be UNION [ALL], EXCEPT [ALL], or INTERSECT [ALL]. Сколько из этих операций Вы найдете в MSSQL? Говорите, он соответствует стандарту? И где ж я такое говорил то? Единственно что я хотел сказать (а говорил еще меньше) - что превращение пустой строки в NULL это нелогично и неудобно. В MS SQL 4.2.1 тоже была такая фигня и мне это совершенно не нравилось. И чесно говоря удивляет чем же Вам это так нравится. А все эти стандарты мне по барабану. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 19:50 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarer LeonidА чем вас пугает вызов "хранимки" sp_executesql? Вызов хранимки меня не пугает. Меня пугает идея "формировать sql из данных" - я не вижу пути понять это иначе, чем А меня ПУГАЕТ, то что ADO имеет наглость лезть ВНУТРЬ запроса. Неправильно выправлять кривизну сервера кривизной методов доступа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 08:39 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)А меня ПУГАЕТ, то что ADO имеет наглость лезть ВНУТРЬ запроса. Не совсем так. По моим ощущениям, ADO - продукт примерно того же класса, что и BDE, со всеми теми же преимуществами-недостатками, но именно в данном случае большого криминала нет - ADO не лезет в запрос, а оборачивает его, вызывает хранимку, передавая ей текст запроса. Правда, какую-то бяку с параметрами при этом я видел. В качестве веселого оффтопика: когда я показал оракловый трейс с bind-переменными, мой оппонент заподозрил, что это трейс BDE. По его мнению, при передаче необернутого запроса параметры должны были быть подставлены на клиенте - в смысле, переменные заменены значениями прямо в тексте запроса. Gluk (Kazan)Неправильно выправлять кривизну сервера кривизной методов доступа Безусловно. Собственно, после того разговора мне стало много понятнее, почему с точки зрения MSSQL-евцев все надо делать на хранимках. В частности, иначе там идет принудительный cursor_sharing=force. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 09:27 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
А, понял :) У нас тут с ADO 1С-ник неделю назад трахался. Она кволочь пыталась сделать запрос обновляемым, заботливо вставляя в него ROWID, а 1С этой заботы не понимала Потом еще пришлось обернуть все типы в TO_CHAR, но это уже камушек в 1C :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 09:43 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) softwarer LeonidА чем вас пугает вызов "хранимки" sp_executesql? Вызов хранимки меня не пугает. Меня пугает идея "формировать sql из данных" - я не вижу пути понять это иначе, чем А меня ПУГАЕТ, то что ADO имеет наглость лезть ВНУТРЬ запроса. Неправильно выправлять кривизну сервера кривизной методов доступа Собственно ADO(OLEDB) так и были задуманы, чтобы лезть в нутро запроса и делать массу других малополезных вещей(автоматически строить INSERT и UPDATE для начала). Правда корректная установка свойств и атрибутов соединения/команды позволяет извести эти чудачества начисто. Всё семейство процедур sp_exec%,sp_prep%,sp_cursor% служит для выправления чудачеств безнадёжно устаревшего TDS 4.2, 7, 8, но это тема для отдельной дискуссии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 10:29 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarerНе совсем так. По моим ощущениям, ADO - продукт примерно того же класса, что и BDE, со всеми теми же преимуществами-недостатками, но именно в данном случае большого криминала нет - ADO не лезет в запрос, а оборачивает его, вызывает хранимку, передавая ей текст запроса.Не отдавайтесь на волю ощущениям :) А то как в анекдоте: Так вы всю науку к @#$% сведете :) ADO - это ActiveX обертка поверх OLE DB. OLE DB же сам по себе очень эфективный механизм. BDE здесь ни при чем и классы и способы низкоуровневого доступа у них разные. Сравнивать их по меньшей мере не корректно. softwarerЕсть такой эффект. В данном случае в Oracle именно что сказали А, но не решились сказать Б. Из этого не следует, что не стоило говорить А. Даже без Б - с моей точки зрения - его стоило сказать. Но лучше было бы сказать и Б тоже; с этим я согласен.Ну не знаю, на мой взгляд, "А" того не стоило. Ну да, в конце концов, вам с этим возиться, не мне. Я же скорее соглашусь с SergSuper: SergSuperпревращение пустой строки в NULL это нелогично и неудобно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 10:47 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
LeonidНе отдавайтесь на волю ощущениям :) А то как в анекдоте: Так вы всю науку к @#$% сведете :) ADO - это ActiveX обертка поверх OLE DB. OLE DB же сам по себе очень эфективный механизм. Мне ближе точка зрения Alexey Sh - про "изведение чудачеств". Leonid BDE здесь ни при чем и классы и способы низкоуровневого доступа у них разные. Сравнивать их по меньшей мере не корректно. Хм. Как бы Вам сказать.. смотреть можно с разных точек зрения. ADO, как и BDE - это некий "толстый провайдер". То есть не просто интерфейс драйверов к БД, но также куча нетривиальной логики. Как и у BDE, как и у других продуктов подобного класса - у него есть как преимущества (возможность пользоваться этой логикой) так и недостатки - эта логика, а также вызванные ей ограничения реализации, проявляются и мешают в достаточно неожиданных местах. LeonidНу да, в конце концов, вам с этим возиться, не мне. Безусловно :) С тем моментом, что как раз "возиться" и оказывается ненужным. Собственно, пример на эту тему только что был на RSDN - там человек спрашивал, пройдет ли в оракле запрос, составленный для DB2 и MS, и ему посоветовали заменить coalesce(...) на просто field is null. По моим текущим ощущениям, именно это - типичный случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 11:09 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarer Собственно, пример на эту тему только что был на RSDN - там человек спрашивал, пройдет ли в оракле запрос, составленный для DB2 и MS, и ему посоветовали заменить coalesce(...) на просто field is null. По моим текущим ощущениям, именно это - типичный случай. :) А как было бы удобно если для int-а при присваивании нуля подставлялся бы NULL. Это ж coalesce(field ,0)=0 можно было бы заменить на просто field is null ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 11:45 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
SergSuperА как было бы удобно если для int-а при присваивании нуля подставлялся бы NULL. Это было бы очень удобно, если бы в полях ввода ноль и null отображались бы одинаково, а в логике обработки они практически всегда означали бы одно и то же. SergSuperЭто ж coalesce(field ,0)=0 можно было бы заменить на просто field is null ! Можно было бы. "Как было бы удобно" определяется тем, насколько часто это нужно, а насколько часто - мешало бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 11:53 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
авторМожно было бы. "Как было бы удобно" определяется тем, насколько часто это нужно, а насколько часто - мешало бы. Хочется повертеть пальцем у виска :) Оставте в покое вы этих убогих ораклистов с их традициями. Не долго им осталось. Не тронь Г пока не завоняет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 12:07 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Странно, почему все провокаторы не регестряться на форуме ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 12:10 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
DoomaХочется повертеть пальцем у виска :) У меня уже палец устал, читая про такие странности отдельно взятых и якобы крутых софтин ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 13:07 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32955264&tid=1553920]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 175ms |
| total: | 296ms |

| 0 / 0 |
