Skip to content

GraphQL Compatibility

GraphQL Compatibility

Detailed feature compatibility reference for HeliosDB’s GraphQL implementation.

GraphQL Specification Compliance

FeatureStatusNotes
Query OperationsSupportedFull support
Mutation OperationsSupportedCRUD mutations
Subscription OperationsSupportedReal-time via WebSocket
FragmentsSupportedInline and named
VariablesSupportedAll types
DirectivesSupportedBuilt-in and custom
IntrospectionSupportedFull schema introspection

Schema Features

Types

TypeStatusNotes
ScalarSupportedString, Int, Float, Boolean, ID
ObjectSupportedAuto-generated from tables
Input ObjectSupportedFor mutations
EnumSupportedFrom table columns
ListSupportedArrays and connections
Non-NullSupportedRequired fields
InterfaceSupportedFor polymorphic types
UnionSupportedMultiple return types

Custom Scalars

ScalarStatusDatabase Type
DateTimeSupportedTIMESTAMP
DateSupportedDATE
TimeSupportedTIME
JSONSupportedJSONB
UUIDSupportedUUID
BigIntSupportedBIGINT
DecimalSupportedDECIMAL
UploadSupportedFor file uploads

Directives

DirectiveStatusDescription
@skipSupportedConditional field skip
@includeSupportedConditional field include
@deprecatedSupportedMark as deprecated
@specifiedBySupportedScalar URL specification
@authSupportedAuthentication required
@rbacSupportedRole-based access
@cacheSupportedResponse caching
@rateLimitSupportedField-level rate limiting

Query Capabilities

Filtering

OperatorExampleDescription
_eq{status: {_eq: "active"}}Equal
_neq{status: {_neq: "deleted"}}Not equal
_gt{age: {_gt: 18}}Greater than
_gte{age: {_gte: 18}}Greater or equal
_lt{price: {_lt: 100}}Less than
_lte{price: {_lte: 100}}Less or equal
_in{id: {_in: [1, 2, 3]}}In list
_nin{id: {_nin: [1, 2]}}Not in list
_like{name: {_like: "%john%"}}SQL LIKE
_ilike{name: {_ilike: "%JOHN%"}}Case-insensitive LIKE
_is_null{deleted_at: {_is_null: true}}IS NULL
_contains{tags: {_contains: ["a"]}}Array contains
_contained_in{tags: {_contained_in: ["a", "b"]}}Array contained in

Sorting

query {
users(order_by: [
{ created_at: desc },
{ name: asc }
]) {
id
name
}
}

Pagination

StyleStatusDescription
OffsetSupportedlimit and offset
CursorSupportedRelay-style connections
# Offset pagination
query {
users(limit: 10, offset: 20) {
id
name
}
}
# Cursor pagination
query {
usersConnection(first: 10, after: "cursor123") {
edges {
node { id name }
cursor
}
pageInfo {
hasNextPage
endCursor
}
}
}

Aggregations

query {
users_aggregate(where: {status: {_eq: "active"}}) {
aggregate {
count
sum { balance }
avg { age }
max { created_at }
min { created_at }
}
}
}

Mutations

Insert

mutation {
insert_users(objects: [
{ name: "Alice", email: "alice@example.com" }
]) {
affected_rows
returning {
id
name
}
}
}

Update

mutation {
update_users(
where: { id: { _eq: 1 } },
_set: { status: "inactive" }
) {
affected_rows
returning {
id
status
}
}
}

Delete

mutation {
delete_users(where: { status: { _eq: "deleted" } }) {
affected_rows
}
}

Upsert

mutation {
insert_users(
objects: [{ id: 1, name: "Alice", email: "alice@example.com" }],
on_conflict: {
constraint: users_pkey,
update_columns: [name, email]
}
) {
affected_rows
}
}

Subscriptions

subscription {
users(where: { status: { _eq: "active" } }) {
id
name
status
}
}

Federation

Apollo Federation v2 Support

DirectiveStatusDescription
@keySupportedEntity key
@externalSupportedExternal field
@requiresSupportedRequired fields
@providesSupportedProvided fields
@extendsSupportedType extension
@shareableSupportedShareable field
@inaccessibleSupportedHide from schema
@overrideSupportedOverride field
@tagSupportedSchema tagging

Performance Features

FeatureStatusDescription
Query BatchingSupportedMultiple queries in one request
DataLoaderSupportedN+1 query prevention
Persistent QueriesSupportedAPQ for reduced bandwidth
Response CachingSupportedConfigurable TTL
Query ComplexitySupportedCost analysis
Depth LimitingSupportedMax query depth

Client Compatibility

ClientStatusNotes
Apollo ClientTestedFull support
RelayTestedConnection spec
urqlTestedFull support
graphql-requestTestedLightweight client
gql (Python)TestedFull support
graphql-goTestedFull support

Last Updated: January 2026