|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
А можно сделать олдскульно и (раз уж скрипт создания всех процедур в БД всё равно хранится в СКВ) поправить сразу все процедуры как надо, а потом тупо прогнать последовательно два скрипта: полного их сноса и создания. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:18 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
YuRockEugeneBar"В старых" версиях обычным способом было комментирование всего текста процедуры a, изменение процедуры b и раскомментирование обратно В FB, если не ошибаюсь с 2.0, можно не заморачиваться и сделать сразу CREATE OR ALTER PROCEDURE b (с новыми параметрами) - ошибки зависимостей не будет. Будет просто неправильный blr у процедуры "a". и потом CREATE OR ALTER PROCEDURE a (которая использует "b" уже с новыми параметрами). И не надо ничего комментировать, заменять, потом раскомментировать... Однако, да. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:23 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarТеперь нужно добавлять suspend в конце, чтобы закомментированная процедура не была пустой. Потом не забыть его убрать. Так и предполагается делать или предполагается другой способ? Ты же сам ответил на свой вопрос в начальном посте! Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Что мешает тебе скачать свежий IBExpert, залезть в "Настройки"->"Общие шаблоны"->"New trigger" и добавить в тело шаблона триггера строку "IF (1=0) THEN SUSPEND;"? Эту строку, впоследствии, даже не обязательно комментировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:25 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
rdb_dev и добавить в тело шаблона триггера НЕТ! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:27 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
чччД, ну промахнулся! Бывает... Не триггера, конечно, а процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:29 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
авторCREATE OR ALTER PROCEDURE b (с новыми параметрами) - ошибки зависимостей не будет. Будет просто неправильный blr у процедуры "a". Кстати да. С одной стороны - как бы удобно. С другой - дикий источник ошибок. Особенно для тех, кто привык к проверке параметров. Правда, тут ноги растут скорее всего раньше, чем с 2.0. Я проверил на 1.5 и с удивлением обнаружил, что он тоже дает это сделать. Думаю, что это скорее жирный минус, чем плюс. Если раньше контролировал сам сервер, то теперь это должен делать программист. Ну или сторонние утилиты, вроде IBExpert-а. Угу, они давно уже открыли для себя execute block. Неужели и процедуры перестали использовать? Одни сплошные блоки? СУБД обновить решился, Не решился. Все это тесты и пробы.. Перед тем как ставить "людям" проверять и проверять.. С возможностью вернуться назад, если глюки попрут. У древнего IBExpert есть одна фича - возможность выполнять alter procedure в скрипт-execute когда есть коннекты, ее использующие, и по идее такой альтер должен выдавать ошибку. С какого то момента, очень давно, автор посчитал эту фичу багом и исправил. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:30 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarВозникает вопрос по "видению ситуации". Вот, скажем, одна процедура a делает select из процедуры b и сама возвращает данные. И нам оказывается добавить входной параметр в процедуру b. "В старых" версиях обычным способом было комментирование всего текста процедуры a, изменение процедуры b и раскомментирование обратно. Теперь нужно добавлять suspend в конце, чтобы закомментированная процедура не была пустой. Потом не забыть его убрать. Так и предполагается делать или предполагается другой способ? таки есть другой способ добавить параметр в конец списка входных параметров и дать ему значение по умолчанию ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:31 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
dimitrНет саспенда - нехер селектить. В те времена warning-и вроде как ещё не изобрели. Может, сейчас стоит разжаловать это сообщение из ошибок?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:32 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
Hello, Dimitry Sibiryakov! You wrote on 24 мая 2016 г. 17:34:30: Dimitry Sibiryakov> В те времена warning-и вроде как ещё не изобрели.ошибаешься Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:34 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, лично мне эта ошибка периодически помогает, когда забываю в селективной процедуре поставить suspend - выборку напишу, а suspend забуду. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:36 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
Кстати, насчет изменения параметров процедуры без удаления ссылок на нее из других процедур. Да, так делать можно в смысле что сервер это пропускает. Но может так делать нельзя? Может это ведет к глюкам, ошибкам, порче базы да и вообще к чему угодно? Мало ли чего сервер пропускает сделать.. Вон, запрос времени по стандартной фиче из FIBPlus-а через клиент от пятерки к серверу просто рушит этот сервер. Причем все компилируется, а галочка по умолчанию стоит. Тут как на минном поле.. Если так делать можно, то пусть разработчик официально скажет - да, это допустимый путь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:36 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
автор лично мне эта ошибка периодически помогает, когда забываю в селективной процедуре поставить suspend - выборку напишу, а suspend забуду. Очевидно, что ты не пишешь даже минимально не то что сложных - а просто объемных процедур. Если бы писал - привык бы не забывать. Так как там много чего можно забыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:38 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarВсе это тесты и пробы.. Перед тем как ставить "людям" проверять и проверять.. С возможностью вернуться назад, если глюки попрут. Опытные и осторожные люди такой переход делают не скачком, пусть даже с пробами, а постепенным переводом пользователей с одного сервера (где крутится старая версия) на другой (где уже новая). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:40 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarДумаю, что это скорее жирный минус, чем плюс. Если раньше контролировал сам сервер, то теперь это должен делать программист. Хотите, чтобы контролировал сервер - используйте RECREATE PROCEDURE - и будет вам контроль и ошибка. У меня скрипт procs.sql выполняется при каждом обновлении базы - там все процедуры проекта. Все CREATE OR ALTER. Т.ч. ничего не забывается никогда - все перезоздаются обязательно, и если ошибка - ругается уже при перекомпиляции зависимых процедур. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:41 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarавтор лично мне эта ошибка периодически помогает, когда забываю в селективной процедуре поставить suspend - выборку напишу, а suspend забуду. Очевидно, что ты не пишешь даже минимально не то что сложных - а просто объемных процедур. Если бы писал - привык бы не забывать. Так как там много чего можно забыть. А вдруг и тебе случится писать несложные и не объемные процедуры? Сразу забудешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:42 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarЕсли так делать можно, то пусть разработчик официально скажет Он об этом уже сказал в release notes ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:42 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
авторОпытные и осторожные люди такой переход делают не скачком, пусть даже с пробами, а постепенным переводом пользователей с одного сервера (где крутится старая версия) на другой (где уже новая). Как ты себе это представляешь? На одном предприятии. Репликацию между двумя базами делать только ради этого что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:46 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
авторОн об этом уже сказал в release notes Ссылочку, номер страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:46 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarавторОн об этом уже сказал в release notes Ссылочку, номер страницы. 100$ ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:47 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarРепликацию между двумя базами делать только ради этого что ли? Да. В чём проблема-то? Если БД спроектирована вменяемо, это займёт меньше времени чем данный топик. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:48 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBarНо может так делать нельзя? Может это ведет к глюкам, ошибкам, порче базы да и вообще к чему угодно? можно. Ведет это к инвалидации зависимостей. Что можно проверить и исправить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:54 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
YuRock , не подаю. (ирония) Dimitry Sibiryakov, короче надо дать вам 100 000 баксов и вы за пару дней сделаете репликацию базы с 300 таблицами, 800 процедурами, при этом гарантируете ее правильную работу и отсутствие каких-либо глюков - чтобы было точно известно - любой глюк от новой версии сервера, а не от сбацаной наспех репликации.. Тупо, конечно, спроектировано. Надо было парой тройкой таблиц обойтись и вообще хранимые процедуры не создавать. А то и вообще хранить все в одной таблице. В блобах. (/ирония) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:57 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
EugeneBar, С жалкими 300 таблицами и 800 процедурами, я думаю, Дмитрий и дешевле согласится. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 18:00 |
|
Знакомство с Firebird 2.5 - и сразу маразм с запретом select из пустых процедур
|
|||
---|---|---|---|
#18+
dimitr, есть ли какие-то стандартные средства проверки некорректности зависимостей или это надо делать вручную либо с использованием сторонних утилит? Ну вроде какой-нибудь команды check procedures или ключа у какого-нибудь gfix? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 18:02 |
|
|
start [/forum/topic.php?fid=40&msg=39242583&tid=1562162]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 182ms |
0 / 0 |