Skip to content
makr-code edited this page Nov 18, 2025 · 1 revision

aql_translator.cpp

Path: src/query/aql_translator.cpp

Purpose: Translate AQL AST fragments into internal query engine operations; handles FULLTEXT parsing.

Public functions / symbols:

  • if (!ast) {
  • if (ast->traversal) {
  • switch (ast->traversal->direction) {
  • for (const auto& filter : ast->filters) {
  • ``
  • if (!filter || !filter->condition) {
  • if (ast->sort) {
  • if (bo->op == BinaryOperator::And) {
  • if (name != "fulltext") {
  • for (const auto& predExpr : predicateExprs) {
  • if (!expr) {
  • if (binOp->op == BinaryOperator::And) {
  • if (binOp->op == BinaryOperator::Or) {
  • switch (binOp->op) {
  • if (limit) {
  • for (const auto& leftConj : leftDNF) {
  • for (const auto& rightConj : rightDNF) {
  • return findFulltext(bo->right);
  • collectNonFulltext(bo->left, preds);
  • collectNonFulltext(bo->right, preds);
  • collectNonFulltext(filter->condition, predicateExprs);
  • extractPredicates(binOp->right, eqPredicates, rangePredicates, error);

Notes / TODOs:

  • Document FULLTEXT translation steps and tokenization.

ThemisDB Wiki

Getting Started

SDKs and Clients

Query Language (AQL)

Search and Retrieval

Storage and Indexes

Security and Compliance

Enterprise Features

Performance and Optimization

Features and Capabilities

Geo and Spatial

Content and Ingestion

Sharding and Scaling

APIs and Integration

Admin Tools

Observability

Development

Architecture

Deployment and Operations

Exporters and Integrations

Reports and Status

Compliance and Governance

Testing and Quality

Source Code Documentation

Reference


Updated: 2025-11-30

Clone this wiki locally