Class QueryEngine

java.lang.Object
com.loomcache.server.query.QueryEngine

public class QueryEngine extends Object
Executes QueryPlan against a DistributedMap. Handles scanning entries, applying predicates, projecting columns, sorting, limiting, and aggregation.
  • Constructor Details

    • QueryEngine

      public QueryEngine()
  • Method Details

    • execute

      public <K> SqlResult execute(QueryPlan queryPlan, DistributedMap<K,?> map)
      Executes a query plan and returns a result set.
      Parameters:
      queryPlan - the parsed and prepared query plan
      map - the map to query
      Returns:
      a SqlResult containing the result rows
    • projectColumns

      public static SqlRow projectColumns(SqlRow row, List<String> selectedColumns)
      Projects a row to include only selected columns.
    • validateProjectedRowWidth

      public static int validateProjectedRowWidth(SqlRow row)
    • buildOrderByComparator

      public static Comparator<SqlRow> buildOrderByComparator(List<QueryPlan.OrderBy> orderByList)
      Applies ORDER BY clauses to a list of rows using a single composite comparator.
    • compareQueryValues

      public static int compareQueryValues(Object left, Object right)
    • getColumnNames

      public static List<String> getColumnNames(List<SqlRow> rows)
    • getColumnTypes

      public static List<SqlColumnType> getColumnTypes(List<SqlRow> rows)