Skip to main content

Overview

The queries built-in member executes SQL queries using Cloudflare Hyperdrive for connection pooling and query optimization.
- member: fetch-users
  type: Function
  config:
    builtin: queries
    query: SELECT * FROM users WHERE status = ?
    params: [active]
    catalog: main

Configuration

query
string
required
SQL query
params
array
Query parameters
catalog
string
default:"main"
Query catalog/database
timeout
number
default:"30000"
Query timeout

Examples

Simple Query

- member: get-user
  type: Function
  config:
    builtin: queries
    query: SELECT * FROM users WHERE id = ?
    params: [${input.userId}]

Prepared Statement

- member: insert-record
  type: Function
  config:
    builtin: queries
    query: INSERT INTO logs (event, data) VALUES (?, ?)
    params: [${input.event}, ${input.data}]

Transaction

- member: transfer-funds
  type: Function
  config:
    builtin: queries
    queries:
      - query: UPDATE accounts SET balance = balance - ? WHERE id = ?
        params: [${input.amount}, ${input.fromId}]
      - query: UPDATE accounts SET balance = balance + ? WHERE id = ?
        params: [${input.amount}, ${input.toId}]
    transaction: true

Output

interface QueriesOutput {
  results: any[];
  rowCount: number;
  duration: number;
}