Skip to content

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 25 Mar 00:03

What's new

Lazy paginating stream — API pages are now fetched on demand, one per poll. This enables JOINs to pull enough data from both sides without requiring subqueries with explicit LIMIT.

Configurable MAX_ROWS — Each table scan fetches up to max_rows (default 1000) when no SQL LIMIT is specified. Override with:

  • --max-rows 5000 (CLI flag)
  • SQLIZE_MAX_ROWS=5000 (env var)

SQL LIMIT is still respected when DataFusion pushes it down.

Single-object endpoints — GET endpoints that return a JSON object (not an array) are now included as one-row tables. e.g. GET /repos/{owner}/{repo} is queryable and works in JOINs:

SELECT r.name, r.stargazers_count, i.number, i.title
FROM repos r
JOIN repos_issues i ON r.owner = i.owner AND r.repo = i.repo
WHERE r.owner = 'openclaw' AND r.repo = 'openclaw'
  AND i.owner = 'openclaw' AND i.repo = 'openclaw'
  AND i.state = 'open'
LIMIT 5;

Fixes

  • Path params (owner, repo) now always use the WHERE clause value, not the response JSON
    field. Fixes JOINs on path param columns where a response field with the same name would shadow the string value.
  • Wrapped array detection now requires array items to be objects, preventing false matches on primitive arrays.
  • All response columns are now nullable to handle APIs that return null for spec-declared required fields.