Skip to content

SQL (Relational)

Terminal window
curl -X POST https://magnusdb.dev/api/sql/query \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sql": "SELECT * FROM users WHERE created_at > ?",
"params": ["2024-01-01"]
}'
Terminal window
curl -X POST https://magnusdb.dev/api/sql/batch \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"statements": [
{"sql": "INSERT INTO logs (msg) VALUES (?)", "params": ["start"]},
{"sql": "INSERT INTO logs (msg) VALUES (?)", "params": ["end"]}
]
}'

Magnus routes SQL to D1 or Hyperdrive (Postgres) based on syntax detection:

TriggerRoutes to
Window functions (ROW_NUMBER, RANK, LAG, etc.)Hyperdrive
ILIKEHyperdrive
::type castsHyperdrive
RETURNING clauseHyperdrive
LATERAL joinsHyperdrive
JSON operators (->, ->>, #>, #>>)Hyperdrive
JSONB typeHyperdrive
WITH RECURSIVEHyperdrive
GENERATE_SERIESHyperdrive
Array syntaxHyperdrive
Everything elseD1