|
Comparer - View
|
|||
---|---|---|---|
#18+
Когда меняю вьюху, в дифф скрипте идет пара команд сначала дроп, потом крейт ор альтер. Зачем там дроп? попытка дропнуть вьюху приводит к тому, что еще кучу метаданных надо перетряхнуть. А если я вдруг где-то забыл селект из вьюхи закоммитить, то дропнуть вообще нельзя. Почему не просто альтер? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 17:23 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Потому что ALTER VIEW только в 2.5 появился. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2014, 09:43 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpert, а нельзя добавить в опции компарера галку типа "use ALTER VIEW instead drop/create view" и разрешить ее для 2.5 и выше? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2014, 12:28 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpertПотому что ALTER VIEW только в 2.5 появился.слезно просимо фичу, если 2.5 то по-умолчанию не дропать бедную вьюху перед альтером. Опционально так себя или всегда не знаю как лучше, наверно тебе видней. mvbв опции компарераИ чтобы оно работало в том числе и через ibescript.dll было бы вообще супер. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2014, 21:43 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
А что, ALTER VIEW во всех случаях срабатывает? Даже когда вьюха используется в процедуре, например, и в результате ALTER изменяется количество полей, возвращаемых вьюхой, или их тип? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 11:05 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpertА что, ALTER VIEW во всех случаях срабатывает?Я этого не утверждал. И не требую чтобы альтер срабатывал ВСЕГДА, я в курсе, что метаданные надо менять монопольно. Вопрос был про дроп, который сильно раздувает дифф скрипт. Частое, относительно остальных изменений, это добавление полей и изменение внутренней логики вьюхи, без уменьшения выходных параметров или изменения их типов. Уже несколько раз сталкивался, что применение штатного дифф-а приводит к перекомпиляции кучи хранимок, тогда как применение руками одного альтера вполне решает задачу и ничего не надо перетряхивать. Убирание дроп-а приведет к усложению дифф скрипта? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 14:33 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyУбирание дроп-а приведет к усложению дифф скрипта? Я ж не зря спрашиваю, в любом ли случае сработает ALTER VIEW? Если он срабатывает не всегда, то как я должен определять, когда ALTER VIEW использовать, а когда нужно сначала подропать все зависимости?? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 16:11 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Надо провести изыскания, бум ставить эксперимент. Пока что альтера хватало, вьюх не так много, я их разносил руками(когда ленился уводить базы приемники в шатдаун, только выгонял юзеров из соотв. АРМа), потом обычным (подзывая экпертовскую либу) компарером. Может как вариант, когда я начинаю компарить 2 базы у меня в источнике вполне консистентые метаданные, те хранимки, которые зависят от вьюхи и попадают в дифф сначала сделать вида begin suspend(exit);end ты это уже умеешь в других случаях, потом проальтерить вьюху, потом уже новыми телами процедуры. Если более формально: 1. находим изменившуюся вьюху. 2. находим изменившиеся хранимки, с депенденсами от этой самой вьюхи. 3. зачищаем текст хранимок 4. альтер вьюхи 5. заливаем текст хранимок. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 21:59 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyЕсли более формально: 1. находим изменившуюся вьюху. 2. находим изменившиеся хранимки, с депенденсами от этой самой вьюхи. 3. зачищаем текст хранимок 4. альтер вьюхи 5. заливаем текст хранимок. Ну и чем это по сути отличается от того, что есть сейчас? Вместо ALTER делается DROP и CREATE, а все остальное не меняется. Про незакомиченный селект из вьюхи не будем: предполагается, что скрипт накатывается на базу в монопольном режиме. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2014, 15:38 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpertНу и чем это по сути отличается от того, что есть сейчас? 1. Не трогаем те хранимки, которые не менялись в источнике. 2. Нет дроп-а вьюхи. По первому пункту разница в дифф скрипте довольно значительна по объему. IBExpertПро незакомиченный селект из вьюхи не будем: предполагается, что скрипт накатывается на базу в монопольном режиме.Не будем. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2014, 21:57 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky1. Не трогаем те хранимки, которые не менялись в источнике. 2. Нет дроп-а вьюхи. 1. Как это не трогаем? Трогаем все, что использует изменившуюся вьюху. Телепатера у меня нет. 2. Да без разницы уже, когда зависимостей нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2014, 09:37 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpertТелепатера у меня нет.Не надо телепатора, все вполне логично. Нашли вьюху, которая изменилась, потом находим все связанные с ней хранимки, которые тоже изменились (те что не менялись не трогаем). Если вьюха менялась так, что не менялись связанные хранимки, то вполне достаточно просто альтер вьюхи (это я проверил). IBExpertДа без разницы уже, когда зависимостей нет.Истребление зависимостей зело раздувает скрипт, потом трудно понять, что же на самом деле поменялось и применяется он дольше, особенно с филиальными базами, которые сидят на не шибко широком интернет канале. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2014, 11:49 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyНе надо телепатора, все вполне логично. Нашли вьюху, которая изменилась, потом находим все связанные с ней хранимки, которые тоже изменились (те что не менялись не трогаем). Если вьюха менялась так, что не менялись связанные хранимки, то вполне достаточно просто альтер вьюхи (это я проверил). Это слишком муторно, заниматься этим сейчас я совершенно точно не буду. Ivan_PisarevskyИстребление зависимостей зело раздувает скрипт, потом трудно понять, что же на самом деле поменялось и применяется он дольше, особенно с филиальными базами, которые сидят на не шибко широком интернет канале. А что делать? Зато универсально. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2014, 16:23 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpertЭто слишком муторноМожно изложить чуть проще: альтерим изменившиеся процедуры как обычно(у кого нет депенденсов на вьюхи). Те что завязаны на изменившиеся вьюхи альтерим в 2 этапа: сначала делаем их "пустотелыми", потом алтерим вьюхи, потом уже заливаем собственно тела в процедуры. По большому счету мне кажется дешевле тупо проальтерить все хранимки в 2 этапа. 1. зачистили все хранимки. 2. проальтерили все вьюхи. 3. влили тела хранимок. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2014, 12:38 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyПо большому счету мне кажется дешевле тупо проальтерить все хранимки в 2 этапа. 1. зачистили все хранимки. 2. проальтерили все вьюхи. 3. влили тела хранимок. Дык, а сейчас как? Ну, кроме того, что в пункте 2 - drop и create view? Я так понял, что весь сыр-бор как раз из-за того, что лишние процедуры "зачищаются", которые можно было бы и не трогать при alter view. В любом случае, что-то серьезное в компарере я сейчас делать не буду. Он не мой, там только врубаться - ящик водки надо. Вот буду под тройку его точить, тогда может быть... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2014, 17:34 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpertЯ так понял, что весь сыр-бор как раз из-за того, что лишние процедуры "зачищаются", которые можно было бы и не трогать при alter view.Весь сыр-бор в команде дроп, которая мне кажется лишней, зачистка лишних Хп это побочный эффект дроп-а (нежелательный). IBExpertДык, а сейчас как?Не совсем так. IBExpertВот буду под тройку его точить, тогда может быть...Спасибо, что не отказали. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2014, 22:12 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyВесь сыр-бор в команде дроп, которая мне кажется лишней, зачистка лишних Хп это побочный эффект дроп-а (нежелательный). Зачистка процедур все равно останется, даже с альтером. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2014, 07:15 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpertЗачистка процедур все равно останетсяЗачищать можно только те, что менялись в источнике, а не все. Чую пошли на третий круг. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2014, 12:41 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyЗачищать можно только те, что менялись в источнике, а не все. Чую пошли на третий круг. Ага: http://www.sql.ru/forum/1122672/comparer-view?mid=16792805#16792805 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2014, 13:34 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Саша, будет возможность, погляди пожалуйста, для тройки, так для тройки, я так полагаю ты понял о чем я просил. Проблема не является фатальной/блокирующей, но некоторые хлопоты доставляет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2014, 13:44 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Можно повторить свою просьбу? заменить 2 строки в скрипте drop+create на на один оператор create or alter для вьюх? Сейчас, по факту, я применяю руками ДДЛ для вьюх по всем базам, потом натравливаю штатный компарер. Либо рукам правлю скрипты, тупо выкидываю дропы и меняю крейты на алтеры. Если вьюху не дропать, то все срабатывает хорошо, я даже проверил, если из этой вьюхи есть недофетченный на клиента резалтсет и то алтер срабатывает. Хотя это и нарушения правила "апдейтить метаданные только монопольно". Если изменилась вьюха, то делаем пустышками все завязанные с ней хранимки, делаем крейт ор алтер вьюхе, потом заливает тела хранимок обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 11:57 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyЕсли изменилась вьюха, то делаем пустышками все завязанные с ней хранимки, делаем крейт ор алтер вьюхе, потом заливает тела хранимок обратно. Можно я тоже повторю свой вопрос? Чем это принципиально отличается от того, что есть сейчас? Я разницы не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 13:08 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Дроп вьюхи требует ОБЯЗАТЕЛЬНО всех выгнать из базы. Альтер не требует. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 13:37 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyДроп вьюхи требует ОБЯЗАТЕЛЬНО всех выгнать из базы. Альтер не требует. Понятно. Костылик в предложенном виде я делать не буду: мороки много, а выхлоп околонулевой. Если уж делать, то нормально. Т.е., вместо дропа - ALTER с фейковым селектом из RDB$DATABASE, с тем же набором полей тех же типов. Затем нормальный ALTER. Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 13:50 |
|
Comparer - View
|
|||
---|---|---|---|
#18+
IBExpertТ.е., вместо дропа - ALTER с фейковым селектом из RDB$DATABASE, с тем же набором полей тех же типов. Затем нормальный ALTER.До такого простого маневра я что-то не догадался. Да, так пожалуй будет лучше, он отпустит депенденсы не хуже дропа. Готов потестить, у меня есть и хранимки делающие селект из вьюх, и вюьхи селектящие из хранимок, рекурсивных только нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 14:08 |
|
|
start [/forum/topic.php?fid=42&msg=38785855&tid=1598993]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 188ms |
0 / 0 |