Package edu.caltech.nanodb.queryeval
This package contains the query-evaluation components of the database. Query
evaluation includes the following kinds of statements:
- SELECT statements
- INSERT statements
- UPDATE statements
- DELETE statements
Commands that drive the evaluation components are represented as the
QueryCommand
class and its subclasses. The
details of the commands being performed are filled in by the SQL parser.
-
Interface Summary Interface Description Planner This interface specifies the common entry-point for all query planner/optimizer implementations.TupleProcessor This interface allows us to decouple the implementation of the query evaluation loop from the operations performed on each tuple generated by the evaluator. -
Class Summary Class Description ColumnStats This class holds some useful statistics for a specific column.ColumnStatsCollector This class facilitates the collection of statistics for a single column of a table being analyzed by theTableManager.analyzeTable(edu.caltech.nanodb.relations.TableInfo)
method.CostBasedJoinPlanner This planner implementation uses dynamic programming to devise an optimal join strategy for the query.CostBasedJoinPlanner.JoinComponent This helper class is used to keep track of one "join component" in the dynamic programming algorithm.Definitions This class holds expression aliases and view definitions during query planning.EvalStats This class holds statistics generated from a query evaluation operation, such as the number of rows fetched and the total time to perform the evaluation.PlanCost This class holds a collection of values that represent the cost of an operation against the database.PrettyPrintTools Various methods to use for pretty-printing, such as delimiters, padding, and such.PrettyTuplePrinter This implementation of the tuple-processor interface prints out the schema and the tuples produced by the SELECT statement in a cooler, prettier fashion.QueryEvaluator SelectivityEstimator This utility class is used to estimate the selectivity of predicates that appear on Select and Theta-Join plan-nodes.SimplestPlanner This class generates execution plans for very simple SQL SELECT * FROM tbl [WHERE P] queries.StatisticsUpdater This helper class provides basic functionality for updating column statistics based on a selection predicate.TableStats This class is a simple wrapper for table-file statistics.TuplePrinter This implementation of the tuple-processor interface simply prints out the schema and tuples produced by the SELECT statement. -
Exception Summary Exception Description InvalidSQLException This exception is used to signal when a SQL query contains a semantic error that prevents its evaluation.