Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 8 9 10 11 12 13 14 15 16 [17]
 Re: Все таки Oracle впереди планеты всей!  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
Dimitry Sibiryakov

SergSuper
а как он отличает win1251 от utf8?

Она и не различает, просто проверяет входные текстовые данные на соответствие заявленному
клиентскому character set (то, что в оракловском NLS_LANG идёт после точки).
В utf8 разрешены отнюдь не любые сочетания байт, поэтому если заявлена строка в utf8, а
подсунута в win1251, то скорее всего валидацию она не пройдёт.

У вас весь софт вот на таких измышлизмах построен? Продолжайте в том же духе, в это время ваши конкуренты добавят действительно полезную функциональность, например нормальную репликацию через захват изменений, а не то, что вы этим сейчас называете.
Удачи.
27 июл 10, 10:03    [9162554]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Apex
Dimitry Sibiryakov

SergSuper
а как он отличает win1251 от utf8?

Она и не различает, просто проверяет входные текстовые данные на соответствие заявленному
клиентскому character set (то, что в оракловском NLS_LANG идёт после точки).
В utf8 разрешены отнюдь не любые сочетания байт, поэтому если заявлена строка в utf8, а
подсунута в win1251, то скорее всего валидацию она не пройдёт.

У вас весь софт вот на таких измышлизмах построен? Продолжайте в том же духе, в это время ваши конкуренты добавят действительно полезную функциональность, например нормальную репликацию через захват изменений, а не то, что вы этим сейчас называете.
Удачи.

это о чем? кто такие конкуренты?
27 июл 10, 10:08    [9162583]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55277

iscrafm
это о чем? кто такие конкуренты?

Да, мне тоже это интересно. Как и то, что это за "репликация через захват изменений, а не
через то что сейчас". Так и возникает в воображении картина маслом по хлебу: сидят где-то
изменения, а тут врываются амбалы в масках и всех их захватывают.

Posted via ActualForum NNTP Server 1.4

27 июл 10, 11:17    [9163195]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
канкурэнт
Guest
iscrafm
Apex
Dimitry Sibiryakov

SergSuper
а как он отличает win1251 от utf8?

Она и не различает, просто проверяет входные текстовые данные на соответствие заявленному
клиентскому character set (то, что в оракловском NLS_LANG идёт после точки).
В utf8 разрешены отнюдь не любые сочетания байт, поэтому если заявлена строка в utf8, а
подсунута в win1251, то скорее всего валидацию она не пройдёт.

У вас весь софт вот на таких измышлизмах построен? Продолжайте в том же духе, в это время ваши конкуренты добавят действительно полезную функциональность, например нормальную репликацию через захват изменений, а не то, что вы этим сейчас называете.
Удачи.

это о чем? кто такие конкуренты?

может имелись в виду майскули-постгресы?
27 июл 10, 15:34    [9165697]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 68060
Блог
Apex
У вас весь софт вот на таких измышлизмах построен?

Открою Вам страшную тайну, у них софт даже аналог ораклового substr (1, :n) выполнить не в состоянии.
28 июл 10, 18:04    [9173429]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55277

softwarer
у них софт даже аналог ораклового substr (1, :n) выполнить не в состоянии.

Да, Оракл всяко впереди планеты всей в умении извлечь подстроку из целого числа...

Posted via ActualForum NNTP Server 1.4

28 июл 10, 18:20    [9173512]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 68060
Блог
Dimitry Sibiryakov
Да, Оракл всяко впереди планеты всей в умении извлечь подстроку из целого числа...

Это иногда полезно. Меня куда более огорчила невозможность в FB без пользовательской функции извлечь подстроку из строки.
28 июл 10, 18:31    [9173604]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55277

softwarer

Меня куда более огорчила невозможность в FB без пользовательской функции извлечь подстроку
из строки.

Использование встроенной SUBSTRING запрещено религией?

Posted via ActualForum NNTP Server 1.4

28 июл 10, 18:45    [9173691]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 68060
Блог
Dimitry Sibiryakov
Использование встроенной SUBSTRING запрещено религией?

Именно так. Моя религия запрещает мне использовать неработающие решения.

+
29.07.10 10:34:49.753,DEBUG,ORB-733(30),SQL-prepare,select
...
substring (GroupCode from 1 for ?) as SameNameCol,
...
29.07.10 10:34:49.753,WARN,ORB-733(30),SQLConnection,BAD SQL:
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -804
Data type unknown
at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:118)
at org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:40)
...


Пришлось заменить на udf-овский substr, тот работает.
29 июл 10, 10:38    [9175992]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55277

softwarer
Моя религия запрещает мне использовать неработающие решения.

А снизойти до прямого указания убогому серверу нужного типа не позволяет гордость:
substring (GroupCode from 1 for cast(? as integer)) as SameNameCol
и всё работает.

Posted via ActualForum NNTP Server 1.4

29 июл 10, 11:16    [9176327]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 68060
Блог
Dimitry Sibiryakov
А снизойти до прямого указания убогому серверу нужного типа не позволяет гордость:

Скорее, целесообразность. Чем набивать код такими жуткими конструкциями, попутно пытаясь объяснить, почему тривиальная функция должна так выглядеть, разумнее таки вызывать работающую тривиальную функцию.
29 июл 10, 11:32    [9176484]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

softwarer
Моя религия запрещает мне использовать неработающие решения.

А снизойти до прямого указания убогому серверу нужного типа не позволяет гордость:
substring (GroupCode from 1 for cast(? as integer)) as SameNameCol
и всё работает.


блинннн лаконично то как :)
29 июл 10, 11:34    [9176515]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55277

Gluk (Kazan)
блинннн лаконично то как :)

Ну, если учесть что во "впередиидущем" тип данных для placeholder вообще никак не
определяется...

Posted via ActualForum NNTP Server 1.4

29 июл 10, 13:27    [9177581]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
чем больше я живу, тем больше убеждаюсь в том, что неявное приведение типов - зло.
29 июл 10, 13:53    [9177863]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 68060
Блог
locky
чем больше я живу, тем больше убеждаюсь в том, что неявное приведение типов - зло.

Зло, конечно. Правда, не очень понимаю, какое отношение эта истина имеет к конкретному случаю, где работает совсем другое зло - "дурацкие интерпретаторные синтаксические конструкции с идиотскими ограничениями на месте обычных функций".
29 июл 10, 14:46    [9178411]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
hvlad
Member

Откуда:
Сообщений: 11636
softwarer
Правда, не очень понимаю, какое отношение эта истина имеет к конкретному случаю, где работает совсем другое зло - "дурацкие интерпретаторные синтаксические конструкции с идиотскими ограничениями на месте обычных функций".
В данном случае вы ткнули пальцем не просто мимо, а вообще не в ту сторону.
Причина этой конкретной ошибки в том, что Firebird выделяет ресурсы (в том числе память под значения параметров) на этапе препарирования запроса
(читай - компиляции). Есс-но, для параметра неизвестного типа это сделать не возможно.
Т.е. теория про "интерпретаторные синтаксические конструкции" абсолютно не верна.

Почему эта ошибка возникает именно в этом месте (аргументы встроенной ф-ции имеют известные типы) - это стоит посмотреть.
Но я даже не буду предлагать вам внести это в трекер. Вы же выше этого
Ибо не удосужились поискать ответ на этот элементарный вопрос, известный практически всем, кто работает с IB\FB
30 июл 10, 00:22    [9181744]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 68060
Блог
hvlad
В данном случае вы ткнули пальцем не просто мимо, а вообще не в ту сторону.

Ошибаетесь.

hvlad
Причина этой конкретной ошибки

В общем понятна, но совершенно неинтересна.

hvlad
Есс-но, для параметра неизвестного типа это сделать не возможно.
Т.е. теория про "интерпретаторные синтаксические конструкции" абсолютно не верна.

(зевая)

запросрезультат
select substr (code, 1, ?)работает
select в_общем_то_любая_функция (1, 2, 3, ?, 5, 6, ?, 8) работает
select substring (code from 1 for ?)не работает


Вы можете заявлять что угодно, но любому видно, что непосредственная причина этого глюка - в реализации "особой конструкции substring", не являющейся функцией. Впрочем, если хотите, можете попробовать рассказать, почему в случае substr "для параметра неизвестного типа это сделать возможно".

hvlad
Но я даже не буду предлагать вам внести это в трекер. Вы же выше этого

Ничуть. Это как раз могу, ибо усилий по воспроизведению мне в данном случае не жалко. Хотя и потребности в этом, если честно, не ощущаю - потому как не чувствую, что получил от продукта что-то хорошее, что побуждало бы сделать ответное добро.

hvlad
Ибо не удосужились поискать ответ на этот элементарный вопрос, известный практически всем, кто работает с IB\FB

Ээ... тем, кто работает с IB/FB, ответ на этот вопрос надо искать? Мне казалось, что cast очевиден любому не-идиоту. Если Вас так интересует, я проверил работу этой конструкции с cast до того, как писать на форум, но решил из профилактических соображений сделать то, что раз за разом делает Дмитрий и посмотреть, как вы отреагируете, а заодно зафиксировать на будущее багу в тривиальной корневой функциональности, дабы вспоминать её каждый раз, когда Дмитрий сумеет нагуглить очередную оракловую мелочь.
30 июл 10, 02:29    [9181842]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
hvlad
Member

Откуда:
Сообщений: 11636
softwarer,

оставляю Вам общение с Сибиряковым, очевидно что я не вписываюсь в столь высокую компанию

PS зевая, не сломайте челюсть
30 июл 10, 10:47    [9182711]     Ответить | Цитировать Сообщить модератору
 Re: Все таки Oracle впереди планеты всей!  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 55277

softwarer

дабы вспоминать её каждый раз, когда Дмитрий сумеет нагуглить очередную оракловую мелочь.

Чисто ради точности: ораклятые "мелочи" я не гуглю. Мне более чем достаточно собственного
опыта. Ну и чтения соответствующего раздела на этом форуме.

Posted via ActualForum NNTP Server 1.4

30 июл 10, 11:51    [9183317]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 8 9 10 11 12 13 14 15 16 [17]
Все форумы / Сравнение СУБД Ответить