Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PG-1059: Fix check-world failures #10

Closed
wants to merge 50 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
8b86257
Added a Percona specific definition to pg_config, allowing our
dutow Jun 17, 2024
5b0d92a
Make XLog storage extensible
dAdAbird Apr 24, 2024
d3b6712
Added pg_tde as submodule following the smgr branch
dutow Apr 15, 2024
087cf92
added pg_tde to meson build
dutow Apr 8, 2024
11271a1
Applied patch
dutow Apr 7, 2024
5dad05c
Downloaded smgr patch
dutow Apr 7, 2024
c3c1ae6
fixing rebase bug
dutow Jul 31, 2024
c239a8c
Removed fsync_checker extension from patch as we do not want to
dutow Aug 28, 2024
5786e24
Updated pg_tde submodule reference
dutow Aug 28, 2024
0388294
Added pg_tde to makefile
dutow Aug 29, 2024
7573d1b
PG-981: Renamed PERCONA_FORK to PERCONA_EXT
dutow Sep 1, 2024
3ceb503
PG-847: exclude pg_tde* files from checksum validation
codeforall Sep 2, 2024
ecb2aa7
Merge pull request #3 from dutow/nofork
dutow Sep 3, 2024
370259b
Merge pull request #4 from Percona-Lab/PG-847
codeforall Sep 5, 2024
8453f59
Doc: Fix the ambiguity in the description of failover slots.
Aug 29, 2024
d22a058
Disallow USING clause when altering type of generated column
petere Aug 29, 2024
8f33264
Message style improvements
petere Aug 29, 2024
6e33957
Fix mis-deparsing of ORDER BY lists when there is a name conflict.
tglsfdc Aug 29, 2024
5995795
Correct name in list of acknowledgments
petere Aug 30, 2024
8427215
Remove duplicate name from list of acknowledgments
petere Aug 30, 2024
4913ff0
Update list of acknowledgments in release notes
petere Aug 30, 2024
e6fcd43
Avoid inserting PlaceHolderVars in cases where pre-v16 PG did not.
tglsfdc Aug 30, 2024
c931963
Make postgres_fdw's query_cancel test less flaky.
tglsfdc Aug 30, 2024
9d64385
Clarify restrict_nonsystem_relation_kind description.
MasahikoSawada Aug 30, 2024
891cda5
Stabilize 039_end_of_wal test.
macdice Aug 31, 2024
3763748
Fix unfairness in all-cached parallel seq scan.
macdice Aug 31, 2024
92b91cd
Translation updates
petere Sep 2, 2024
73adaba
Fix rarely-run test for message wording change
petere Sep 2, 2024
c8e0480
Fix warnings from msgfmt
petere Sep 2, 2024
b6d662d
Stamp 17rc1.
tglsfdc Sep 2, 2024
da9fb5a
Simplify makefiles exporting twice enable_injection_points
michaelpq Sep 3, 2024
ae2f29c
Avoid installcheck failure in TAP tests using injection_points
michaelpq Sep 3, 2024
a57e8ef
Fix inconsistent LWLock tranche name "CommitTsSLRU"
michaelpq Sep 4, 2024
afd200d
Prevent mis-encoding of "trailing junk after numeric literal" errors.
tglsfdc Sep 5, 2024
cf60739
doc PG 17 relnotes: remove tab complete for MERGE/SPLIT partit.
bmomjian Sep 6, 2024
86e84d7
Update comment about ExprState.escontext
amitlan Sep 6, 2024
297f20a
SQL/JSON: Fix JSON_TABLE() column deparsing
amitlan Sep 6, 2024
4b4edf6
SQL/JSON: Fix default ON ERROR behavior for JSON_TABLE
amitlan Sep 6, 2024
cfbc748
SQL/JSON: Avoid initializing unnecessary ON ERROR / ON EMPTY steps
amitlan Sep 6, 2024
899c071
Revert recent SQL/JSON related commits
amitlan Sep 6, 2024
df80f5f
SQL/JSON: Fix JSON_TABLE() column deparsing
amitlan Sep 6, 2024
c70ff49
SQL/JSON: Fix default ON ERROR behavior for JSON_TABLE
amitlan Sep 6, 2024
bf7e2c3
PG-1008: Change product name and version number
codeforall Sep 16, 2024
1d5761a
Basic test for PG17
dutow Sep 15, 2024
d280540
PERCONA_EXT is now a configuration option, not hardcoded
dutow Sep 16, 2024
a3f691a
Merge pull request #8 from dutow/cistuff
dutow Sep 18, 2024
1a98df1
Merge pull request #9 from dutow/dyn_ext
dutow Sep 18, 2024
6aba5b5
Merge pull request #7 from Percona-Lab/pg-1008
codeforall Sep 19, 2024
85edf92
PG-1059: Generalize upgrade version string matcher
dutow Sep 24, 2024
a09e481
PG-1059: Fix pgbench test check
dutow Sep 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .github/workflows/postgresql-current-make-debug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: postgresql-current-make-debug
on:
schedule:
- cron: "0 0 * * *"
pull_request:
workflow_dispatch:

jobs:
build:
name: pg-current-make-debug
runs-on: ubuntu-22.04
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \
zlib1g-dev libssl-dev libpam0g-dev bison flex \
libipc-run-perl -y docbook-xsl docbook-xsl libxml2 libxml2-utils \
libxml2-dev libxslt-dev xsltproc libkrb5-dev libldap2-dev \
libsystemd-dev gettext tcl-dev libperl-dev pkg-config clang-11 \
llvm-11 llvm-11-dev libselinux1-dev python3-dev \
uuid-dev liblz4-dev meson ninja-build \
gpg wget libcurl4-openssl-dev libhttp-server-simple-perl
sudo /usr/bin/perl -MCPAN -e 'install IPC::Run'
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim'
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install -y vault

- name: Clone repository
uses: actions/checkout@v4
with:
path: 'src'
ref: ${{ github.ref }}

- name: Checkout submodules
run: |
git submodule update --init --recursive
cd contrib/pg_tde
git checkout main
git pull
./configure
working-directory: src

- name: Build postgres
run: |
./configure --enable-debug --enable-cassert --enable-tap-tests
make

working-directory: src

- name: Test postgres
run: |
TV=$(mktemp)
{ exec >$TV; vault server -dev; } &
sleep 10
export ROOT_TOKEN=$(cat $TV | grep "Root Token" | cut -d ":" -f 2 | xargs echo -n)
echo "Root token: $ROOT_TOKEN"

make check
working-directory: src
68 changes: 68 additions & 0 deletions .github/workflows/postgresql-current-meson-debug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: postgresql-current-meson-debug
on:
schedule:
- cron: "0 0 * * *"
pull_request:
workflow_dispatch:

jobs:
build:
name: pg-current-meson-debug
runs-on: ubuntu-22.04
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libreadline6-dev systemtap-sdt-dev \
zlib1g-dev libssl-dev libpam0g-dev bison flex \
libipc-run-perl -y docbook-xsl docbook-xsl libxml2 libxml2-utils \
libxml2-dev libxslt-dev xsltproc libkrb5-dev libldap2-dev \
libsystemd-dev gettext tcl-dev libperl-dev pkg-config clang-11 \
llvm-11 llvm-11-dev libselinux1-dev python3-dev \
uuid-dev liblz4-dev meson ninja-build \
gpg wget libcurl4-openssl-dev libhttp-server-simple-perl
sudo /usr/bin/perl -MCPAN -e 'install IPC::Run'
sudo /usr/bin/perl -MCPAN -e 'install Text::Trim'
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install -y vault

- name: Clone repository
uses: actions/checkout@v4
with:
path: 'src'
ref: ${{ github.ref }}

- name: Checkout submodules
run: |
git submodule update --init --recursive
cd contrib/pg_tde
git checkout main
git pull
working-directory: src

- name: Build postgres
run: |
meson setup build --prefix `pwd`/../inst --buildtype=debug -Dcassert=true -Dtap_tests=enabled
cd build && ninja && ninja install
working-directory: src

- name: Test postgres
run: |
TV=$(mktemp)
{ exec >$TV; vault server -dev; } &
sleep 10
export ROOT_TOKEN=$(cat $TV | grep "Root Token" | cut -d ":" -f 2 | xargs echo -n)
echo "Root token: $ROOT_TOKEN"

meson test
working-directory: src/build

- name: Report on test fail
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: Regressions diff and postgresql log
path: |
src/build/testrun/
retention-days: 3
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "contrib/pg_tde"]
path = contrib/pg_tde
url = https://github.com/Percona-Lab/pg_tde.git
branch = main
65 changes: 50 additions & 15 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for PostgreSQL 17beta3.
# Generated by GNU Autoconf 2.69 for PostgreSQL 17rc1.
#
# Report bugs to <pgsql-bugs@lists.postgresql.org>.
#
Expand Down Expand Up @@ -582,8 +582,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='PostgreSQL'
PACKAGE_TARNAME='postgresql'
PACKAGE_VERSION='17beta3'
PACKAGE_STRING='PostgreSQL 17beta3'
PACKAGE_VERSION='17rc1.1'
PACKAGE_STRING='PostgreSQL 17rc1.1'
PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org'
PACKAGE_URL='https://www.postgresql.org/'

Expand Down Expand Up @@ -762,6 +762,7 @@ CPPFLAGS
LDFLAGS
CFLAGS
CC
enable_percona_ext
enable_injection_points
enable_tap_tests
enable_dtrace
Expand Down Expand Up @@ -844,6 +845,7 @@ enable_coverage
enable_dtrace
enable_tap_tests
enable_injection_points
enable_percona_ext
with_blocksize
with_segsize
with_segsize_blocks
Expand Down Expand Up @@ -1450,7 +1452,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures PostgreSQL 17beta3 to adapt to many kinds of systems.
\`configure' configures PostgreSQL 17rc1.1 to adapt to many kinds of systems.

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

Expand Down Expand Up @@ -1515,7 +1517,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of PostgreSQL 17beta3:";;
short | recursive ) echo "Configuration of PostgreSQL 17rc1.1:";;
esac
cat <<\_ACEOF

Expand All @@ -1538,6 +1540,7 @@ Optional Features:
--enable-tap-tests enable TAP tests (requires Perl and IPC::Run)
--enable-injection-points
enable injection points (for testing)
--disable-percona-ext enable Percona specific features
--enable-depend turn on automatic dependency tracking
--enable-cassert enable assertion checks (for debugging)
--disable-largefile omit support for large files
Expand Down Expand Up @@ -1690,7 +1693,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
PostgreSQL configure 17beta3
PostgreSQL configure 17rc1.1
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
Expand Down Expand Up @@ -2443,7 +2446,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by PostgreSQL $as_me 17beta3, which was
It was created by PostgreSQL $as_me 17rc1.1, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
Expand Down Expand Up @@ -3716,6 +3719,38 @@ fi



#
# Percona ext
#


# Check whether --enable-percona-ext was given.
if test "${enable_percona_ext+set}" = set; then :
enableval=$enable_percona_ext;
case $enableval in
yes)

$as_echo "#define PERCONA_EXT 1" >>confdefs.h

;;
no)
:
;;
*)
as_fn_error $? "no argument expected for --enable-percona-ext option" "$LINENO" 5
;;
esac

else
enable_percona_ext=yes

$as_echo "#define PERCONA_EXT 1" >>confdefs.h

fi




#
# Block size
#
Expand Down Expand Up @@ -14899,7 +14934,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
Expand Down Expand Up @@ -14945,7 +14980,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
Expand All @@ -14969,7 +15004,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
Expand Down Expand Up @@ -15014,7 +15049,7 @@ else
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
Expand All @@ -15038,7 +15073,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
We can't simply define LARGE_OFF_T to be 9223372036854775807,
since some C++ compilers masquerading as C compilers
incorrectly reject 9223372036854775807. */
#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
Expand Down Expand Up @@ -19188,7 +19223,7 @@ fi


cat >>confdefs.h <<_ACEOF
#define PG_VERSION_STR "PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"
#define PG_VERSION_STR "Percona Server for PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"
_ACEOF


Expand Down Expand Up @@ -19786,7 +19821,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by PostgreSQL $as_me 17beta3, which was
This file was extended by PostgreSQL $as_me 17rc1.1, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -19857,7 +19892,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
PostgreSQL config.status 17beta3
PostgreSQL config.status 17rc1.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

Expand Down
11 changes: 9 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details.
dnl
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros

AC_INIT([PostgreSQL], [17beta3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
AC_INIT([Percona Server for PostgreSQL], [17rc1.1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])

m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
Untested combinations of 'autoconf' and PostgreSQL versions are not
Expand Down Expand Up @@ -256,6 +256,13 @@ PGAC_ARG_BOOL(enable, injection-points, no, [enable injection points (for testin
[AC_DEFINE([USE_INJECTION_POINTS], 1, [Define to 1 to build with injection points. (--enable-injection-points)])])
AC_SUBST(enable_injection_points)

#
# Percona ext
#
PGAC_ARG_BOOL(enable, percona-ext, yes, [enable Percona specific features],
[AC_DEFINE([PERCONA_EXT], 1, [Define to 1 to build with Percona specific features. (--enable-percona-ext)])])
AC_SUBST(enable_percona_ext)

#
# Block size
#
Expand Down Expand Up @@ -2437,7 +2444,7 @@ else
fi

AC_DEFINE_UNQUOTED(PG_VERSION_STR,
["PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"],
["Percona Server for PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"],
[A string containing the version number, platform, and C compiler])

# Supply a numeric version string for use by 3rd party add-ons
Expand Down
1 change: 1 addition & 0 deletions contrib/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ SUBDIRS = \
pg_prewarm \
pg_stat_statements \
pg_surgery \
pg_tde \
pg_trgm \
pgrowlocks \
pgstattuple \
Expand Down
1 change: 1 addition & 0 deletions contrib/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ subdir('pgrowlocks')
subdir('pg_stat_statements')
subdir('pgstattuple')
subdir('pg_surgery')
subdir('pg_tde')
subdir('pg_trgm')
subdir('pg_visibility')
subdir('pg_walinspect')
Expand Down
2 changes: 1 addition & 1 deletion contrib/oid2name/oid2name.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ get_opts(int argc, char **argv, struct options *my_opts)
}
if (strcmp(argv[1], "--version") == 0 || strcmp(argv[1], "-V") == 0)
{
puts("oid2name (PostgreSQL) " PG_VERSION);
puts("oid2name (Percona Server for PostgreSQL) " PG_VERSION);
exit(0);
}
}
Expand Down
1 change: 1 addition & 0 deletions contrib/pg_tde
Submodule pg_tde added at 058666
Loading