#!/bin/env bash
set -eo pipefail
if [ -z $MARIADB_VERSION ] || [ -z $1 ]; then
    echo "usage: MARIADB_VERSION=xx.yy.zz $0 <script>" >&2
    exit 1
fi
MARIADB_IMAGE="mariadb:$MARIADB_VERSION"
CONTAINER_NAME="mariadb-test-$MARIADB_VERSION"
{
    echo "starting container"
    docker run \
        -dit \
        --name "$CONTAINER_NAME" \
        -e 'MARIADB_ROOT_PASSWORD=test' \
        -e 'MARIADB_DATABASE=test' \
        "$MARIADB_IMAGE" \
        --innodb-buffer-pool-dump-at-shutdown=OFF \
        --innodb-file-per-table=1 \
        --innodb-flush-log-at-trx-commit=0 \
        --innodb-flush-method=O_DIRECT \
        --innodb-buffer-pool-dump-at-shutdown=OFF \
        --extra-port=13306 \
        --thread-handling=pool-of-threads \
        --thread-pool-exact-stats=ON \
        --thread-pool-idle-timeout=1 \
        --thread-pool-size=1 \
        --thread-pool-max-threads=4
} >&2
docker cp "$1" "$CONTAINER_NAME:/usr/local/bin/"
set +e
docker exec "$CONTAINER_NAME" "/usr/local/bin/$(basename "$1")"
if [ $? != 143 ] && [ $? != 0 ]; then
    exit $?
fi
{
    echo "stopping container"
    docker stop "$CONTAINER_NAME"
    docker rm -vf "$CONTAINER_NAME"
} >&2
