Skip to content

Commit 748d9b7

Browse files
committed
Compare add
add support VS2012 dll add compare objects tree
1 parent 7e10968 commit 748d9b7

31 files changed

+3971
-4
lines changed

README.md

+8
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,14 @@ This text Russian language.
8080
- добавлена поддержка отображения дополнительных опция для индексов
8181
- в окне запросов добавлена альтернативная кнопка отражающая текущий режим, Transaction (T) или AutoCommit (A)
8282
* исправлена ошибка в окне поиска объектов при поиске в коментариях
83+
22.12.2019
84+
- добавлена возможность выполнять сравнение описания объектов разных серверов через меню Отчеты "Compare other objects"
85+
Сравнение проводится с другим открытым соединением и подключенной базой. Объекты для сравнения выбираются по дереву вниз.
86+
По результатам формируется html отчет различий.
87+
В качестве шаблона для отчета используется файл textcompare_report.template, находящийся рядом с исполняемым pgadmin3.exe.
88+
Особенности: SQL текст создания последовательностей игнорируется, секции таблиц не учитываются. Полность одинаковые объекты скрываются. Служебные объекты игнорируются.
89+
- выполнен переход на новые библиотеки dll wxWidgets 3.0.4 скомпилированные под VS2012. Необходимо обновить файлы *.dll
90+
8391

8492

8593

Release_(3.0)/pgAdmin3.exe

303 KB
Binary file not shown.
+276
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
3+
4+
<meta name="description" content="Text Compare! is an online diff tool that can find the difference between two text documents. Just paste and compare.">
5+
6+
<title>Compare object DateBase </title>
7+
8+
<body style="zoom: 1;">
9+
10+
&nbsp;
11+
12+
13+
14+
15+
<style type="text/css">
16+
body {
17+
/*font-family: monospace;*/
18+
width : 100%;
19+
text-align:center;
20+
background: white;
21+
padding: 0;
22+
margin: 0;
23+
}
24+
div.logo {
25+
background-repeat: repeat;
26+
/*background-position: top;*/
27+
height: 30px;
28+
/*overflow: hidden;*/
29+
background-color: #5CA96D;
30+
background-image: linear-gradient(90deg, #4E905D, #6BC57F);
31+
}
32+
div.logocompare {
33+
display: block;
34+
margin-left: auto;
35+
margin-right: auto;
36+
color: #f9f9f9;
37+
font-size: 20px;
38+
font-weight: bold;
39+
text-decoration: none;
40+
text-shadow:1px 1px grey;
41+
padding-top: 10px;
42+
}
43+
.logost {
44+
display: block;
45+
margin-left: auto;
46+
margin-right: auto;
47+
color: #f9f9f9;
48+
font-size: 16px;
49+
font-weight: bold;
50+
text-decoration: none;
51+
text-shadow:1px 1px grey;
52+
padding-top: 5px;
53+
}
54+
55+
div.logoheader {
56+
background-repeat: repeat;
57+
/*background-position: top;*/
58+
height: 40px;
59+
/*overflow: hidden;*/
60+
background-color: #4488C7;
61+
background-image: linear-gradient(90deg, #0B70CD, #5C90C0);
62+
}
63+
64+
.logo_background {
65+
/* background-image:url('tiny_grid-transparent.png'); */
66+
width: 100%;
67+
height: 100%;
68+
}
69+
70+
71+
div.logo, div.mainContent, .addThisFooter, div.logocompare {
72+
text-align:center;
73+
/*width: 95%;*/
74+
margin-left: auto;
75+
margin-right: auto;
76+
}
77+
78+
.addThisFooter {
79+
margin-bottom: 150px;
80+
}
81+
82+
.logotext {
83+
display: block;
84+
margin-left: auto;
85+
margin-right: auto;
86+
color: #f9f9f9;
87+
font-size: 25px;
88+
font-weight: bold;
89+
text-decoration: none;
90+
text-shadow:1px 1px grey;
91+
padding-top: 5px;
92+
}
93+
94+
95+
96+
table {
97+
font-size: 12px;
98+
}
99+
100+
div.mainContent {
101+
background: #eee;
102+
/*background-image:url('tc-bgtop-bottom.png'); */
103+
background-repeat: repeat-x;
104+
background-position: top;
105+
/*border-bottom: 2px white solid;*/
106+
margin-bottom: 15px;
107+
border-bottom: 1px solid #ddd;
108+
border-top: 1px solid #ddd;
109+
}
110+
111+
.lineContent {
112+
width: 49%;
113+
}
114+
115+
116+
.lineContent pre {
117+
/* Undoing bootstrap CSS for PRE tags */
118+
padding: 0;
119+
margin: 0;
120+
background-color: white;
121+
border: 0;
122+
border-radius: 0;
123+
line-height: normal;
124+
padding-left: 2px;
125+
padding-right: 2px;
126+
127+
/* Make sure really long strings are wrapped. */
128+
background: white;
129+
margin: 0;
130+
-ms-word-break: break-all;
131+
-ms-word-wrap: break-all;
132+
-webkit-word-break: break-word;
133+
-webkit-word-wrap: break-word;
134+
word-break: break-word;
135+
word-wrap: break-word;
136+
-webkit-hyphens: auto;
137+
-moz-hyphens: auto;
138+
hyphens: auto;
139+
white-space: pre-wrap;
140+
}
141+
142+
143+
.text-compare {
144+
font-size: 12px;
145+
}
146+
147+
148+
img {
149+
border: none;
150+
}
151+
152+
.navImage {
153+
border:0px;
154+
padding-left:5px;
155+
padding-right:5px;
156+
margin:0px;
157+
}
158+
159+
.delimiter {
160+
heigth:40px;
161+
display: inline-block;
162+
}
163+
label {
164+
font-size: 14px;
165+
font-weight: normal !important;
166+
margin-bottom: 0px !important;
167+
}
168+
169+
h2 { font-size: 130%; padding-bottom: 0.5ex; color: #009ACE; border-bottom-style: solid; border-bottom-width: 2px; }
170+
h3 { font-size: 110%; padding-bottom: 0.5ex; color: #000000; }
171+
172+
.text-compare {
173+
border: 1px solid #ababab;
174+
background: white;
175+
line-height: normal;
176+
}
177+
.text-compare, div.sendEmail {
178+
width: 98%;
179+
margin-left: auto;
180+
margin-right: auto;
181+
}
182+
tbody {
183+
border: none;
184+
}
185+
.text-compare td {font-family: monospace;}
186+
colgroup {border-color: #ababab;}
187+
.link_first {
188+
background-image:url('tc-arrow-down-green.png');
189+
background-position: top;
190+
background-repeat: no-repeat;
191+
}
192+
.link_next {
193+
background-image:url('tc-arrow-down-blue.png');
194+
background-position: top;
195+
background-repeat: no-repeat;
196+
}
197+
.link_top {
198+
background-image:url('tc-arrow-up-orange.png');
199+
background-position: top;
200+
background-repeat: no-repeat;
201+
}
202+
.link_top, .link_next, .link_first {
203+
height: 12px;
204+
width: 11px;
205+
}
206+
.link_section {
207+
height: 18px;
208+
}
209+
.text-section {
210+
font-size: 15px;
211+
}
212+
213+
.diff_next {
214+
width: 11px;
215+
}
216+
.text_next, .text_first, .text_top {visibility: hidden;}
217+
td {
218+
padding-left: 2px;
219+
padding-right: 2px;
220+
}
221+
.diff_header { width: 1em;}
222+
.difference {
223+
width: 1em;
224+
background: #A9D0F5;
225+
}
226+
.has_difference {
227+
background: #97D397;
228+
width: 1em;
229+
}
230+
.diff_header, .diff_next {
231+
vertical-align:top;
232+
background: #dedede;
233+
}
234+
.diff_next {padding-top:2px;}
235+
.diff_remove {background: Pink;}
236+
.diff_insert {background: SkyBlue;}
237+
.diff_eq {background: #eeeeee;}
238+
.diff_eqhidden {display: none;}
239+
.diff_ne {background: LightGreen;}
240+
.lineContent {
241+
vertical-align:top;
242+
text-align:left;
243+
}
244+
</style>
245+
246+
<div class="mainContent">
247+
248+
$titleline$
249+
250+
@titleline <h2 id="group-list" style="text-align: left;">$titleline$</h2>
251+
$list$
252+
@[list <ul type="square" style="text-align: left;">
253+
@rowlist <li id="_@idtablecmp@" class="diff_@color@"><a href="#@idtablecmp@"> $rowlist$ </a></li>
254+
@]list </ul>
255+
256+
@tableheader@
257+
<div class="logoheader">
258+
<div class="logo_background">
259+
<a id="@idtablecmp@" href="#_@idtablecmp@" class="logotext">$rowlist$</a>
260+
</div>
261+
</div>
262+
@tableheader@
263+
264+
@tableheader2 <table class="text-compare" id="t@idtablecmp@" cellspacing="0" cellpadding="0" rules="groups"> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup> <tbody>
265+
266+
267+
$tables$
268+
269+
</div>
270+
271+
272+
273+
274+
275+
276+
</body></html>

Release_(3.0)/wxbase30u_net_vc110.dll

164 KB
Binary file not shown.
-162 KB
Binary file not shown.

Release_(3.0)/wxbase30u_vc110.dll

2.07 MB
Binary file not shown.

Release_(3.0)/wxbase30u_vc_custom.dll

-2.06 MB
Binary file not shown.

Release_(3.0)/wxbase30u_xml_vc110.dll

139 KB
Binary file not shown.
-144 KB
Binary file not shown.

Release_(3.0)/wxmsw30u_adv_vc110.dll

1.27 MB
Binary file not shown.
-1.26 MB
Binary file not shown.

Release_(3.0)/wxmsw30u_aui_vc110.dll

418 KB
Binary file not shown.
-413 KB
Binary file not shown.

Release_(3.0)/wxmsw30u_core_vc110.dll

4.75 MB
Binary file not shown.
-4.74 MB
Binary file not shown.

Release_(3.0)/wxmsw30u_html_vc110.dll

610 KB
Binary file not shown.
-607 KB
Binary file not shown.

Release_(3.0)/wxmsw30u_stc_vc110.dll

910 KB
Binary file not shown.
-910 KB
Binary file not shown.

Release_(3.0)/wxmsw30u_xrc_vc110.dll

685 KB
Binary file not shown.
-683 KB
Binary file not shown.

ctl/ctlSQLBox.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -739,7 +739,7 @@ void ctlSQLBox::OnKeyDown(wxKeyEvent &event)
739739
int max = line.Length() - (GetLineEndPosition(GetCurrentLine()) - GetCurrentPos()) - offset;
740740
if(line != wxEmptyString)
741741
{
742-
while ((line[x].GetValue() == '\t' || line[x].GetValue() == ' ') && x < max) {
742+
while ((x < max) &&(line[x].GetValue() == '\t' || line[x].GetValue() == ' ')) {
743743
wxChar ccc=line[x];
744744
indent += line[x++];
745745
}

frm/frmMain.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,8 @@ void frmMain::CreateMenus()
431431
new reportObjectDependenciesFactory(menuFactories, reportMenu, 0);
432432
new reportObjectDependentsFactory(menuFactories, reportMenu, 0);
433433
new reportObjectListFactory(menuFactories, reportMenu, 0);
434-
434+
new reportCompareFactory(menuFactories, reportMenu, 0);
435+
435436

436437
toolsMenu->AppendSeparator();
437438

0 commit comments

Comments
 (0)