Skip to main content

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:

FeatureDescription
joinsSupport for JOIN operations
subqueriesNested SELECT queries
transactionsTransaction support
fulltextFull-text search
jsonJSON data type and operations
cteCommon Table Expressions (WITH)
windowWindow functions
arraysArray data types
geospatialGeographic/spatial data

GET /api/datasources/{id}/features/{feature}

Get a specific feature status.

Path Parameters:

ParameterTypeDescription
idstringDatasource ID
featurestringFeature 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.