powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
25 сообщений из 144, страница 3 из 6
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242552
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно сделать олдскульно и (раз уж скрипт создания всех процедур в БД всё равно хранится
в СКВ) поправить сразу все процедуры как надо, а потом тупо прогнать последовательно два
скрипта: полного их сноса и создания.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242559
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockEugeneBar"В старых" версиях обычным способом было комментирование всего текста процедуры a, изменение процедуры b и раскомментирование обратно
В FB, если не ошибаюсь с 2.0, можно не заморачиваться и сделать сразу
CREATE OR ALTER PROCEDURE b (с новыми параметрами) - ошибки зависимостей не будет. Будет просто неправильный blr у процедуры "a".
и потом CREATE OR ALTER PROCEDURE a (которая использует "b" уже с новыми параметрами).
И не надо ничего комментировать, заменять, потом раскомментировать...

Однако, да.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242562
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarТеперь нужно добавлять suspend в конце, чтобы закомментированная процедура не была пустой. Потом не забыть его убрать. Так и предполагается делать или предполагается другой способ?
Ты же сам ответил на свой вопрос в начальном посте!
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SET TERM ^;
CREATE OR ALTER PROCEDURE A
  RETURNS
  (
    ID INTEGER
  )
AS
BEGIN
  IF (1 = 0) THEN SUSPEND;
END^
SET TERM ;^


Что мешает тебе скачать свежий IBExpert, залезть в "Настройки"->"Общие шаблоны"->"New trigger" и добавить в тело шаблона триггера строку "IF (1=0) THEN SUSPEND;"? Эту строку, впоследствии, даже не обязательно комментировать.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242565
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev и добавить в тело шаблона триггера
НЕТ!
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242567
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД, ну промахнулся! Бывает... Не триггера, конечно, а процедуры.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242568
EugeneBar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторCREATE OR ALTER PROCEDURE b (с новыми параметрами) - ошибки зависимостей не будет. Будет просто неправильный blr у процедуры "a".

Кстати да. С одной стороны - как бы удобно. С другой - дикий источник ошибок. Особенно для тех, кто привык к проверке параметров. Правда, тут ноги растут скорее всего раньше, чем с 2.0. Я проверил на 1.5 и с удивлением обнаружил, что он тоже дает это сделать.

Думаю, что это скорее жирный минус, чем плюс. Если раньше контролировал сам сервер, то теперь это должен делать программист. Ну или сторонние утилиты, вроде IBExpert-а.

Угу, они давно уже открыли для себя execute block.

Неужели и процедуры перестали использовать? Одни сплошные блоки?

СУБД обновить решился,

Не решился. Все это тесты и пробы.. Перед тем как ставить "людям" проверять и проверять.. С возможностью вернуться назад, если глюки попрут.

У древнего IBExpert есть одна фича - возможность выполнять alter procedure в скрипт-execute когда есть коннекты, ее использующие, и по идее такой альтер должен выдавать ошибку. С какого то момента, очень давно, автор посчитал эту фичу багом и исправил.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242570
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarВозникает вопрос по "видению ситуации". Вот, скажем, одна процедура a делает select из процедуры b и сама возвращает данные. И нам оказывается добавить входной параметр в процедуру b. "В старых" версиях обычным способом было комментирование всего текста процедуры a, изменение процедуры b и раскомментирование обратно. Теперь нужно добавлять suspend в конце, чтобы закомментированная процедура не была пустой. Потом не забыть его убрать. Так и предполагается делать или предполагается другой способ?

таки есть другой способ
добавить параметр в конец списка входных параметров и дать ему значение по умолчанию
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242571
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrНет саспенда - нехер селектить.
В те времена warning-и вроде как ещё не изобрели. Может, сейчас стоит разжаловать это
сообщение из ошибок?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242574
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 24 мая 2016 г. 17:34:30:

Dimitry Sibiryakov> В те времена warning-и вроде как ещё не изобрели.ошибаешься

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242576
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, лично мне эта ошибка периодически помогает, когда забываю в селективной процедуре поставить suspend - выборку напишу, а suspend забуду.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242578
EugeneBar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, насчет изменения параметров процедуры без удаления ссылок на нее из других процедур.

Да, так делать можно в смысле что сервер это пропускает.

Но может так делать нельзя? Может это ведет к глюкам, ошибкам, порче базы да и вообще к чему угодно? Мало ли чего сервер пропускает сделать.. Вон, запрос времени по стандартной фиче из FIBPlus-а через клиент от пятерки к серверу просто рушит этот сервер. Причем все компилируется, а галочка по умолчанию стоит. Тут как на минном поле..

Если так делать можно, то пусть разработчик официально скажет - да, это допустимый путь.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242580
EugeneBar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор лично мне эта ошибка периодически помогает, когда забываю в селективной процедуре поставить suspend - выборку напишу, а suspend забуду.

Очевидно, что ты не пишешь даже минимально не то что сложных - а просто объемных процедур. Если бы писал - привык бы не забывать. Так как там много чего можно забыть.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242581
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarВсе это тесты и пробы.. Перед тем как ставить "людям" проверять и
проверять.. С возможностью вернуться назад, если глюки попрут.
Опытные и осторожные люди такой переход делают не скачком, пусть даже с пробами, а
постепенным переводом пользователей с одного сервера (где крутится старая версия) на
другой (где уже новая).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242582
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarДумаю, что это скорее жирный минус, чем плюс. Если раньше контролировал сам сервер, то теперь это должен делать программист.
Хотите, чтобы контролировал сервер - используйте RECREATE PROCEDURE - и будет вам контроль и ошибка.

У меня скрипт procs.sql выполняется при каждом обновлении базы - там все процедуры проекта. Все CREATE OR ALTER. Т.ч. ничего не забывается никогда - все перезоздаются обязательно, и если ошибка - ругается уже при перекомпиляции зависимых процедур.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242583
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarавтор лично мне эта ошибка периодически помогает, когда забываю в селективной процедуре поставить suspend - выборку напишу, а suspend забуду.

Очевидно, что ты не пишешь даже минимально не то что сложных - а просто объемных процедур. Если бы писал - привык бы не забывать. Так как там много чего можно забыть.

А вдруг и тебе случится писать несложные и не объемные процедуры? Сразу забудешь.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242584
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarЕсли так делать можно, то пусть разработчик официально скажет
Он об этом уже сказал в release notes
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242588
EugeneBar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторОпытные и осторожные люди такой переход делают не скачком, пусть даже с пробами, а
постепенным переводом пользователей с одного сервера (где крутится старая версия) на
другой (где уже новая).

Как ты себе это представляешь? На одном предприятии. Репликацию между двумя базами делать только ради этого что ли?
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242589
EugeneBar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторОн об этом уже сказал в release notes

Ссылочку, номер страницы.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242590
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarавторОн об этом уже сказал в release notes

Ссылочку, номер страницы.
100$
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242591
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarРепликацию между двумя базами делать только ради этого что ли?
Да. В чём проблема-то? Если БД спроектирована вменяемо, это займёт меньше времени чем
данный топик.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242597
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBarНо может так делать нельзя? Может это ведет к глюкам, ошибкам, порче базы да и вообще к чему угодно?
можно. Ведет это к инвалидации зависимостей. Что можно проверить и исправить.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242601
EugeneBar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock , не подаю.

(ирония)
Dimitry Sibiryakov, короче надо дать вам 100 000 баксов и вы за пару дней сделаете репликацию базы с 300 таблицами, 800 процедурами, при этом гарантируете ее правильную работу и отсутствие каких-либо глюков - чтобы было точно известно - любой глюк от новой версии сервера, а не от сбацаной наспех репликации.. Тупо, конечно, спроектировано. Надо было парой тройкой таблиц обойтись и вообще хранимые процедуры не создавать. А то и вообще хранить все в одной таблице. В блобах. (/ирония)
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242604
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EugeneBar,

С жалкими 300 таблицами и 800 процедурами, я думаю, Дмитрий и дешевле согласится.
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242609
EugeneBar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimitr, есть ли какие-то стандартные средства проверки некорректности зависимостей или это надо делать вручную либо с использованием сторонних утилит?

Ну вроде какой-нибудь команды check procedures или ключа у какого-нибудь gfix?
...
Рейтинг: 0 / 0
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
    #39242612
EugeneBar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSery, какой вы занятный человек - за всех думаете, за всех отвечаете..
...
Рейтинг: 0 / 0
25 сообщений из 144, страница 3 из 6
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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