Skip to content

Commit a50789d

Browse files
authored
Merge pull request IvorySQL#744 from bigplaice/4_stable_sync_with_pg_17.4
4 stable sync with pg 17.4
2 parents 67cb25d + aa26b87 commit a50789d

File tree

55 files changed

+5011
-4618
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+5011
-4618
lines changed

configure

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.69 for PostgreSQL 17.3.
3+
# Generated by GNU Autoconf 2.69 for PostgreSQL 17.4.
44
#
55
# Report bugs to <[email protected]>.
66
#
@@ -582,8 +582,8 @@ MAKEFLAGS=
582582
# Identity of this package.
583583
PACKAGE_NAME='PostgreSQL'
584584
PACKAGE_TARNAME='postgresql'
585-
PACKAGE_VERSION='17.3'
586-
PACKAGE_STRING='PostgreSQL 17.3'
585+
PACKAGE_VERSION='17.4'
586+
PACKAGE_STRING='PostgreSQL 17.4'
587587
PACKAGE_BUGREPORT='[email protected]'
588588
PACKAGE_URL='https://www.postgresql.org/'
589589

@@ -1454,7 +1454,7 @@ if test "$ac_init_help" = "long"; then
14541454
# Omit some internal or obsolete options to make the list less imposing.
14551455
# This message is too long to be a string in the A/UX 3.1 sh.
14561456
cat <<_ACEOF
1457-
\`configure' configures PostgreSQL 17.3 to adapt to many kinds of systems.
1457+
\`configure' configures PostgreSQL 17.4 to adapt to many kinds of systems.
14581458

14591459
Usage: $0 [OPTION]... [VAR=VALUE]...
14601460

@@ -1519,7 +1519,7 @@ fi
15191519

15201520
if test -n "$ac_init_help"; then
15211521
case $ac_init_help in
1522-
short | recursive ) echo "Configuration of PostgreSQL 17.3:";;
1522+
short | recursive ) echo "Configuration of PostgreSQL 17.4:";;
15231523
esac
15241524
cat <<\_ACEOF
15251525

@@ -1698,7 +1698,7 @@ fi
16981698
test -n "$ac_init_help" && exit $ac_status
16991699
if $ac_init_version; then
17001700
cat <<\_ACEOF
1701-
PostgreSQL configure 17.3
1701+
PostgreSQL configure 17.4
17021702
generated by GNU Autoconf 2.69
17031703

17041704
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2451,7 +2451,7 @@ cat >config.log <<_ACEOF
24512451
This file contains any messages produced by compilers while
24522452
running configure, to aid debugging if configure makes a mistake.
24532453

2454-
It was created by PostgreSQL $as_me 17.3, which was
2454+
It was created by PostgreSQL $as_me 17.4, which was
24552455
generated by GNU Autoconf 2.69. Invocation command line was
24562456

24572457
$ $0 $@
@@ -2839,7 +2839,7 @@ cat >>confdefs.h <<_ACEOF
28392839
_ACEOF
28402840

28412841
# IvorySQL version
2842-
PACKAGE_IVORYSQL_VERSION='4.2'
2842+
PACKAGE_IVORYSQL_VERSION='4.4'
28432843

28442844
PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`
28452845
PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`
@@ -19986,7 +19986,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1998619986
# report actual input values of CONFIG_FILES etc. instead of their
1998719987
# values after options handling.
1998819988
ac_log="
19989-
This file was extended by PostgreSQL $as_me 17.3, which was
19989+
This file was extended by PostgreSQL $as_me 17.4, which was
1999019990
generated by GNU Autoconf 2.69. Invocation command line was
1999119991

1999219992
CONFIG_FILES = $CONFIG_FILES
@@ -20057,7 +20057,7 @@ _ACEOF
2005720057
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
2005820058
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
2005920059
ac_cs_version="\\
20060-
PostgreSQL config.status 17.3
20060+
PostgreSQL config.status 17.4
2006120061
configured by $0, generated by GNU Autoconf 2.69,
2006220062
with options \\"\$ac_cs_config\\"
2006320063

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details.
1717
dnl
1818
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
1919

20-
AC_INIT([PostgreSQL], [17.3], [[email protected]], [], [https://www.postgresql.org/])
20+
AC_INIT([PostgreSQL], [17.4], [[email protected]], [], [https://www.postgresql.org/])
2121

2222
m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
2323
Untested combinations of 'autoconf' and PostgreSQL versions are not
@@ -30,7 +30,7 @@ AC_PREFIX_DEFAULT(/usr/local/pgsql)
3030
AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["$ac_configure_args"], [Saved arguments from configure])
3131

3232
# IvorySQL version
33-
PACKAGE_IVORYSQL_VERSION='4.2'
33+
PACKAGE_IVORYSQL_VERSION='4.4'
3434

3535
[PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
3636
[PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`]

doc/src/sgml/config.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8209,7 +8209,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
82098209
various purposes. The cluster name appears in the process title for
82108210
all server processes in this cluster. Moreover, it is the default
82118211
application name for a standby connection (see <xref
8212-
linkend="guc-synchronous-standby-names"/>.)
8212+
linkend="guc-synchronous-standby-names"/>).
82138213
</para>
82148214

82158215
<para>

doc/src/sgml/libpq.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5310,7 +5310,7 @@ PGresult *PQgetResult(PGconn *conn);
53105310
<literal>PGRES_PIPELINE_SYNC</literal> will be returned.
53115311
The result of the next query after the synchronization point follows
53125312
immediately (that is, no null pointer is returned after
5313-
the synchronization point.)
5313+
the synchronization point).
53145314
</para>
53155315

53165316
<note>

doc/src/sgml/ref/pgbench.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -909,7 +909,7 @@ pgbench <optional> <replaceable>options</replaceable> </optional> <replaceable>d
909909
Print messages about all errors and failures (errors without retrying)
910910
including which limit for retries was exceeded and how far it was
911911
exceeded for the serialization/deadlock failures. (Note that in this
912-
case the output can be significantly increased.).
912+
case the output can be significantly increased.)
913913
See <xref linkend="failures-and-retries"/> for more information.
914914
</para>
915915
</listitem>

doc/src/sgml/release-17.sgml

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,123 @@
11
<!-- doc/src/sgml/release-17.sgml -->
22
<!-- See header comment in release.sgml about typical markup -->
33

4+
<sect1 id="release-17-4">
5+
<title>Release 17.4</title>
6+
7+
<formalpara>
8+
<title>Release date:</title>
9+
<para>2025-02-20</para>
10+
</formalpara>
11+
12+
<para>
13+
This release contains a few fixes from 17.3.
14+
For information about new features in major release 17, see
15+
<xref linkend="release-17"/>.
16+
</para>
17+
18+
<sect2 id="release-17-4-migration">
19+
<title>Migration to Version 17.4</title>
20+
21+
<para>
22+
A dump/restore is not required for those running 17.X.
23+
</para>
24+
25+
<para>
26+
However, if you are upgrading from a version earlier than 17.1,
27+
see <xref linkend="release-17-1"/>.
28+
</para>
29+
</sect2>
30+
31+
<sect2 id="release-17-4-changes">
32+
<title>Changes</title>
33+
34+
<itemizedlist>
35+
36+
<listitem>
37+
<!--
38+
Author: Andres Freund <[email protected]>
39+
Branch: master [efdadeb22] 2025-02-14 18:09:19 -0500
40+
Branch: REL_17_STABLE [a92db3d02] 2025-02-14 18:09:21 -0500
41+
Branch: REL_16_STABLE [111f4dd27] 2025-02-14 18:09:23 -0500
42+
Branch: REL_15_STABLE [22ffbbf24] 2025-02-14 18:09:24 -0500
43+
Branch: REL_14_STABLE [985908df1] 2025-02-14 18:09:25 -0500
44+
Branch: REL_13_STABLE [1f7a05324] 2025-02-14 18:09:27 -0500
45+
Author: Tom Lane <[email protected]>
46+
Branch: master [9f45e6a91] 2025-02-15 16:20:21 -0500
47+
Branch: REL_17_STABLE [3abe6e04c] 2025-02-15 16:20:21 -0500
48+
Branch: REL_16_STABLE [991a60a9f] 2025-02-15 16:20:21 -0500
49+
Branch: REL_15_STABLE [e782a63cc] 2025-02-15 16:20:21 -0500
50+
Branch: REL_14_STABLE [c08309584] 2025-02-15 16:20:21 -0500
51+
Branch: REL_13_STABLE [d6d29b213] 2025-02-15 16:20:21 -0500
52+
Author: Tom Lane <[email protected]>
53+
Branch: master [a7f95859e] 2025-02-16 12:46:35 -0500
54+
Branch: REL_17_STABLE [3977bd298] 2025-02-16 12:46:35 -0500
55+
Branch: REL_16_STABLE [644b7d686] 2025-02-16 12:46:35 -0500
56+
Branch: REL_15_STABLE [2226a2e26] 2025-02-16 12:46:35 -0500
57+
Branch: REL_14_STABLE [f864a4cdf] 2025-02-16 12:46:35 -0500
58+
Branch: REL_13_STABLE [9f052613e] 2025-02-16 12:46:35 -0500
59+
-->
60+
<para>
61+
Improve behavior of <application>libpq</application>'s quoting
62+
functions (Andres Freund, Tom Lane)
63+
<ulink url="&commit_baseurl;a92db3d02">&sect;</ulink>
64+
<ulink url="&commit_baseurl;3abe6e04c">&sect;</ulink>
65+
<ulink url="&commit_baseurl;3977bd298">&sect;</ulink>
66+
</para>
67+
68+
<para>
69+
The changes made for CVE-2025-1094 had one serious oversight:
70+
<function>PQescapeLiteral()</function>
71+
and <function>PQescapeIdentifier()</function> failed to honor their
72+
string length parameter, instead always reading to the input
73+
string's trailing null. This resulted in including unwanted text in
74+
the output, if the caller intended to truncate the string via the
75+
length parameter. With very bad luck it could cause a crash due to
76+
reading off the end of memory.
77+
</para>
78+
79+
<para>
80+
In addition, modify all these quoting functions so that when invalid
81+
encoding is detected, an invalid sequence is substituted for just
82+
the first byte of the presumed character, not all of it. This
83+
reduces the risk of problems if a calling application performs
84+
additional processing on the quoted string.
85+
</para>
86+
</listitem>
87+
88+
<listitem>
89+
<!--
90+
Author: Michael Paquier <[email protected]>
91+
Branch: master [5b94e2753] 2025-02-12 17:11:43 +0900
92+
Branch: REL_17_STABLE [ff6d9cfcb] 2025-02-12 17:11:47 +0900
93+
-->
94+
<para>
95+
Fix small memory leak
96+
in <application>pg_createsubscriber</application> (Ranier Vilela)
97+
<ulink url="&commit_baseurl;ff6d9cfcb">&sect;</ulink>
98+
</para>
99+
</listitem>
100+
101+
<listitem>
102+
<!--
103+
Author: Andres Freund <[email protected]>
104+
Branch: master [b64d83115] 2025-02-12 08:15:53 -0500
105+
Branch: REL_17_STABLE [c9a1d2135] 2025-02-12 08:15:53 -0500
106+
Branch: REL_16_STABLE [01cdb98e4] 2025-02-12 08:15:54 -0500
107+
-->
108+
<para>
109+
Fix meson build system to correctly detect availability of
110+
the <filename>bsd_auth.h</filename> system header
111+
(Nazir Bilal Yavuz)
112+
<ulink url="&commit_baseurl;c9a1d2135">&sect;</ulink>
113+
</para>
114+
</listitem>
115+
116+
</itemizedlist>
117+
118+
</sect2>
119+
</sect1>
120+
4121
<sect1 id="release-17-3">
5122
<title>Release 17.3</title>
6123

meson.build

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
project('postgresql',
1010
['c'],
11-
version: '17.3',
11+
version: '17.4',
1212
license: 'PostgreSQL',
1313

1414
# We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for
@@ -550,7 +550,8 @@ test_c_args = cppflags + cflags
550550
bsd_authopt = get_option('bsd_auth')
551551
bsd_auth = not_found_dep
552552
if cc.check_header('bsd_auth.h', required: bsd_authopt,
553-
args: test_c_args, include_directories: postgres_inc)
553+
args: test_c_args, prefix: '#include <sys/types.h>',
554+
include_directories: postgres_inc)
554555
cdata.set('USE_BSD_AUTH', 1)
555556
bsd_auth = declare_dependency()
556557
endif

src/backend/access/transam/parallel.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1208,7 +1208,7 @@ HandleParallelMessage(ParallelContext *pcxt, int i, StringInfo msg)
12081208
break;
12091209
}
12101210

1211-
case 'P': /* Parallel progress reporting */
1211+
case PqMsg_Progress:
12121212
{
12131213
/*
12141214
* Only incremental progress reporting is currently supported.

src/backend/commands/trigger.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4964,10 +4964,10 @@ MakeTransitionCaptureState(TriggerDesc *trigdesc, Oid relid, CmdType cmdType)
49644964

49654965
/* Now build the TransitionCaptureState struct, in caller's context */
49664966
state = (TransitionCaptureState *) palloc0(sizeof(TransitionCaptureState));
4967-
state->tcs_delete_old_table = trigdesc->trig_delete_old_table;
4968-
state->tcs_update_old_table = trigdesc->trig_update_old_table;
4969-
state->tcs_update_new_table = trigdesc->trig_update_new_table;
4970-
state->tcs_insert_new_table = trigdesc->trig_insert_new_table;
4967+
state->tcs_delete_old_table = need_old_del;
4968+
state->tcs_update_old_table = need_old_upd;
4969+
state->tcs_update_new_table = need_new_upd;
4970+
state->tcs_insert_new_table = need_new_ins;
49714971
state->tcs_private = table;
49724972

49734973
return state;

src/backend/executor/execMain.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2643,13 +2643,15 @@ bool
26432643
EvalPlanQualFetchRowMark(EPQState *epqstate, Index rti, TupleTableSlot *slot)
26442644
{
26452645
ExecAuxRowMark *earm = epqstate->relsubs_rowmark[rti - 1];
2646-
ExecRowMark *erm = earm->rowmark;
2646+
ExecRowMark *erm;
26472647
Datum datum;
26482648
bool isNull;
26492649

26502650
Assert(earm != NULL);
26512651
Assert(epqstate->origslot != NULL);
26522652

2653+
erm = earm->rowmark;
2654+
26532655
if (RowMarkRequiresRowShareLock(erm->markType))
26542656
elog(ERROR, "EvalPlanQual doesn't support locking rowmarks");
26552657

0 commit comments

Comments
 (0)