Features
Database capability detection and feature management.
Overview
Features represent database capabilities such as joins, subqueries, transactions, full-text search, JSON support, etc. Informer detects and stores these capabilities to optimize query generation.
GET /api/datasources/{id}/features
Get all features/capabilities for a datasource.
Response:
{
"_links": {
"self": { "href": "/api/datasources/{id}/features" }
},
"_embedded": {
"inf:feature": [
{
"id": "feature-uuid",
"datasourceId": "mysql-prod",
"feature": "joins",
"enabled": true,
"autoDetected": true
},
{
"id": "feature-uuid-2",
"datasourceId": "mysql-prod",
"feature": "subqueries",
"enabled": true,
"autoDetected": true
},
{
"id": "feature-uuid-3",
"datasourceId": "mysql-prod",
"feature": "fulltext",
"enabled": false,
"autoDetected": false
}
]
},
"start": 0,
"count": 3,
"total": 3
}
Common Features:
| Feature | Description |
|---|---|
joins | Support for JOIN operations |
subqueries | Nested SELECT queries |
transactions | Transaction support |
fulltext | Full-text search |
json | JSON data type and operations |
cte | Common Table Expressions (WITH) |
window | Window functions |
arrays | Array data types |
geospatial | Geographic/spatial data |
GET /api/datasources/{id}/features/{feature}
Get a specific feature status.
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Datasource ID |
feature | string | Feature name |
PUT /api/datasources/{id}/features/{feature}
Enable or disable a feature.
Permissions: datasource:write
Request Body:
{
"enabled": true
}
Response:
Returns updated feature object.
Use Case:
Manually enable a feature that wasn't auto-detected or disable a problematic feature.
POST /api/datasources/{id}/_detect-features
Auto-detect datasource capabilities.
Permissions: datasource:write
Response:
{
"detected": 8,
"features": [
"joins",
"subqueries",
"transactions",
"fulltext",
"json",
"cte",
"window",
"arrays"
]
}
Use Case:
Run feature detection after datasource creation or database upgrade.