#!/usr/bin/env bash
# Trino 484 : les nouveautés, testées. Commandes du tutoriel, dans l'ordre (étapes 0 et 1, puis le ménage).
set -euo pipefail

# Étape 0 · Démarrer le serveur
docker run -d --name t484-tuto --memory 2g trinodb/trino:484

until docker logs t484-tuto 2>&1 | grep -q "SERVER STARTED"; do sleep 2; done; echo "Trino est prêt"

docker exec t484-tuto trino --execute "SELECT 1"

# Étape 1 · Récupérer le document et le ranger dans Trino
curl -s "https://geo.api.gouv.fr/departements/69/communes?fields=nom,code,codesPostaux,population,codeEpci,centre&format=json" -o communes-69.json
wc -c < communes-69.json

{ printf "CREATE TABLE memory.default.communes_69 AS SELECT JSON '"; sed "s/'/''/g" communes-69.json; printf "' AS doc;\n"; } > charger.sql
docker exec -i t484-tuto trino < charger.sql

# Ménage, à la fin du tutoriel (après quit dans le CLI) :
# docker rm -f t484-tuto
# rm communes-69.json charger.sql
