is($node1->safe_psql('dbicu', q{SELECT icu_unicode_version() IS NOT NULL}),
qq(t), 'ICU unicode version defined');
is( $node1->safe_psql('dbicu', q{SELECT def FROM icu ORDER BY def}),
qq(A
a
B
b), 'sort by database default locale');
is( $node1->safe_psql( 'dbicu', q{SELECT def FROM icu ORDER BY def COLLATE "en-x-icu"}),
qq(a
A
b
B), 'sort by explicit collation standard');
is( $node1->safe_psql( 'dbicu', q{SELECT def FROM icu ORDER BY en COLLATE upperfirst}),
qq(A
a
B
b), 'sort by explicit collation upper first');
# Test that LOCALE='C' works for ICU
is( $node1->psql( 'postgres',
q{CREATE DATABASE dbicu1 LOCALE_PROVIDER icu LOCALE 'C' TEMPLATE template0 ENCODING UTF8}
), 0, "C locale works for ICU");
# Test that LOCALE works for ICU locales if LC_COLLATE and LC_CTYPE # are specified
is( $node1->psql( 'postgres',
q{CREATE DATABASE dbicu2 LOCALE_PROVIDER icu LOCALE '@colStrength=primary'
LC_COLLATE='C' LC_CTYPE='C' TEMPLATE template0 ENCODING UTF8}
), 0, "LOCALE works for ICU locales if LC_COLLATE and LC_CTYPE are specified");
my ($ret, $stdout, $stderr) = $node1->psql('postgres',
q{CREATE DATABASE dbicu3 LOCALE_PROVIDER builtin LOCALE 'C' TEMPLATE dbicu}
);
isnt($ret, 0, "locale provider must match template: exit code not 0");
like(
$stderr,
qr/ERROR: new locale provider \(builtin\) does not match locale provider of the template database \(icu\)/, "locale provider must match template: error message");
done_testing();
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-08-10)
¤
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.