Next

QUINCE: QUeries IN C++ Expressions

Michael Shepanski

Distributed under the GNU Lesser General Public Licence, version 3.0


Table of Contents

I. Introduction
1. Queries in C++ Expressions
What, Why, How, and for Whom?
What Does it Look Like?
Rise of the Monster Query
The Quincessential Dot Points
2. Preparation
Which DBMS(es) Will You Be Using?
Prerequisites
Downloading Quince and the Backends
Configuring Boost.Build
Building Quince and the Backends
Building an Application
3. Getting Started
Ahem
Defining Mapped Class Types
Creating the Database Object
Creating the Table Objects
Opening the Tables
Clearing the Tables
Populating the Tables
Building Expressions for Server-Side Evaluation
Buliding a Query
Building Further
Ceci n'est pas une pipe
Executing the Query
The End
II. The Quince API in Depth
4. Exceptions
5. Mapped Data Types
Definition, Taxonomy
Polymorphically Mapped Types
boost::optional<...>
std::tuple<...>
User-Defined Class Types
6. Expressions for Server-Side Execution
Server-Side Expressions in General
Arithmetic Operations
String Concatenation
cast<...>()
Function Calls
Relational Operations
predicates and Logical Operations
exists()
in()
Collective Comparisons (PostgreSQL only)
Scalar Subqueries
choose()
Visibility
7. Queries
Queries in General
Compositionality
select()
where()
order()
distinct() and distinct_on()
The join() Family of Functions
Set-Theoretic Operations
skip() and limit()
Executing Queries
8. Tables
Tables in General
Terminology
Life Cycle of a Table Object
Construction and Primary Key
Indexes and Foreign Key Constraints
Data Manipulation
Table Alteration
9. Custom Mappings
Degrees of Freedom
Predefined Concrete Mapper Class Templates
Deployment
10. Transactions
11. Connection Management
III. The Back-End Libraries
12. quince_postgresql
The quince_postgresql::database constructor
Basic conversions
Default mappers
13. quince_sqlite
The quince_sqlite::database constructor
Basic conversions
Default mappers
A. Donate

Last revised: July 11, 2014 at 04:18:40 GMT


Next