Форум: "Прочее";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];
ВнизUDF на Delphi, FireBird и NULL Найти похожие ветки
← →
Компромисс1 (2013-04-12 16:11) [40]ПЛОВ
В firebird есть какие-то "драйвера", которые можно обновить? Может, этот баг пофиксили уже?
← →
ПЛОВ © (2013-04-12 16:12) [41]
> Далла Пиккола (12.04.13 16:08) [38]
Так он и работает как надо на первом значении. Фактически эта проверка сведется к result:=valdouble^ где в качестве valdouble будет указатель на double. Думаю, это уже очень давно работает :)
← →
ПЛОВ © (2013-04-12 16:14) [42]
> В firebird есть какие-то "драйвера", которые можно обновить?
> Может, этот баг пофиксили уже?
Сейчас проверю. Я юзаю Embedded версию, 2.5 которая.
Но точно ли это баг? Может я просто недопонял чего-то...
← →
Компромисс1 (2013-04-12 16:20) [43]
> Но точно ли это баг? Может я просто недопонял чего-то...
Тебе лучше знать. Я с твоих слов об эксперименте с едиснтвенным параметром сужу, сам ничего не видел :)
Попробуй сделать вторым параметром int, убедись, что работает. Попробуй сделать 4 параметра: double, int, double, int. У меня идей много :)
← →
Далла Пиккола (2013-04-12 23:34) [44]Интересно узнать, чем закончилась история.
← →
Далла Пиккола (2013-04-13 04:09) [45]Честно говоря, если бы у меня стояла задача обработать NULL, имея в распоряжении уже готовую обычную UDF, я бы сделал так:
select case when a is null or b is null then null else myudf(a,b) end
from mytable
и не мучился.
← →
Inovet © (2013-04-13 04:57) [46]> [45] Далла Пиккола (13.04.13 04:09)
В функции всё может быть, может и вообще результат не из таблицы возвращать.
← →
ПЛОВ © (2013-04-13 11:36) [47]Та ничем не закончилась история. Два Int-а передаются без проблем. Любой Double идущее не на первом месте нечитаемо... Даже не знаю что делать...
← →
Далла Пиккола (2013-04-13 11:40) [48]Проблема, если я не ошибаюсь, была всего лишь в передаче NULL. Все остальное устраивало. И судя по коду, который засунут в UDF, прежде всего проверяется именно это условие, и сразу возвращается NULL, если хотя бы один из параметров не определен. На мой взгляд все, что можно без потери скорости и ясности кода сделать средствами SQL, лучше делать средствами SQL.
← →
Далла Пиккола (2013-04-13 11:42) [49]А чем не устраивает Далла Пиккола (13.04.13 04:09) [45] ?
Один case и дело с концом.
А с BY DESCRIPTOR дальше можно сидеть и спокойно разбираться из спортивного интереса.
← →
ПЛОВ © (2013-04-13 12:01) [50]Я пока сделал по другому. Немного неправильно но для 90% случаев будет достаточно. А к тому времени может допилят этот баг.
← →
Далла Пиккола (2013-04-13 12:49) [51]Баг действительно странный.
Размер структуры всегда одинаков, сама величина лежит отдельно, по ссылке. Почему "второй int" проходит, а "второй double" нет, тут можно встать в ступор.
← →
Далла Пиккола (2013-04-13 12:51) [52]А может это иллюзия, что "первый double" проходит?
← →
ПЛОВ © (2013-04-13 14:52) [53]Нет, проходит именно введенное мной значение. Все сделано по вроде бы рабочим примерам, других я не нашел. Видимо - баг ФБ.
← →
Inovet © (2013-04-13 16:27) [54]Под дебагером глянуть?
← →
ПЛОВ © (2013-04-15 09:25) [55]
> Inovet © (13.04.13 16:27) [54]
Ну а я ж как смотрел то :)
← →
Компромисс1 (2013-04-15 12:35) [56]Я не нашел подобного бага на http://tracker.firebirdsql.org/secure/Dashboard.jspa
Если есть время, можешь создать тикет. Вдруг исправят или укажут ошибку :)
← →
Inovet © (2013-04-15 16:20) [57]> [55] ПЛОВ © (15.04.13 09:25)
> Ну а я ж как смотрел то :)
Я про глубже посмотреть - как оно там лежит, что там в DLL возвращается, т.е. не просто переменные посмотерть. Смотрел?
← →
ПЛОВ © (2013-04-16 12:09) [58]
> Я про глубже посмотреть - как оно там лежит, что там в DLL
> возвращается, т.е. не просто переменные посмотерть. Смотрел?
Глубже не смотрел. А где можно глянуть точное описание представления данных в таких форматах? Т.е. допустим я получу сами байты, как их потом перевести в число?
← →
Компромисс1 (2013-04-16 12:20) [59]Попробуй передавать в виде double precision параметров нули. Вроде в бинарном представлении одни нули должны быть, и в мантиссе, и в порядке.
← →
Inovet © (2013-04-16 12:22) [60]> [58] ПЛОВ © (16.04.13 12:09)
> А где можно глянуть точное описание представления данных в таких форматах?
Так это в стандарте где-то. Я вот в Вики сразу ткнулся, там дльше можно найти. Может и в хелпе где есть.
http://ru.wikipedia.org/wiki/IEEE_754
← →
ПЛОВ © (2013-04-16 21:54) [61]Спасибо за информацию, даже себе скопировал :) Поковыряю как будет время. И желание...
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.004 c