feat(lagoon): per-query collation for OrderBy, drop the database locale check

- lagoon.OrderBy takes variadic lagoon.OrderOption values; lagoon.Collate(name)
  emits a validated, double-quoted COLLATE clause (e.g. "pl-x-icu")
- remove the exported CheckLocale and the ICU pl-PL check from Open and Use
- framework test containers and per-test databases are plain PostgreSQL
- lagoon README, root README and docs pages drop the locale requirement;
  queries-and-pagination gains a "Sorting with a collation" section
  backed by ExampleCollate
This commit is contained in:
Jakub Zych
2026-10-01 09:51:03 +02:00
parent 565ce982d9
commit 037dc53030
22 changed files with 344 additions and 168 deletions

View File

@@ -249,10 +249,8 @@ stage_postgres() {
local dir
dir="$(phase8_workdir)"
PHASE8_PG_CONTAINER="phase8-pg-$$"
# ICU pl-PL locale matches every other Go test's testcontainers Postgres
# in this project (e.g. plugins/golem15/fonoteka/updates's own
# startOAuthUpdatesPostgres): lagoon.Use refuses any other locale
# provider/locale at boot.
# The ICU pl-PL locale matches the application's recommended database;
# lagoon itself no longer checks the database locale.
docker run -d --rm --name "$PHASE8_PG_CONTAINER" \
-e POSTGRES_PASSWORD=phase8 -e POSTGRES_DB=fonoteka_phase8 \
-e POSTGRES_INITDB_ARGS="--locale-provider=icu --icu-locale=pl-PL --encoding=UTF8" \