aboutsummaryrefslogtreecommitdiffstats
path: root/tools/execute_sql_code.sh
blob: eb27ce28cb0779fe52d7495b0d746987d6184965 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env bash
set -e

# @describe Execute the sql code.
# @option --code! The code to execute.

# @meta require-tools usql

# @env USQL_DSN! The database connection url. e.g. pgsql://user:pass@host:port
# @env LLM_OUTPUT=/dev/stdout The output path

ROOT_DIR="${LLM_ROOT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"

main() {
    if ! grep -qi '^select' <<<"$argc_code"; then
        "$ROOT_DIR/utils/guard_operation.sh"
    fi
    usql -c "$argc_code" "$USQL_DSN" >> "$LLM_OUTPUT"
}

eval "$(argc --argc-eval "$0" "$@")"