Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add provider spec docs and fix queryParamPushdown location
- Create docs/provider_spec.md: comprehensive provider anatomy documentation
  covering hierarchy, config options, SQL verb mapping, inheritance, and
  all OpenAPI extensions
- Update skill file to clarify that queryParamPushdown must be at method
  level (no inheritance from resource/service/provider levels)
- Fix OData example in skill to show config at method level
  • Loading branch information
claude committed Nov 29, 2025
commit 4bc302d25f4a50c550ffa28b592496f36aef8c8b
53 changes: 30 additions & 23 deletions .claude/skills/stackql-provider-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -525,7 +525,7 @@ sqlExternalTables:

Enables SQL clause pushdown to API query parameters. Supports OData and custom API dialects for filter, projection, ordering, and limit operations.

**Location:** `x-stackQL-config.queryParamPushdown` at provider, service, resource, or method level. Lower-level config overrides higher-level config.
**Location:** Must be set at the **method level** within `methods.<methodName>.config.queryParamPushdown`. Unlike other config options (pagination, requestTranslate, etc.), queryParamPushdown does NOT inherit from resource, service, or provider levels.

```yaml
x-stackQL-config:
Expand Down Expand Up @@ -670,28 +670,35 @@ x-stackQL-resources:
list:
operation:
$ref: '#/paths/~1People/get'
config:
queryParamPushdown:
select:
dialect: odata
filter:
dialect: odata
supportedOperators:
- "eq"
- "ne"
- "gt"
- "lt"
- "ge"
- "le"
- "contains"
- "startswith"
- "endswith"
orderBy:
dialect: odata
top:
dialect: odata
count:
dialect: odata
response:
mediaType: application/json
openAPIDocKey: '200'
objectKey: $.value[*]
config:
queryParamPushdown:
select:
dialect: odata
filter:
dialect: odata
supportedOperators:
- "eq"
- "ne"
- "gt"
- "lt"
- "ge"
- "le"
- "contains"
- "startswith"
- "endswith"
orderBy:
dialect: odata
top:
dialect: odata
count:
dialect: odata
sqlVerbs:
select:
- $ref: '#/components/x-stackQL-resources/people/methods/list'
```

---
Expand Down
Loading
Loading