# Copyright (c) 2021-2025, PostgreSQL Global Development Group
# Test collations, in particular nondeterministic ones # (only works with ICU)
use strict;
use warnings FATAL => 'all';
use PostgreSQL::Test::Cluster;
use PostgreSQL::Test::Utils;
use Test::More;
if ($ENV{with_icu} ne 'yes')
{
plan skip_all => 'ICU not supported by this build';
}
my $node_publisher = PostgreSQL::Test::Cluster->new('publisher');
$node_publisher->init(
allows_streaming => 'logical',
extra => [ '--locale=C', '--encoding=UTF8' ]);
$node_publisher->start;
my $publisher_connstr = $node_publisher->connstr . ' dbname=postgres';
# Test plan: Create a table with a nondeterministic collation in the # primary key column. Pre-insert rows on the publisher and subscriber # that are collation-wise equal but byte-wise different. (We use a # string in different normal forms for that.) Set up publisher and # subscriber. Update the row on the publisher, but don't change the # primary key column. The subscriber needs to find the row to be # updated using the nondeterministic collation semantics. We need to # test for both a replica identity index and for replica identity # full, since those have different code paths internally.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.