|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Template query builder for type-safe ORM queries. More...
#include <entity.h>

Public Member Functions | |
| query_builder (std::shared_ptr< core::database_backend > db) | |
| query_builder & | where (const std::string &condition) |
| query_builder & | order_by (const std::string &field, bool ascending=true) |
| query_builder & | limit (size_t count) |
| query_builder & | offset (size_t count) |
| template<typename OtherEntity > | |
| std::enable_if_t< is_entity_v< OtherEntity >, query_builder & > | join (const std::string &condition) |
| template<typename OtherEntity > | |
| std::enable_if_t< is_entity_v< OtherEntity >, query_builder & > | left_join (const std::string &condition) |
| std::vector< EntityType > | execute () |
| std::optional< EntityType > | first () |
| size_t | count () |
| double | sum (const std::string &field) |
| double | avg (const std::string &field) |
| core::database_value | min (const std::string &field) |
| core::database_value | max (const std::string &field) |
Private Member Functions | |
| std::string | build_query () const |
| EntityType | map_result_to_entity (const core::database_result &result, size_t row) const |
Private Attributes | |
| std::shared_ptr< core::database_backend > | db_ |
| std::string | where_clause_ |
| std::string | order_clause_ |
| std::string | join_clause_ |
| size_t | limit_count_ = 0 |
| size_t | offset_count_ = 0 |
Template query builder for type-safe ORM queries.
| database::orm::query_builder< EntityType, typename >::query_builder | ( | std::shared_ptr< core::database_backend > | db | ) |
| double database::orm::query_builder< EntityType, typename >::avg | ( | const std::string & | field | ) |
|
private |
| size_t database::orm::query_builder< EntityType, typename >::count | ( | ) |
| std::vector< EntityType > database::orm::query_builder< EntityType, typename >::execute | ( | ) |
| std::optional< EntityType > database::orm::query_builder< EntityType, typename >::first | ( | ) |
| std::enable_if_t< is_entity_v< OtherEntity >, query_builder & > database::orm::query_builder< EntityType, typename >::join | ( | const std::string & | condition | ) |
| std::enable_if_t< is_entity_v< OtherEntity >, query_builder & > database::orm::query_builder< EntityType, typename >::left_join | ( | const std::string & | condition | ) |
| query_builder & database::orm::query_builder< EntityType, typename >::limit | ( | size_t | count | ) |
|
private |
| core::database_value database::orm::query_builder< EntityType, typename >::max | ( | const std::string & | field | ) |
| core::database_value database::orm::query_builder< EntityType, typename >::min | ( | const std::string & | field | ) |
| query_builder & database::orm::query_builder< EntityType, typename >::offset | ( | size_t | count | ) |
| query_builder & database::orm::query_builder< EntityType, typename >::order_by | ( | const std::string & | field, |
| bool | ascending = true ) |
| double database::orm::query_builder< EntityType, typename >::sum | ( | const std::string & | field | ) |
| query_builder & database::orm::query_builder< EntityType, typename >::where | ( | const std::string & | condition | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |