This package contains classes that allow NanoDB to be used from multiple concurrent clients, to maintain client session state, and so forth.
This package contains the classes that represent the commands that the NanoSQL database recognizes.
This package contains classes for representing and evaluating arithmetic and logical expressions.
This package contains the abstractions for supporting simple functions, aggregate functions, and table-returning functions in NanoDB.
This package contains classes for representing query execution plans, as well as analyzing their costs.
This package contains the query-evaluation components of the database.
This package contains the basic data-types for representing relations in NanoDB.
This package contains the classes for the Storage Manager, which is responsible for how data is stored in and retrieved from database files.
This package provides a naive implementation of the heap file organization for NanoDB.
This package contains the implementation for the write-ahead log, which allows us to provide transaction atomicity, consistency and durability.
This package contains classes for managing transactions at the logical level, such as concurrency control and isolation, deadlock detection and aborting transactions.
This package contains various generally useful utility classes that aren't specific to a particular area of NanoDB functionality.