Встроенные функции FB2.1.1

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Встроенные функции FB2.1.1

Сообщение SAMZ » 03 авг 2008, 11:41

Коллеги!
Воник вопрос при переходе на FB2.1.1
В БД ранее использовал ascii_char из ib_udf. В FB2.1.1 имеется такая же встроенная функция и, естесственно, появилось желание использовать ее вместо UDF- ной версии.
1. Попытпался закоментарить все зависимости от ascii_char и удалить функцию, но не получилось.
2. Попытался зарегистрировать туже UDF- функцию под другим именем, затем удалить исходный вариант, но тоже не получается.
На все попытки удаления
DROP EXTERNAL FUNCTION ASCII_CHAR

сервер отвечает
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 24.
ASCII_CHAR.

Вопрос:
1. Как в таких случаях организовать переход к использованию встроенной функции
2. А м.б. этого и делать не надо

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 03 авг 2008, 14:24

DROP EXTERNAL FUNCTION "ASCII_CHAR"

SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Сообщение SAMZ » 03 авг 2008, 14:33

Вдогонку сформировался еше один вопрос по встроенным функциям
Пытаюсь использовать dateadd. Функция очень даже полезная и заменяет несколько из ib_udf
Проверяем на запросе
select * from chel_u2case c
where C.entrydate > dateadd(-16 day to :D)
Работает корректно, без проблем

Всталяем запрос в ХП.

Код: Выделить всё

CREATE OR ALTER PROCEDURE TMP (
    d timestamp)
returns (
    id integer,
    god integer,
    number integer)
as
begin
  for select C.id from chel_u2case c
  where (C.entrydate > dateadd(-16 day to :D))
  into :ID do suspend;
end
При компиляции сообщение об ошибке
Parsing error

При этом ХП работает и выдает корректные результаты запросов

SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Сообщение SAMZ » 03 авг 2008, 15:02

hvlad писал(а):DROP EXTERNAL FUNCTION "ASCII_CHAR"
ПРАВ абсолютно, я должен был догадаться сам.

SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Сообщение SAMZ » 03 авг 2008, 15:05

SAMZ писал(а):Вдогонку сформировался еше один вопрос по встроенным функциям
Попытался сделать то же через isql оператором
input 'tmp.sql'

Все выполняется без проблем. Похоже, это проблемы IBExpert

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 03 авг 2008, 16:17

SAMZ писал(а):При компиляции сообщение об ошибке
Parsing error
Это предупреждение ИБЕ

Tonal
Сообщения: 104
Зарегистрирован: 30 сен 2007, 13:42

Сообщение Tonal » 04 авг 2008, 07:58

В регистрационной инфе ТБЕ выставил что сервер 2.1?

SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Сообщение SAMZ » 05 авг 2008, 19:09

hvlad писал(а):
SAMZ писал(а):При компиляции сообщение об ошибке
Parsing error
Это предупреждение ИБЕ
Если кому-то это интересно, после обновления IBExpert до версии 2008.7.29.0 проблема исчезла.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 05 авг 2008, 19:28

интересно, кому это может быть интересно, а ? :)

SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Сообщение SAMZ » 05 авг 2008, 20:17

kdv писал(а):интересно, кому это может быть интересно, а ? :)
Так м.б. все уже знают и я последний узнал :cry:

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 05 авг 2008, 21:10

Так м.б. все уже знают и я последний узнал
это просто означает, что ты не отличаешь ошибки ФБ от ошибок софта, вот и все. Читать сообщения надо внимательнее. Я не думаю, что Хвастунов выдавая сообщения об ошибках в ИБЕ подделывает сообщения об ошибках ФБ.

Ответить