powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
22 сообщений из 22, страница 1 из 1
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229746
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все перечитал - ничего не нашел.
Слабая надежда осталась на форум - может все-таки возможно как-то.

Надо обновить параметры функций UDF без DROP/DECLARE (это очень сложно - перелапачивать все зависимости, их десятки-сотни). А именно - мне нужно только установить флаг FREE_IT у результата у нескольких ф-ций одной удфки.

Для < 3.0 работал скрипт (это обновление):
Код: sql
1.
2.
3.
4.
5.
UPDATE RDB$FUNCTION_ARGUMENTS R
SET R.RDB$MECHANISM = -1
WHERE R.RDB$ARGUMENT_POSITION = 0
  AND R.RDB$FIELD_TYPE IN ( 35, 40 )
  AND...



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

Может, как-то можно все-таки?
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229752
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде никак, увы. В трекер я это уже заносил, но будет ли сделано к 3.0.1 - не обещаю.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229766
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrвроде никак, увы. В трекер я это уже заносил, но будет ли сделано к 3.0.1 - не обещаю.
Спасибо и на том, за надежду ;)
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229779
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockМожет, как-то можно все-таки?воспользоваться экспертом предлагать?

1. бекапишь базу (на всякий случай).
2. останавливаешь базу.
3. копируешь файл базы, он понадобится для восстановления.
4. экспертом комментаришь или дропаешь все процедуры, дропаешь триггеры, вьюхи, это несколько кликов всего.
5. правишь свои УДФки
6. компаришь тем же экспертом с файлом из пункта 3.
7. правишь скрипт после компарера (тупо выкинуть декларации УДФ).
8. накатываешь скрипт.

со всеми телодвижениями на 50 гб базу и 2 тыс. процедур выпиливание УДФ ( round() ) у меня ушло час примерно.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229795
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

Нет, не предлагать, спасибо. Это все понятно. Для переходного теста на нескольких базах я так и сделаю, ручками.

Но только таких баз - несколько сотен, за 500 это точно. Размер обычно 1-4 ГБ, но единичные - и 30, и 300, и 700 ГБ. Хотя размер тут особой роли не играет. И при переходе на тройку все равно бэкап-рестор делать надо будет. Хотелось бы, чтоб апдейты отработали в штатном порядке, автоматически, после ручного бэкап-рестора. И вот понадобился такой апдейт блин.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229804
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Но только таких баз - несколько сотен, за 500 это точно.
Ну так если метаданные одинаковые, тогда полученный скрипт надо последовательно запустить на этих базах данных. Или я чего-то не понимаю.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229815
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockИ при переходе на тройку все равно бэкап-рестор делать надо будет. Хотелось бы, чтоб апдейты отработали в штатном порядке, автоматически, после ручного бэкап-рестора.Почему не до ? Т.е. на 2.5
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229851
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineНу так если метаданные одинаковые
К сожалению, это не так. В базах часто бывают чужие метаданные. В основном - процедуры и вьюхи для разнообразных конфигураций 1с-ки и проч.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229859
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladYuRockИ при переходе на тройку все равно бэкап-рестор делать надо будет. Хотелось бы, чтоб апдейты отработали в штатном порядке, автоматически, после ручного бэкап-рестора.Почему не до ? Т.е. на 2.5
Да, так подходит конечно.
Только сложно объяснить, почему надо делать именно так (тем, кто будет это делать). И путаница неизбежна.
Но дело даже не в этом - проблема решаема, да, таким способом.

Но мне кажется, не совсем логично и красиво, когда есть (и очень давно) CREATE OR ALTER PROCEDURE, ALTER PROCEDURE,
теперь есть то же для FUNCTION
а для EXTERNAL FUNCTION - нет.

В общем случае это не решит проблемы. Пусть сейчас я сделаю UPDATE RDB$* на старой версии и обновлючь на тройку. Где гарантия, что через год мне не понядобится такая же операция?
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39229866
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

как сказал ДЕ это уже есть в трекере
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230005
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockНо мне кажется, не совсем логично и красивок проблеме подошли с другой стороны в 2.1:
кучу УДФ впилили внутрь и оные УДФ стали тупо не нужны.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230036
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyYuRockНо мне кажется, не совсем логично и красивок проблеме подошли с другой стороны в 2.1:
кучу УДФ впилили внутрь и оные УДФ стали тупо не нужны.
И к чему эта фраза?
Я должен перелопатить десятки мегабайт кода (в том числе чужого, мне не доступного ) на уборку удф?
И затем потратить месяц на тестирование всего? (в том числе того, что мне не доступно)
Будем говорить прямо - сколько я заработаю на этом? Если нисколько - то не вижу смысла.

И как быть со специфическими удф-функциями, типа получить серию талона из номера клиента и полного номера?
Или получить плотность дизтоплива при температуре 15 градусов по текущей тепмературе и текущей плотности?
Эти функции тоже впилили в сервер?

Предлагаю закончить флейм.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230049
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockИ как быть со специфическими удф-функциями
Не менять им параметры на лету не предлагать?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230076
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНе менять им параметры на лету не предлагать?
Я им не меняю параметры на лету. Если правильно понял.
В данный момент я просто изменил некоторые функции, которые работали неверно. Исправил ошибку. Для этого придется поменять параметр.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230112
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockИ как быть со специфическими удф-функциями, типа получить серию талона из номера клиента и полного номера?нарушители первой нормальной формы такие затейники. :)
YuRockИли получить плотность дизтоплива при температуре 15 градусов по текущей тепмературе и текущей плотности?я так полагаю это банальная таблица с несколькими сотнями записей, банальным селектом извлечь требуемый коэфф пересчета.
YuRockПредлагаю закончить флеймо том и речь, есть тикет, чтобы его закрыли с более высоким приоритетом, то эту работу программиста по закрытию тикета надо кому-то оплатить. Ты согласен платить?
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230116
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

я тебе один вещь скажу. Переход на новую версию это отнюдь не только backup/restore. Конечно если повезёт, то приложение может и заработает. А вот вторым этапом обычно идёт задействование новых возможностей SQL. Или ты переходишь на 3.0 только ради SMP в супере?

YuRockИ как быть со специфическими удф-функциями, типа получить серию талона из номера клиента и полного номера?
Или получить плотность дизтоплива при температуре 15 градусов по текущей тепмературе и текущей плотности?

что-то мне кажется что это можно сделать и внутри PSQL функций, при небольшом оверхеде или даже вовсе без оного
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230160
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyТы согласен платить?
Нет, не согласен
И дальше что? Я спросил, мне ответили, что когда-нибудь это будет реализовано. Меня устраивает, спасибо. К чему дальнейшие разговоры - не понятно.

Еще я сказал, почему по моему мнению это удобно и красиво. Что я не так сделал?

Далее мне предлагали месяц бесплатно поработать, чтобы сделать так, чтобы просто все заработало как раньше, отлаженное и вылизанное. Я и отвечаю - спасибо, мне это не надо.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230165
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисчто-то мне кажется что это можно сделать и внутри PSQL функций, при небольшом оверхеде или даже вовсе без оного
Судя по этому и этому реализуется все тривиально и оверхед найдет разве что Таблоид
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230166
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисИли ты переходишь на 3.0 только ради SMP в супере?
Ну в основном да.
Симонов Денисчто-то мне кажется что это можно сделать и внутри PSQL функций, при небольшом оверхеде или даже вовсе без оного
Там огромные константные таблицы, формулы и т.д.
Конечно, теоретически все это можно переписать на PSQL, сделав огромнейшие функции и добавив в базу десяток таблиц. Да только, опять же, зачем? Времени это займет немало, а работать лучше не станет. По быстродействию точно будет хуже. Не проверял, конечно, но уверен.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230174
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonline,

Это советские таблицы ;)
В Украине раньше эти же методы использовались. А сейчас придумали посовременнее :) - поточнее. Разброс больше в несколько сотен раз.

Но дела это не меняет. Смысла переводить рабочие части программы я не вижу.
К тому же, тот же код, что и в UDF, используется и в клиентских программах.
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230182
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockmiwaonline,

Это советские таблицы ;)
В Украине раньше эти же методы использовались. А сейчас придумали посовременнее :) - поточнее. Разброс больше в несколько сотен раз.

А ты говоришь - разговор закруглять. Вот, что-то новое для себя узнал :)
YuRockНо дела это не меняет. Смысла переводить рабочие части программы я не вижу.
К тому же, тот же код, что и в UDF, используется и в клиентских программах.
Да никто особо не спорит (ну, я во всяком случае). Но ведь интерессно же пообсуждать чужую базу и теоретические вероятности ее переписать нахрен
...
Рейтинг: 0 / 0
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
    #39230191
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineСимонов Денисчто-то мне кажется что это можно сделать и внутри PSQL функций, при небольшом оверхеде или даже вовсе без оного
Судя по этому и этому реализуется все тривиально и оверхед найдет разве что Таблоид

ну если реально использовать затабулированные данные, то не уверен, что только Таблоид. Я вообще-то предполагал, что там просто формула какая-то.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]