Skip to content

[pull] master from postgres:master #128

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

Merged
merged 3 commits into from
Jun 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 9 additions & 9 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 18beta1.
# Generated by GNU Autoconf 2.69 for PostgreSQL 19devel.
#
# Report bugs to <[email protected]>.
#
Expand Down Expand Up @@ -582,8 +582,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='PostgreSQL'
PACKAGE_TARNAME='postgresql'
PACKAGE_VERSION='18beta1'
PACKAGE_STRING='PostgreSQL 18beta1'
PACKAGE_VERSION='19devel'
PACKAGE_STRING='PostgreSQL 19devel'
PACKAGE_BUGREPORT='[email protected]'
PACKAGE_URL='https://www.postgresql.org/'

Expand Down Expand Up @@ -1468,7 +1468,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 18beta1 to adapt to many kinds of systems.
\`configure' configures PostgreSQL 19devel to adapt to many kinds of systems.

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

Expand Down Expand Up @@ -1533,7 +1533,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of PostgreSQL 18beta1:";;
short | recursive ) echo "Configuration of PostgreSQL 19devel:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1724,7 +1724,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
PostgreSQL configure 18beta1
PostgreSQL configure 19devel
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
Expand Down Expand Up @@ -2477,7 +2477,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 18beta1, which was
It was created by PostgreSQL $as_me 19devel, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
Expand Down Expand Up @@ -20063,7 +20063,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 18beta1, which was
This file was extended by PostgreSQL $as_me 19devel, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -20134,7 +20134,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 18beta1
PostgreSQL config.status 19devel
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

Expand Down
2 changes: 1 addition & 1 deletion 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], [18beta1], [[email protected]], [], [https://www.postgresql.org/])
AC_INIT([PostgreSQL], [19devel], [[email protected]], [], [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
97 changes: 37 additions & 60 deletions contrib/amcheck/t/006_verify_gin.pl
Original file line number Diff line number Diff line change
Expand Up @@ -54,20 +54,17 @@ sub invalid_entry_order_leaf_page_test

$node->stop;

my $blkno = 1; # root
my $blkno = 1; # root

# produce wrong order by replacing aaaaa with ccccc
string_replace_block(
$relpath,
'aaaaa',
'ccccc',
$blkno
);
string_replace_block($relpath, 'aaaaa', 'ccccc', $blkno);

$node->start;

my ($result, $stdout, $stderr) = $node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected = "index \"$indexname\" has wrong tuple order on entry tree page, block 1, offset 2, rightlink 4294967295";
my ($result, $stdout, $stderr) =
$node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected =
"index \"$indexname\" has wrong tuple order on entry tree page, block 1, offset 2, rightlink 4294967295";
like($stderr, qr/$expected/);
}

Expand Down Expand Up @@ -96,20 +93,17 @@ sub invalid_entry_order_inner_page_test

$node->stop;

my $blkno = 1; # root
my $blkno = 1; # root

# we have rrrrrrrrr... and tttttttttt... as keys in the root, so produce wrong order by replacing rrrrrrrrrr....
string_replace_block(
$relpath,
'rrrrrrrrrr',
'zzzzzzzzzz',
$blkno
);
string_replace_block($relpath, 'rrrrrrrrrr', 'zzzzzzzzzz', $blkno);

$node->start;

my ($result, $stdout, $stderr) = $node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected = "index \"$indexname\" has wrong tuple order on entry tree page, block 1, offset 2, rightlink 4294967295";
my ($result, $stdout, $stderr) =
$node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected =
"index \"$indexname\" has wrong tuple order on entry tree page, block 1, offset 2, rightlink 4294967295";
like($stderr, qr/$expected/);
}

Expand All @@ -129,7 +123,7 @@ sub invalid_entry_columns_order_test

$node->stop;

my $blkno = 1; # root
my $blkno = 1; # root

# mess column numbers
# root items order before: (1,aaa), (2,bbb)
Expand All @@ -139,26 +133,18 @@ sub invalid_entry_columns_order_test

my $find = qr/($attrno_1)(.)(aaa)/s;
my $replace = $attrno_2 . '$2$3';
string_replace_block(
$relpath,
$find,
$replace,
$blkno
);
string_replace_block($relpath, $find, $replace, $blkno);

$find = qr/($attrno_2)(.)(bbb)/s;
$replace = $attrno_1 . '$2$3';
string_replace_block(
$relpath,
$find,
$replace,
$blkno
);
string_replace_block($relpath, $find, $replace, $blkno);

$node->start;

my ($result, $stdout, $stderr) = $node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected = "index \"$indexname\" has wrong tuple order on entry tree page, block 1, offset 2, rightlink 4294967295";
my ($result, $stdout, $stderr) =
$node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected =
"index \"$indexname\" has wrong tuple order on entry tree page, block 1, offset 2, rightlink 4294967295";
like($stderr, qr/$expected/);
}

Expand All @@ -183,20 +169,17 @@ sub inconsistent_with_parent_key__parent_key_corrupted_test

$node->stop;

my $blkno = 1; # root
my $blkno = 1; # root

# we have nnnnnnnnnn... as parent key in the root, so replace it with something smaller then child's keys
string_replace_block(
$relpath,
'nnnnnnnnnn',
'aaaaaaaaaa',
$blkno
);
string_replace_block($relpath, 'nnnnnnnnnn', 'aaaaaaaaaa', $blkno);

$node->start;

my ($result, $stdout, $stderr) = $node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected = "index \"$indexname\" has inconsistent records on page 3 offset 3";
my ($result, $stdout, $stderr) =
$node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected =
"index \"$indexname\" has inconsistent records on page 3 offset 3";
like($stderr, qr/$expected/);
}

Expand All @@ -221,20 +204,17 @@ sub inconsistent_with_parent_key__child_key_corrupted_test

$node->stop;

my $blkno = 3; # leaf
my $blkno = 3; # leaf

# we have nnnnnnnnnn... as parent key in the root, so replace child key with something bigger
string_replace_block(
$relpath,
'nnnnnnnnnn',
'pppppppppp',
$blkno
);
string_replace_block($relpath, 'nnnnnnnnnn', 'pppppppppp', $blkno);

$node->start;

my ($result, $stdout, $stderr) = $node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected = "index \"$indexname\" has inconsistent records on page 3 offset 3";
my ($result, $stdout, $stderr) =
$node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected =
"index \"$indexname\" has inconsistent records on page 3 offset 3";
like($stderr, qr/$expected/);
}

Expand All @@ -254,24 +234,21 @@ sub inconsistent_with_parent_key__parent_key_corrupted_posting_tree_test

$node->stop;

my $blkno = 2; # posting tree root
my $blkno = 2; # posting tree root

# we have a posting tree for 'aaaaa' key with the root at 2nd block
# and two leaf pages 3 and 4. replace 4th page's high key with (1,1)
# so that there are tid's in leaf page that are larger then the new high key.
my $find = pack('S*', 0, 4, 0) . '....';
my $replace = pack('S*', 0, 4, 0, 1, 1);
string_replace_block(
$relpath,
$find,
$replace,
$blkno
);
string_replace_block($relpath, $find, $replace, $blkno);

$node->start;

my ($result, $stdout, $stderr) = $node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected = "index \"$indexname\": tid exceeds parent's high key in postingTree leaf on block 4";
my ($result, $stdout, $stderr) =
$node->psql('postgres', qq(SELECT gin_index_check('$indexname')));
my $expected =
"index \"$indexname\": tid exceeds parent's high key in postingTree leaf on block 4";
like($stderr, qr/$expected/);
}

Expand Down
2 changes: 1 addition & 1 deletion doc/src/sgml/filelist.sgml
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@
<!ENTITY sourcerepo SYSTEM "sourcerepo.sgml">

<!ENTITY release SYSTEM "release.sgml">
<!ENTITY release-18 SYSTEM "release-18.sgml">
<!ENTITY release-19 SYSTEM "release-19.sgml">

<!ENTITY limits SYSTEM "limits.sgml">
<!ENTITY acronyms SYSTEM "acronyms.sgml">
Expand Down
Loading