|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
Все перечитал - ничего не нашел. Слабая надежда осталась на форум - может все-таки возможно как-то. Надо обновить параметры функций UDF без DROP/DECLARE (это очень сложно - перелапачивать все зависимости, их десятки-сотни). А именно - мне нужно только установить флаг FREE_IT у результата у нескольких ф-ций одной удфки. Для < 3.0 работал скрипт (это обновление): Код: sql 1. 2. 3. 4. 5.
Как теперь быть, не знаю. Пока не решился воротить огромный скрипт удаления/создания процедур, триггеров и вьюх - на это уйдет не один день кропотливого труда. Тем более, что, у меня всех этих данных и нет - наверно даже прогу придется писать. Может, как-то можно все-таки? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 12:14 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
вроде никак, увы. В трекер я это уже заносил, но будет ли сделано к 3.0.1 - не обещаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 12:16 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
dimitrвроде никак, увы. В трекер я это уже заносил, но будет ли сделано к 3.0.1 - не обещаю. Спасибо и на том, за надежду ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 12:26 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRockМожет, как-то можно все-таки?воспользоваться экспертом предлагать? 1. бекапишь базу (на всякий случай). 2. останавливаешь базу. 3. копируешь файл базы, он понадобится для восстановления. 4. экспертом комментаришь или дропаешь все процедуры, дропаешь триггеры, вьюхи, это несколько кликов всего. 5. правишь свои УДФки 6. компаришь тем же экспертом с файлом из пункта 3. 7. правишь скрипт после компарера (тупо выкинуть декларации УДФ). 8. накатываешь скрипт. со всеми телодвижениями на 50 гб базу и 2 тыс. процедур выпиливание УДФ ( round() ) у меня ушло час примерно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 12:35 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, Нет, не предлагать, спасибо. Это все понятно. Для переходного теста на нескольких базах я так и сделаю, ручками. Но только таких баз - несколько сотен, за 500 это точно. Размер обычно 1-4 ГБ, но единичные - и 30, и 300, и 700 ГБ. Хотя размер тут особой роли не играет. И при переходе на тройку все равно бэкап-рестор делать надо будет. Хотелось бы, чтоб апдейты отработали в штатном порядке, автоматически, после ручного бэкап-рестора. И вот понадобился такой апдейт блин. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 12:47 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRock Но только таких баз - несколько сотен, за 500 это точно. Ну так если метаданные одинаковые, тогда полученный скрипт надо последовательно запустить на этих базах данных. Или я чего-то не понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 12:54 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRockИ при переходе на тройку все равно бэкап-рестор делать надо будет. Хотелось бы, чтоб апдейты отработали в штатном порядке, автоматически, после ручного бэкап-рестора.Почему не до ? Т.е. на 2.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 12:59 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
miwaonlineНу так если метаданные одинаковые К сожалению, это не так. В базах часто бывают чужие метаданные. В основном - процедуры и вьюхи для разнообразных конфигураций 1с-ки и проч. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 13:29 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
hvladYuRockИ при переходе на тройку все равно бэкап-рестор делать надо будет. Хотелось бы, чтоб апдейты отработали в штатном порядке, автоматически, после ручного бэкап-рестора.Почему не до ? Т.е. на 2.5 Да, так подходит конечно. Только сложно объяснить, почему надо делать именно так (тем, кто будет это делать). И путаница неизбежна. Но дело даже не в этом - проблема решаема, да, таким способом. Но мне кажется, не совсем логично и красиво, когда есть (и очень давно) CREATE OR ALTER PROCEDURE, ALTER PROCEDURE, теперь есть то же для FUNCTION а для EXTERNAL FUNCTION - нет. В общем случае это не решит проблемы. Пусть сейчас я сделаю UPDATE RDB$* на старой версии и обновлючь на тройку. Где гарантия, что через год мне не понядобится такая же операция? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 13:35 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRock, как сказал ДЕ это уже есть в трекере ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 13:38 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRockНо мне кажется, не совсем логично и красивок проблеме подошли с другой стороны в 2.1: кучу УДФ впилили внутрь и оные УДФ стали тупо не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 15:31 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyYuRockНо мне кажется, не совсем логично и красивок проблеме подошли с другой стороны в 2.1: кучу УДФ впилили внутрь и оные УДФ стали тупо не нужны. И к чему эта фраза? Я должен перелопатить десятки мегабайт кода (в том числе чужого, мне не доступного ) на уборку удф? И затем потратить месяц на тестирование всего? (в том числе того, что мне не доступно) Будем говорить прямо - сколько я заработаю на этом? Если нисколько - то не вижу смысла. И как быть со специфическими удф-функциями, типа получить серию талона из номера клиента и полного номера? Или получить плотность дизтоплива при температуре 15 градусов по текущей тепмературе и текущей плотности? Эти функции тоже впилили в сервер? Предлагаю закончить флейм. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 15:48 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRockИ как быть со специфическими удф-функциями Не менять им параметры на лету не предлагать?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 16:02 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНе менять им параметры на лету не предлагать? Я им не меняю параметры на лету. Если правильно понял. В данный момент я просто изменил некоторые функции, которые работали неверно. Исправил ошибку. Для этого придется поменять параметр. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 16:22 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRockИ как быть со специфическими удф-функциями, типа получить серию талона из номера клиента и полного номера?нарушители первой нормальной формы такие затейники. :) YuRockИли получить плотность дизтоплива при температуре 15 градусов по текущей тепмературе и текущей плотности?я так полагаю это банальная таблица с несколькими сотнями записей, банальным селектом извлечь требуемый коэфф пересчета. YuRockПредлагаю закончить флеймо том и речь, есть тикет, чтобы его закрыли с более высоким приоритетом, то эту работу программиста по закрытию тикета надо кому-то оплатить. Ты согласен платить? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 16:36 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRock, я тебе один вещь скажу. Переход на новую версию это отнюдь не только backup/restore. Конечно если повезёт, то приложение может и заработает. А вот вторым этапом обычно идёт задействование новых возможностей SQL. Или ты переходишь на 3.0 только ради SMP в супере? YuRockИ как быть со специфическими удф-функциями, типа получить серию талона из номера клиента и полного номера? Или получить плотность дизтоплива при температуре 15 градусов по текущей тепмературе и текущей плотности? что-то мне кажется что это можно сделать и внутри PSQL функций, при небольшом оверхеде или даже вовсе без оного ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 16:37 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyТы согласен платить? Нет, не согласен И дальше что? Я спросил, мне ответили, что когда-нибудь это будет реализовано. Меня устраивает, спасибо. К чему дальнейшие разговоры - не понятно. Еще я сказал, почему по моему мнению это удобно и красиво. Что я не так сделал? Далее мне предлагали месяц бесплатно поработать, чтобы сделать так, чтобы просто все заработало как раньше, отлаженное и вылизанное. Я и отвечаю - спасибо, мне это не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 16:55 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
Симонов Денисчто-то мне кажется что это можно сделать и внутри PSQL функций, при небольшом оверхеде или даже вовсе без оного Судя по этому и этому реализуется все тривиально и оверхед найдет разве что Таблоид ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 16:58 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
Симонов ДенисИли ты переходишь на 3.0 только ради SMP в супере? Ну в основном да. Симонов Денисчто-то мне кажется что это можно сделать и внутри PSQL функций, при небольшом оверхеде или даже вовсе без оного Там огромные константные таблицы, формулы и т.д. Конечно, теоретически все это можно переписать на PSQL, сделав огромнейшие функции и добавив в базу десяток таблиц. Да только, опять же, зачем? Времени это займет немало, а работать лучше не станет. По быстродействию точно будет хуже. Не проверял, конечно, но уверен. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 16:59 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
miwaonline, Это советские таблицы ;) В Украине раньше эти же методы использовались. А сейчас придумали посовременнее :) - поточнее. Разброс больше в несколько сотен раз. Но дела это не меняет. Смысла переводить рабочие части программы я не вижу. К тому же, тот же код, что и в UDF, используется и в клиентских программах. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 17:04 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
YuRockmiwaonline, Это советские таблицы ;) В Украине раньше эти же методы использовались. А сейчас придумали посовременнее :) - поточнее. Разброс больше в несколько сотен раз. А ты говоришь - разговор закруглять. Вот, что-то новое для себя узнал :) YuRockНо дела это не меняет. Смысла переводить рабочие части программы я не вижу. К тому же, тот же код, что и в UDF, используется и в клиентских программах. Да никто особо не спорит (ну, я во всяком случае). Но ведь интерессно же пообсуждать чужую базу и теоретические вероятности ее переписать нахрен ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 17:09 |
|
ALTER EXTERNAL FUNCTION (параметры функции) в 3.0
|
|||
---|---|---|---|
#18+
miwaonlineСимонов Денисчто-то мне кажется что это можно сделать и внутри PSQL функций, при небольшом оверхеде или даже вовсе без оного Судя по этому и этому реализуется все тривиально и оверхед найдет разве что Таблоид ну если реально использовать затабулированные данные, то не уверен, что только Таблоид. Я вообще-то предполагал, что там просто формула какая-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2016, 17:16 |
|
|
start [/forum/topic.php?fid=40&fpage=60&tid=1562187]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 263ms |
total: | 403ms |
0 / 0 |