Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit e25fa30

Browse files
committed
Merge branch 'PGPRO10' into PGPROEE10
2 parents 7a8928e + 06113a6 commit e25fa30

File tree

4 files changed

+163
-12
lines changed

4 files changed

+163
-12
lines changed

contrib/mchar/expected/mm.out

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,3 +803,44 @@ SELECT * FROM a, c WHERE mvarchar255 = mchar2;
803803

804804
DROP TABLE a;
805805
DROP TABLE c;
806+
select * from (values ('е'::mchar),('ё'),('еа'),('еб'),('ее'),('еж'),('ёа'),('ёб'),('ёё'),('ёж'),('ёе'),('её')) z order by 1;
807+
column1
808+
---------
809+
е
810+
еа
811+
еб
812+
ее
813+
её
814+
еж
815+
ё
816+
ёа
817+
ёб
818+
ёе
819+
ёё
820+
ёж
821+
(12 rows)
822+
823+
select mvarchar_icase_cmp('ё', 'е');
824+
mvarchar_icase_cmp
825+
--------------------
826+
1
827+
(1 row)
828+
829+
select mvarchar_icase_cmp('Ё', 'Е');
830+
mvarchar_icase_cmp
831+
--------------------
832+
1
833+
(1 row)
834+
835+
select mvarchar_icase_cmp('й', 'и');
836+
mvarchar_icase_cmp
837+
--------------------
838+
1
839+
(1 row)
840+
841+
select mvarchar_icase_cmp('Й', 'И');
842+
mvarchar_icase_cmp
843+
--------------------
844+
1
845+
(1 row)
846+

contrib/mchar/mchar_recode.c

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ createUObjs() {
3131
elog(ERROR,"ICU ucol_open returns %d (%s)", err, u_errorName(err));
3232
}
3333

34+
/* UCOL_PRIMARY doesn't distinguish И & Й, Е & Ё */
3435
ucol_setStrength( colCaseInsensitive, UCOL_SECONDARY );
3536
}
3637

@@ -114,29 +115,49 @@ FillWhiteSpace( UChar *dst, int n ) {
114115
int
115116
UCharCaseCompare(UChar * a, int alen, UChar *b, int blen) {
116117
int len = Min(alen, blen);
117-
int res;
118+
int i, res;
118119

119120
createUObjs();
120121

121-
res = (int)ucol_strcoll( colCaseInsensitive,
122-
a, len,
123-
b, len);
124-
if ( res == 0 && alen != blen )
122+
/*
123+
* Preventing any influence of following characters to
124+
* current one, try
125+
* select * from (values ('е'::mchar),('ё'),('еа'),('еб'),('ее'),('еж'),
126+
* ('ёа'),('ёб'),('ёё'),('ёж'),('ёе'),('её')) z
127+
* order by 1;
128+
*/
129+
for (i=0; i<len; i++)
130+
{
131+
res = (int)ucol_strcoll(colCaseInsensitive,
132+
a + i, 1,
133+
b + i, 1);
134+
if (res)
135+
return res;
136+
}
137+
138+
if (alen != blen)
125139
return (alen > blen) ? 1 : - 1;
126-
return res;
140+
return 0;
127141
}
128142

129143
int
130144
UCharCompare(UChar * a, int alen, UChar *b, int blen) {
131145
int len = Min(alen, blen);
132-
int res;
146+
int i, res;
133147

134148
createUObjs();
135149

136-
res = (int)ucol_strcoll( colCaseSensitive,
137-
a, len,
138-
b, len);
139-
if ( res == 0 && alen != blen )
150+
/* see above */
151+
for (i=0; i<len; i++)
152+
{
153+
res = (int)ucol_strcoll(colCaseSensitive,
154+
a + i, 1,
155+
b + i, 1);
156+
if (res)
157+
return res;
158+
}
159+
160+
if (alen != blen)
140161
return (alen > blen) ? 1 : - 1;
141-
return res;
162+
return 0;
142163
}

contrib/mchar/sql/mm.sql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,3 +183,8 @@ SELECT * FROM a, c WHERE mvarchar255 = mchar2;
183183
DROP TABLE a;
184184
DROP TABLE c;
185185

186+
select * from (values ('е'::mchar),('ё'),('еа'),('еб'),('ее'),('еж'),('ёа'),('ёб'),('ёё'),('ёж'),('ёе'),('её')) z order by 1;
187+
select mvarchar_icase_cmp('ё', 'е');
188+
select mvarchar_icase_cmp('Ё', 'Е');
189+
select mvarchar_icase_cmp('й', 'и');
190+
select mvarchar_icase_cmp('Й', 'И');

doc/src/sgml/release-pro-10.sgml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,89 @@
11
<!-- doc/src/sgml/release-pro-10.sgml -->
22
<!-- See header comment in release.sgml about typical markup -->
3+
<sect1 id="release-pro-10-3-2">
4+
<title>Postgres Pro Standard 10.3.2</title>
5+
<formalpara>
6+
<title>Release Date:</title>
7+
<para>2018-03-20</para>
8+
</formalpara>
9+
<sect2>
10+
<title>Overview</title>
11+
<para>This release is based on <productname>PostgreSQL</productname> 10.3
12+
and includes all the new features introduced in PostgreSQL 10, as well as
13+
bug fixes implemented in PostgreSQL 10.3. For their detailed description,
14+
see <link linkend="release-10">PostgreSQL 10 Release Notes</link> and
15+
<link linkend="release-10-3">PostgreSQL 10.3 Release Notes</link>, respectively.
16+
Other major changes and enhancements are as follows:</para>
17+
<itemizedlist spacing="compact">
18+
<listitem>
19+
<para>
20+
Added support for TOAST to INCLUDED attributes for B-tree
21+
indexes.</para>
22+
<!-- d9f74314fb45645bba17e287871e9807fd36e2c3 -->
23+
</listitem>
24+
<listitem>
25+
<para>
26+
Fixed search for mchar and mvarchar types via search_path to make
27+
these types dumpable even with cleaned up search path.
28+
</para>
29+
<!-- 355211667eaf7469696b3316ef7b935c6cc9e78c -->
30+
</listitem>
31+
<listitem>
32+
<para>
33+
Added <literal>--add-collprovider</literal> option to <command>pg_dump</command> utility.
34+
</para>
35+
<!-- 431100a1cd03808b0dc1cdfdd065398ec08b59e1 -->
36+
</listitem>
37+
<listitem>
38+
<para>Updated the <link linkend="app-pgprobackup"><application>pg_probackup</application></link>
39+
utility from 2.0.14 to 2.0.16 version.</para>
40+
<itemizedlist>
41+
<listitem>
42+
<para>Infinite loop while page validation has been fixed.</para>
43+
</listitem>
44+
<listitem>
45+
<para>Fixed segfault for the case of parallel ptrack connections.</para>
46+
</listitem>
47+
<listitem>
48+
<para>Allowed to use <literal>delete-wal</literal> option wihtout <literal>delete-expired</literal>.</para>
49+
</listitem>
50+
<listitem>
51+
<para>Allowed to use <literal>pg_ptrack_get_block</literal> if it is available and page is invalid.</para>
52+
</listitem>
53+
<listitem>
54+
<para>Fixed CVE-2018-1058. Schema name explicitly used on the every function call.</para>
55+
</listitem>
56+
<listitem>
57+
<para>Handle datafiles in directory <literal>global</literal> as datafiles.</para>
58+
</listitem>
59+
<listitem>
60+
<para>Do not copy ptrack files from directory <literal>global</literal> to backup anymore.</para>
61+
</listitem>
62+
<listitem>
63+
<para>
64+
Check if <literal>--instance</literal> is specified for <command>VALIDATE</command> with target parameters.
65+
</para>
66+
</listitem>
67+
</itemizedlist>
68+
<!-- 76afcee1255d94ebc84f89ba336827999436a4c2 -->
69+
</listitem>
70+
</itemizedlist>
71+
</sect2>
72+
<sect2>
73+
<title>Migration to Version 10.3.2</title>
74+
75+
<para>If you are upgrading from a <productname>Postgres Pro Standard</productname> version
76+
based on the same <productname>PostgreSQL</productname> major release,
77+
it is enough to install the new version into your current installation directory.
78+
</para>
79+
<para>To migrate from <productname>PostgreSQL</productname> or
80+
<productname>Postgres Pro Standard</productname> versions based on
81+
any previous <productname>PostgreSQL</productname> major release, see the instructions
82+
in <link linkend="release-pro-10-3-1">Postgres Pro Standard 10.3.1 Release Notes</link>.
83+
</para>
84+
85+
</sect2>
86+
</sect1>
387
<sect1 id="release-pro-10-3-1">
488
<title>Postgres Pro Standard 10.3.1</title>
589
<formalpara>

0 commit comments

Comments
 (0)