Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
FavnЯ считаю, что строковый NULL в Оракле ведет себя как "пустая строка" в строковых операциях и как общепринятый NULL в остальных, Не совсем так, к сожалению. Favn1. Внутренне противоречиво. Это значит, что Вы можете назвать "внутреннее противоречие" - то есть некое противоречие во внутренних, сугубо оракловых концепциях. Что-то я не совсем в этом уверен :) Хотя сам одно место, пожалуй, назову. Favn2. Противоречит поведению базового типа varchar во всех остальных РСУБД. Безусловно. FavnТ.е. является архитектурной "багой", Из (2) это никак не следует и следовать не может. Из (1) будет следовать не раньше, чем будет обосновано (1). Да и тогда.... есть в оракле одна чертовски забавная бага, проистекающая из самой сути реализации версионного механизма. Но было бы глупо из-за одной исчезающе редкой проблемы отказываться от всей версионности. FavnПричем "фича" эта deprecated самим Ораклом. Чушь. Favn ... изначальным ... неправомерно. Такое ощущение, что Вы обсуждаете юридический вопрос. В инженерной работе такая постановка вопроса просто нелепа. Скажем, у меня был проект, где было удобно принять, что N/0=null. И я определил операцию деления именно таким образом. И это значительно упростило всем работу и уменьшило количество ошибок. И честное слово, забавно было бы понаблюдать, как какой-нибудь "тру математик" кричал бы, что это неправомерно, на ноль делить нельзя и мы обязаны немедленно взвалить на себя тройной геморрой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2010, 18:40 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Yo.!пересказывать, что утверждалось, когда есть текст на предыдущей странице мне лень. еще раз, теперь что я имел ввиду фразой "процедурный код сторед процедуры на SQLJ выполняются сторонней жава машиной, которая о принятых в SQL DB2 правилах не в курсе" надеюсь ясно ?Не надейтесь, не ясно. Даже после того, как Вам стало лень :) Еще раз - ни одна JVM о правилах SQL не в курсе. Т.к. любой SQL выполняется движком SQL, а Java-код - JVM. По поводу фразы - процедурный код Java SP в любом случае выполняется какой-то JVM, а собственно SQLJ-вставки в него, т.е. #sql директивы - в любом случае выполняются движком SQL. Или Оракл JVM сама SQL выполняет, без собственно Oracle Database? :) Поэтому что сторонняя Java машина, что своя - о правилах SQL конкретной СУБД должен знать SQLJ препоцессор, с СУБД поставляемый, а вовсе не сама JVM. Кстати, с DB2 всегда в комплекте поставляется именно IBM JVM. Yo.!по мне так спроектированная под нужды субд, интегрированная в структуру SGA JVM существенно отличается от работающей во внешнем процессе JVM общего назначения.Уже обсуждали, так что замнем для ясности :) В любом случае, к выполнению SQLJ все это никакого отношения не имеет. Yo.!не выполняется. там создается такой же profile как и в дб2, структура этого profile файлика описана в стандарте. просто перед созданием profile валидируется SQL... 1. все то же самое, что и у дб2, все согласно стандарту. к статик SQL прислоняется любая JVM, рядом кладутся profile, только JDBC через который дергается база зовется чуть по другому. У DB2 - совсем не так. Разница в том, что в DB2 создается package не только в виде стандартного файлика, а как объект внутри БД, содержащий все запросы SQLJ. И объект этот валидируется с последующими изменениями в БД, и может стать инвалидным, запретив выполнение ставшей "неправильной" SP. JDBC при этом вообще не используется, у них с SQLJ просто общий универсальный драйвер, но внутри драйвера механизмы разные. Yo.!2. не совместимая со стандартом загрузка SQLJ как единое целое в субд, где выполняется под интегрированной в ядро JVM. второй вариант естественно гораздо быстрее. думаю тут просто SQLJ транслируется в обычную Java stored procedure. вот они, по моему, имеют такие же зависимости как и pl/sqlХотелось бы поглядеть на какую-либо инфу по варианту 2. Я в свое время искал на тему SQLJ по доке Оракла, но ничего похожего не видел. Yo.!возвращаясь к нашим нулам: для меня выглядит дико когда говорят, что когда я обрабатываю нулл языком сторед процедур, то это один нулл, а когда я обрабатываю ту же сущность из той же таблицы, из того же поля но уже на уровне апп-сервера это уже какой-то другой нулл.И что делать, если это действительно разные нуллы в разных языках? В JDBC, чтобы не было путаницы, даже функцию wasNull() ввели. Не isNull(), чтобы не было нездоровых ассоциаций :) Да, в SQLJ, в отличие от JDBC, можно использовать Java null для индикации SQL NULL. ИМХО, это неправильно и путает - хороший шанс получить в лоб эксепшн в рантайме при случайном использовании простых типов в хост-переменных. Лучше по-старинке пользоваться indicator переменными . Меньше путаницы будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2010, 20:12 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
FavnХотелось бы поглядеть на какую-либо инфу по варианту 2. Я в свое время искал на тему SQLJ по доке Оракла, но ничего похожего не видел. начать можно отсюда http://download.oracle.com/docs/cd/E11882_01/java.112/e10590/inserver.htm дальше о реализации sqlj мне не интересно. не моя тема. Yo.!И что делать, если это действительно разные нуллы в разных языках? с чего бы им быть разными если описывают они одно понятие (то что лежит в бд) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2010, 23:03 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Favn В дополнение к этому я считаю, что изначальным значением NULL в SQL в описании полей было именно "неопределенное значение", и это следует из логичесих операций с участием NULL. Но этот вопрос к данной дискуссии не относится. О "неопределенности" я говорил именно в свете того, что раз NULL может означать неопределенность, толковать его именно как пустую строку неправомерно.. Дополнение ЭТОГО выглядит значительно важнее самого ЭТОГО (NULL много важнее в МД, чем пустая строка, скорее всего). Про "следует" у нас там были все время трудности. У Вас там логические операции возвращали NULL, а из этого может следовать все что угодно, в общем случае, и даже, возможно, может ни чего не следовать. FavnОк. Определимся. Я считаю, что строковый NULL в Оракле ведет себя как "пустая строка" в строковых операциях и как общепринятый NULL в остальных, что бы он там не значил. И это: 1. Внутренне противоречиво. 2. Противоречит поведению базового типа varchar во всех остальных РСУБД. Т.е. является архитектурной "багой", проистекающей из совпадающего способа хранения NULL и '', традиционно для архитектурных "баг" (не только Оракла :) ) замаскированной под "фичу". Причем "фича" эта deprecated самим Ораклом. Строковые операции, логические, арифметические это все же, возможно, разные алгебры в общем случае, чтобы так уж сразу и противоречивость была. Так лавры Рассела в выявлении противоречий нам с Вами, скорей всего, не заполучить. Про другие СУБД: ну зато не надо писать проверку на пустые строки. Поди плохо? Favn Да, NULL. А имея в виду именно "пустоту" могли бы назвать VOID, например. Ну видите, нас с Вами не спрашивают как назвать. А, возможно, и зря. Уж мы бы им понапридумывали. Favn По моему мнению, принципиальное отличие не в "изначальности", а в результатах логических операций. Если использовать логику кроме is null в запросах с этим полем не предполагается, NULL может значить что Вам угодно. Но не надо делать из частного случая общее правило. За сим теоретический спор с привлечением лингвистики и философии предлагаю закончить в виду полной бесперспективности :) И сосредоточится на конкретном толковании NULL varchar в Оракле и остальных РСУБД. Но тада зачем Вы про изначальность рассуждали, раз дело, как теперь, неожиданно вдруг выясняется не в ней? Favn Когда речь идет о расширениях SQL - безусловно. Но мы говорим о базовой операции || над базовым же типом varchar. Вот какда речь идет о стандартах, то здесь изначальное может играть роль. И я про стандарты уклоняюсь в связи такого рода моментами. Я одобряю Ваши усилия по приведение к стандартам, но поскоку у меня много сомнений, остаюсь в стане болельщиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2010, 11:15 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Хммм... Оказывается, Оракул позволяет в базу загрузить не только инвалидные метаданные, но и данные тоже: http://www.sql.ru/forum/actualthread.aspx?tid=776900 А что, вполне логично... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 13:50 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Хммм... Оказывается, Оракул позволяет в базу загрузить не только инвалидные метаданные, но и данные тоже: http://www.sql.ru/forum/actualthread.aspx?tid=776900 А что, вполне логично... Есть предложения какие констрейнты вешать на кривые ручки вальнувшие текст в другой кодировке в виде RAW в CLOB??? Внимаем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 13:54 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Есть предложения какие констрейнты вешать на кривые ручки вальнувшие текст в другой кодировке в виде RAW в CLOB??? Не, если индусы не сделали валидацию UTF8, то это не лечится. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 13:57 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan) Есть предложения какие констрейнты вешать на кривые ручки вальнувшие текст в другой кодировке в виде RAW в CLOB??? Не, если индусы не сделали валидацию UTF8, то это не лечится. Лили RAW, наплевав на любую валидацию База сказала "Хазяина UTF8", как бы повел себя FB??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 13:59 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)База сказала "Хазяина UTF8", как бы повел себя FB??? Сказала бы "пшолнах, malformed string". Нефиг выдавать win1251 за utf8. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:06 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Gluk (Kazan)База сказала "Хазяина UTF8", как бы повел себя FB??? Сказала бы "пшолнах, malformed string". Нефиг выдавать win1251 за utf8. а как он отличает win1251 от utf8? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:24 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperа как он отличает win1251 от utf8? Она и не различает, просто проверяет входные текстовые данные на соответствие заявленному клиентскому character set (то, что в оракловском NLS_LANG идёт после точки). В utf8 разрешены отнюдь не любые сочетания байт, поэтому если заявлена строка в utf8, а подсунута в win1251, то скорее всего валидацию она не пройдёт. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:31 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov SergSuperа как он отличает win1251 от utf8? Она и не различает, просто проверяет входные текстовые данные на соответствие заявленному клиентскому character set (то, что в оракловском NLS_LANG идёт после точки). В utf8 разрешены отнюдь не любые сочетания байт, поэтому если заявлена строка в utf8, а подсунута в win1251, то скорее всего валидацию она не пройдёт. AI detected Нетушки, когда льем RAW пусть уж лучше разрешает лить всякий бред, чем отшибает руки на основании того, что данные не понравились его AI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:38 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov SergSuperа как он отличает win1251 от utf8? Она и не различает, просто проверяет входные текстовые данные на соответствие заявленному клиентскому character set (то, что в оракловском NLS_LANG идёт после точки). В utf8 разрешены отнюдь не любые сочетания байт, поэтому если заявлена строка в utf8, а подсунута в win1251, то скорее всего валидацию она не пройдёт. да ну нафиг а если я чего-то решил на каком-то своём новом языке написать? т.е. можно спорить нужно это или нет, но как-то на Оракул позволяет в базу загрузить инвалидные данные не тянет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 15:27 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuper как-то на Оракул позволяет в базу загрузить инвалидные данные не тянет А какая именно часть этого утверждения "не тянет"? "Оракул"? Так Оракул. "Позволяет"? Так позволяет ведь! "Загрузить"? Именно загрузить. "Инвалидные"? А как ещё назвать данные в кодировке, не соответствующей кодировке базы, которые потом (при выборке) не могут быть правильно отображены?.. "Данные"? Дык вроде бы данные... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 15:53 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov SergSuper как-то на Оракул позволяет в базу загрузить инвалидные данные не тянет А какая именно часть этого утверждения "не тянет"? "Оракул"? Так Оракул. "Позволяет"? Так позволяет ведь! "Загрузить"? Именно загрузить. "Инвалидные"? А как ещё назвать данные в кодировке, не соответствующей кодировке базы, которые потом (при выборке) не могут быть правильно отображены?.. "Данные"? Дык вроде бы данные... кодировка - это же типа информация как надо отображать данные, а мало ли что клиент не может отобразить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 16:20 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperкодировка - это же типа информация как надо отображать данныеВот зачем говорить о том, в чём ничего не понимаешь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 16:30 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
hvladSergSuperкодировка - это же типа информация как надо отображать данныеВот зачем говорить о том, в чём ничего не понимаешь ?да я уже понял, что кто с FB не работает, тот ничего в жизни не понимает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 17:09 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperhvladSergSuperкодировка - это же типа информация как надо отображать данныеВот зачем говорить о том, в чём ничего не понимаешь ?да я уже понял, что кто с FB не работает, тот ничего в жизни не понимает"информация как надо отображать данные" находится в файле со шрифтом, например. Кодировка символов не имеет к этому отношения. При чём тут FB ? Он конечно развивает способности, заставляя думать, но в данном случае и FB не поможет, увы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 17:15 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
hvladSergSuperкодировка - это же типа информация как надо отображать данныеВот зачем говорить о том, в чём ничего не понимаешь ? To be Nullor not to be Null в строках уже обсудили. Теперь новый виток - что такое символ, первична ли кодировка или значение =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 17:16 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SiemarglТеперь новый виток - что такое символ, первична ли кодировка или значение =)Я промолчал на SergSuperда ну нафиг а если я чего-то решил на каком-то своём новом языке написать?но на второй ляп уже не сдержался :) Ну а насчёт витков - пинайте недовольного Ораклом DS'а :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 17:22 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
hvladSergSuperhvladSergSuperкодировка - это же типа информация как надо отображать данныеВот зачем говорить о том, в чём ничего не понимаешь ?да я уже понял, что кто с FB не работает, тот ничего в жизни не понимает"информация как надо отображать данные" находится в файле со шрифтом, например. Кодировка символов не имеет к этому отношения. и зачем же тогда в ХТМЛе это страницы написано <META content="text/html; charset=windows-1251">? вся ж информация как отображать есть в файле со шрифтом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 19:12 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperhvlad"информация как надо отображать данные" находится в файле со шрифтом, например. Кодировка символов не имеет к этому отношения. и зачем же тогда в ХТМЛе это страницы написано <META content="text/html; charset=windows-1251">? вся ж информация как отображать есть в файле со шрифтомМожет для того, чтобы выбрать файл со шрифтом, в котором таки есть информация о том, как рисовать символы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 22:36 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
hvladМожет для того, чтобы выбрать файл со шрифтом, в котором таки есть информация о том, как рисовать символы ? в файле со шрифтом и так есть информация о том как рисовать символы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 23:06 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
hvladSergSuperhvlad"информация как надо отображать данные" находится в файле со шрифтом, например. Кодировка символов не имеет к этому отношения. и зачем же тогда в ХТМЛе это страницы написано <META content="text/html; charset=windows-1251">? вся ж информация как отображать есть в файле со шрифтомМожет для того, чтобы выбрать файл со шрифтом, в котором таки есть информация о том, как рисовать символы ?то есть содержит информацию, какой файл нужно выбрать и соответственно как отобразить данные, не так ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 23:34 |
|
||
|
Все таки Oracle впереди планеты всей!
|
|||
|---|---|---|---|
|
#18+
SergSuperhvladSergSuperhvlad"информация как надо отображать данные" находится в файле со шрифтом, например. Кодировка символов не имеет к этому отношения. и зачем же тогда в ХТМЛе это страницы написано <META content="text/html; charset=windows-1251">? вся ж информация как отображать есть в файле со шрифтомМожет для того, чтобы выбрать файл со шрифтом, в котором таки есть информация о том, как рисовать символы ?то есть содержит информацию, какой файл нужно выбрать и соответственно как отобразить данные, не так ли?Не так. После того, как было дано достаточное кол-во намёков, я даже не буду спрашивать - а что имеется в виду под словом отображать и при чём тут СУБД. Мне этот цирк быстро надоедает, уж извините. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 00:12 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36751120&tid=1552783]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 166ms |

| 0 / 0 |
