<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://gsbelarus.com:80/gs/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://gsbelarus.com:80/gs/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_%28%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0%29</id>
		<title>Перекомпиляция процедур и триггеров (постановка) - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://gsbelarus.com:80/gs/wiki/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_%28%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0%29"/>
		<link rel="alternate" type="text/html" href="https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;action=history"/>
		<updated>2026-07-16T21:06:58Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.16</generator>

	<entry>
		<id>https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;diff=4516&amp;oldid=prev</id>
		<title>SYSDBA в 15:51, 10 апреля 2011</title>
		<link rel="alternate" type="text/html" href="https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;diff=4516&amp;oldid=prev"/>
				<updated>2011-04-10T15:51:50Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 15:51, 10 апреля 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Interbase компилирует процедуры и триггеры в двоичное представление и в таком виде хранит в базе данных. Планы запросов, входящих в процедуры и/или триггеры, не меняются между выполнениями, в том время как статистика индексов может существенно измениться. &lt;/del&gt;Предлагается добавить в Гедымин возможность перекомпиляции процедур и триггеров на существующих базах данных.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Предлагается добавить в Гедымин возможность перекомпиляции процедур и триггеров на существующих базах данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Сделать три процедуры для обновления статистики индексов, рекомпиляции триггеров и хранимых процедур, с именами UpdateIndicesStat, RecompileTriggers и RecompileProcedures, соответственно. На вход каждой процедуры передается ссылка на компонент типа [[TIBDatabase]] -- текущее подключение к базе данных.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Сделать три процедуры для обновления статистики индексов, рекомпиляции триггеров и хранимых процедур, с именами UpdateIndicesStat, RecompileTriggers и RecompileProcedures, соответственно. На вход каждой процедуры передается ссылка на компонент типа [[TIBDatabase]] -- текущее подключение к базе данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Если получится, сделать перекомпиляцию представлений. Тогда порядок должен быть такой: индексы, представления, процедуры, триггеры.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Если получится, сделать перекомпиляцию представлений. Тогда порядок должен быть такой: индексы, представления, процедуры, триггеры.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Постановка]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Постановка&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-Сделано&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SYSDBA</name></author>	</entry>

	<entry>
		<id>https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;diff=1615&amp;oldid=prev</id>
		<title>SYSDBA в 11:04, 25 декабря 2006</title>
		<link rel="alternate" type="text/html" href="https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;diff=1615&amp;oldid=prev"/>
				<updated>2006-12-25T11:04:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 11:04, 25 декабря 2006&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Сделать три процедуры для обновления статистики индексов, рекомпиляции триггеров и хранимых процедур, с именами UpdateIndicesStat, RecompileTriggers и RecompileProcedures, соответственно. На вход каждой процедуры передается ссылка на компонент типа [[TIBDatabase]] -- текущее подключение к базе данных.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Сделать три процедуры для обновления статистики индексов, рекомпиляции триггеров и хранимых процедур, с именами UpdateIndicesStat, RecompileTriggers и RecompileProcedures, соответственно. На вход каждой процедуры передается ссылка на компонент типа [[TIBDatabase]] -- текущее подключение к базе данных.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Поместить вышеуказанные процедуры в отдельный юнит с именем gdUpdateIndiceStat.pas, расположенный в папке Common проекта [[Гедымин]]. Данный юнит не должен подключать никаких других юнитов за исключением стандартных библиотек Delphi и компонентов IBX. Информация о структуре БД должна получаться запросами из RDB$ таблиц.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Поместить вышеуказанные процедуры в отдельный юнит с именем gdUpdateIndiceStat.pas, расположенный в папке Common проекта [[Гедымин]]. Данный юнит не должен подключать никаких других юнитов за исключением стандартных библиотек Delphi и компонентов IBX. Информация о структуре БД должна получаться запросами из RDB$ таблиц.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Проверить&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;что процедуры работы с триггерами и процедурами берут наименования мета-объектов в двойные кавычки. Убедиться что все правильно работает, добавив в базу данных хотя бы по одному триггеру и процедуре с пробелом в имени и с именем, содержащим символы разного регистра, и выполнив процедуры перекомпиляции.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Проверить&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;## &lt;/ins&gt;что процедуры работы с триггерами и процедурами берут наименования мета-объектов в двойные кавычки. Убедиться что все правильно работает, добавив в базу данных хотя бы по одному триггеру и процедуре с пробелом в имени и с именем, содержащим символы разного регистра, и выполнив процедуры перекомпиляции&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;## что после перекомпиляции триггера не меняется его позиция и состояние (активен, не активен).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;## что после перекомпиляции процедуры не меняется порядок входящих и исходящих параметров, а также их написание&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Оставить только один пункт меню &amp;quot;Обновление статистики индексов&amp;quot; в главном окне программы. В нем сделать вызов трех процедур: обновление статистики индексов, перекомпиляция процедур и триггеров (именно в таком порядке). Убедиться, что при выполнении действия из главной формы проверяется количество подключенных пользователей к БД.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Оставить только один пункт меню &amp;quot;Обновление статистики индексов&amp;quot; в главном окне программы. В нем сделать вызов трех процедур: обновление статистики индексов, перекомпиляция процедур и триггеров (именно в таком порядке). Убедиться, что при выполнении действия из главной формы проверяется количество подключенных пользователей к БД.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# В диалоговое окно восстановление базы данных из архива добавить чек-бокс &amp;quot;Перекомпилировать процедуры&amp;quot; (там как раз есть одно свободное место). По умолчанию он &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;должна &lt;/del&gt;быть включен. По этому чек-боксу вызывать процедуры перекомпиляции процедур и триггеров после восстановления БД из архива, в самом конце, после перестроения интервальных деревьев. После добавления чек-бокса проверить таб-ордер в диалоговом окне!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# В диалоговое окно восстановление базы данных из архива добавить чек-бокс &amp;quot;Перекомпилировать процедуры&amp;quot; (там как раз есть одно свободное место). По умолчанию он &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;должен &lt;/ins&gt;быть включен. По этому чек-боксу вызывать процедуры перекомпиляции процедур и триггеров после восстановления БД из архива, в самом конце, после перестроения интервальных деревьев. После добавления чек-бокса проверить таб-ордер в диалоговом окне!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Если получится, сделать перекомпиляцию представлений. Тогда порядок должен быть такой: индексы, представления, процедуры, триггеры.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Если получится, сделать перекомпиляцию представлений. Тогда порядок должен быть такой: индексы, представления, процедуры, триггеры.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Постановка]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Постановка]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SYSDBA</name></author>	</entry>

	<entry>
		<id>https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;diff=1614&amp;oldid=prev</id>
		<title>SYSDBA в 10:29, 25 декабря 2006</title>
		<link rel="alternate" type="text/html" href="https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;diff=1614&amp;oldid=prev"/>
				<updated>2006-12-25T10:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 10:29, 25 декабря 2006&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Оставить только один пункт меню &amp;quot;Обновление статистики индексов&amp;quot; в главном окне программы. В нем сделать вызов трех процедур: обновление статистики индексов, перекомпиляция процедур и триггеров (именно в таком порядке). Убедиться, что при выполнении действия из главной формы проверяется количество подключенных пользователей к БД.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# Оставить только один пункт меню &amp;quot;Обновление статистики индексов&amp;quot; в главном окне программы. В нем сделать вызов трех процедур: обновление статистики индексов, перекомпиляция процедур и триггеров (именно в таком порядке). Убедиться, что при выполнении действия из главной формы проверяется количество подключенных пользователей к БД.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# В диалоговое окно восстановление базы данных из архива добавить чек-бокс &amp;quot;Перекомпилировать процедуры&amp;quot; (там как раз есть одно свободное место). По умолчанию он должна быть включен. По этому чек-боксу вызывать процедуры перекомпиляции процедур и триггеров после восстановления БД из архива, в самом конце, после перестроения интервальных деревьев. После добавления чек-бокса проверить таб-ордер в диалоговом окне!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;# В диалоговое окно восстановление базы данных из архива добавить чек-бокс &amp;quot;Перекомпилировать процедуры&amp;quot; (там как раз есть одно свободное место). По умолчанию он должна быть включен. По этому чек-боксу вызывать процедуры перекомпиляции процедур и триггеров после восстановления БД из архива, в самом конце, после перестроения интервальных деревьев. После добавления чек-бокса проверить таб-ордер в диалоговом окне!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Если получится, сделать перекомпиляцию представлений. Тогда порядок должен быть такой: индексы, представления, процедуры, триггеры.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Постановка]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Постановка]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SYSDBA</name></author>	</entry>

	<entry>
		<id>https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;diff=1600&amp;oldid=prev</id>
		<title>SYSDBA в 12:42, 24 декабря 2006</title>
		<link rel="alternate" type="text/html" href="https://gsbelarus.com:80/gs/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80_%D0%B8_%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BE%D0%B2_(%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)&amp;diff=1600&amp;oldid=prev"/>
				<updated>2006-12-24T12:42:42Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Interbase компилирует процедуры и триггеры в двоичное представление и в таком виде хранит в базе данных. Планы запросов, входящих в процедуры и/или триггеры, не меняются между выполнениями, в том время как статистика индексов может существенно измениться. Предлагается добавить в Гедымин возможность перекомпиляции процедур и триггеров на существующих базах данных.&lt;br /&gt;
&lt;br /&gt;
# Сделать три процедуры для обновления статистики индексов, рекомпиляции триггеров и хранимых процедур, с именами UpdateIndicesStat, RecompileTriggers и RecompileProcedures, соответственно. На вход каждой процедуры передается ссылка на компонент типа [[TIBDatabase]] -- текущее подключение к базе данных.&lt;br /&gt;
# Поместить вышеуказанные процедуры в отдельный юнит с именем gdUpdateIndiceStat.pas, расположенный в папке Common проекта [[Гедымин]]. Данный юнит не должен подключать никаких других юнитов за исключением стандартных библиотек Delphi и компонентов IBX. Информация о структуре БД должна получаться запросами из RDB$ таблиц.&lt;br /&gt;
# Проверить, что процедуры работы с триггерами и процедурами берут наименования мета-объектов в двойные кавычки. Убедиться что все правильно работает, добавив в базу данных хотя бы по одному триггеру и процедуре с пробелом в имени и с именем, содержащим символы разного регистра, и выполнив процедуры перекомпиляции.&lt;br /&gt;
# Оставить только один пункт меню &amp;quot;Обновление статистики индексов&amp;quot; в главном окне программы. В нем сделать вызов трех процедур: обновление статистики индексов, перекомпиляция процедур и триггеров (именно в таком порядке). Убедиться, что при выполнении действия из главной формы проверяется количество подключенных пользователей к БД.&lt;br /&gt;
# В диалоговое окно восстановление базы данных из архива добавить чек-бокс &amp;quot;Перекомпилировать процедуры&amp;quot; (там как раз есть одно свободное место). По умолчанию он должна быть включен. По этому чек-боксу вызывать процедуры перекомпиляции процедур и триггеров после восстановления БД из архива, в самом конце, после перестроения интервальных деревьев. После добавления чек-бокса проверить таб-ордер в диалоговом окне!&lt;br /&gt;
&lt;br /&gt;
[[Category:Постановка]]&lt;/div&gt;</summary>
		<author><name>SYSDBA</name></author>	</entry>

	</feed>