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:
The driver capabilities eligible for this datasource, with their current installed state.
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/features"
}
},
"start": 0,
"count": 4,
"total": 4,
"_embedded": {
"inf:feature": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/features/hide-empty-mappings"
}
},
"id": "hide-empty-mappings",
"name": "Hide Empty Mappings",
"description": "Automatically hides Mappings that contain no records. Note that not all Datasources have this information on Mappings.",
"group": "Other",
"installed": false
},
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/features/northwind-datasets"
}
},
"id": "northwind-datasets",
"name": "Northwind Datasets",
"description": "Adds commonly used Datasets for Northwind",
"group": "Other",
"installed": true
},
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/features/northwind-schema"
}
},
"id": "northwind-schema",
"name": "Northwind Schema",
"description": "Automatically adds Links between tables found in the Northwind demo schema",
"group": "Other",
"installed": true
},
"… 1 more items (4 total) — omitted from docs"
]
}
}
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/{featureId}
Get a specific feature by its id.
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Datasource ID |
featureId | string | Feature id (from the features list) |
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/features/hide-empty-mappings"
}
},
"id": "00000000-0000-4000-8000-000000000001",
"tenant": "acme",
"datasourceId": "00000000-0000-4000-8000-000000000002",
"featureId": "hide-empty-mappings",
"version": null,
"data": {},
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z"
}
PUT /api/datasources/{id}/features/{featureId}
Install a feature on the datasource (by its id).
Permissions: datasource:write
Request Body:
Optional feature configuration; send {} to install with defaults.
{}
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/features/hide-empty-mappings"
}
},
"id": "00000000-0000-4000-8000-000000000001",
"tenant": "acme",
"datasourceId": "00000000-0000-4000-8000-000000000002",
"featureId": "hide-empty-mappings",
"version": null,
"data": {},
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z"
}
Use Case:
Manually enable a capability that wasn't auto-detected.
DELETE /api/datasources/{id}/features/{featureId}
Uninstall a feature from the datasource.
Permissions: datasource:write
PUT /api/datasources/{id}/features
Bulk install/uninstall features in one call. The body is a map of feature ids to install; features present in the datasource but absent from the body are uninstalled.