NatLabRockies / NatLabRockies/GridAnalysisToolkit

Parameterize DuckDB S3 configuration statements

Open Beginner friendly
#6 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

gat/backends/duckdb_backend.py configures httpfs via f-string interpolation:

conn.execute(f"SET s3_secret_access_key='{secret}'")

The values come from trusted env vars, so this isn't an injection risk in practice — but a credential containing a single quote breaks the statement. Use parameterized queries (conn.execute("SET s3_secret_access_key = ?", [secret])) or DuckDB's CREATE SECRET for robustness.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in gat/backends/duckdb_backend.py and inspect the httpfs configuration statements, especially the s3_secret_access_key assignment. Find the S3 settings that use f-string interpolation and replace them with the issue's proposed parameterization or DuckDB CREATE SECRET approach. Done means credentials containing a single quote configure successfully without breaking the statements.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
database
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.