MySQL 26.10.0
Source Code Documentation
mrs::database::QueryRestTableMedia Class Reference

#include <query_rest_table.h>

Inheritance diagram for mrs::database::QueryRestTableMedia:
[legend]

Public Types

using Column = entry::Column
 
- Public Types inherited from mrs::database::QueryRestTable
using Object = entry::Object
 
using ObjectField = entry::ObjectField
 
using UserId = entry::AuthUser::UserId
 
using UniversalId = entry::UniversalId
 
using RowGroupOwnership = entry::RowGroupOwnership
 
using RowUserOwnership = entry::RowUserOwnership
 
using ObjectFieldFilter = dv::ObjectFieldFilter
 
using VectorOfRowGroupOwnershp = std::vector< RowGroupOwnership >
 

Public Member Functions

 QueryRestTableMedia (uint64_t max_execution_time_ms=0)
 
void query_media_entries (MySQLSession *session, std::shared_ptr< database::entry::Object > object, const Column &column, const uint64_t offset, const uint64_t limit, const ObjectRowOwnership &row_ownership={}, const FilterObjectGenerator &fog={})
 
void query_entry (MySQLSession *session, std::shared_ptr< database::entry::Object > object, const Column &column, const PrimaryKeyColumnValues &pk, const ObjectRowOwnership &row_ownership={}, const FilterObjectGenerator &fog={})
 
- Public Member Functions inherited from mrs::database::QueryRestTable
 QueryRestTable (const JsonTemplateFactory *factory=nullptr, bool encode_bigints_as_strings=false, bool include_links=true, uint64_t max_execution_time_ms=0)
 
 QueryRestTable (bool encode_bigints_as_strings, bool include_links, uint64_t max_execution_time_ms=0)
 
virtual void query_entries (MySQLSession *session, std::shared_ptr< database::entry::Object > object, const ObjectFieldFilter &field_filter, const uint64_t offset, const uint64_t limit, const std::string &url, const bool is_default_limit, const ObjectRowOwnership &row_ownership={}, const FilterObjectGenerator &fog={}, const bool compute_etag=false)
 

Public Attributes

std::optional< std::string > media_response
 
- Public Attributes inherited from mrs::database::QueryRestTable
std::string response
 
uint64_t items {0}
 

Private Member Functions

void on_row (const ResultRow &r) override
 
void build_query (const Column &column, const uint64_t offset, const uint64_t limit, const ObjectRowOwnership &row_ownership, const FilterObjectGenerator &fog)
 
void build_query (const Column &column, const PrimaryKeyColumnValues &pk, const ObjectRowOwnership &row_ownership, const FilterObjectGenerator &fog)
 

Additional Inherited Members

- Protected Types inherited from mrs::database::QueryRaw
using MySQLSession = mysqlrouter::MySQLSession
 
using Row = MySQLSession::Row
 
using ResultRow = MySQLSession::ResultRow
 
using OnResultSetEnd = MySQLSession::OnResultSetEnd
 
- Protected Member Functions inherited from mrs::database::QueryRestTable
void create_serializer ()
 
void on_metadata (unsigned number, MYSQL_FIELD *fields) override
 
const mysqlrouter::sqlstring & build_where (const ObjectRowOwnership &row_ownership)
 
const mysqlrouter::sqlstring & build_where (const RowUserOwnership &row_user, UserId *user_id, const std::vector< RowGroupOwnership > &row_groups, const std::set< UniversalId > &user_groups)
 
void build_query (const ObjectFieldFilter &field_filter, const uint64_t offset, const uint64_t limit, const std::string &url, const ObjectRowOwnership &row_ownership, const FilterObjectGenerator &fog)
 
void extend_where (mysqlrouter::sqlstring &where, const FilterObjectGenerator &fog)
 
- Protected Member Functions inherited from mrs::database::QueryRaw
virtual ~QueryRaw ()=default
 
virtual void execute (MySQLSession *session)
 
virtual void query (MySQLSession *session, const std::string &q)
 
virtual void prepare_and_execute (MySQLSession *session, const std::string &q, std::vector< MYSQL_BIND > pt, const OnResultSetEnd &on_resultset_end)
 
std::unique_ptr< MySQLSession::ResultRow > query_one (MySQLSession *session)
 
std::unique_ptr< MySQLSession::ResultRow > query_one (MySQLSession *session, const std::string &q)
 
- Protected Attributes inherited from mrs::database::QueryRestTable
Config config_
 
std::vector< helper::Column > columns_
 
std::shared_ptr< database::JsonTemplate > serializer_
 
std::shared_ptr< Object > object_
 
const ObjectFieldFilter * field_filter_ {nullptr}
 
bool compute_etag_ {false}
 
mysqlrouter::sqlstring where_
 
bool metadata_received_ {false}
 
const JsonTemplateFactory * factory_
 
bool encode_bigints_as_strings_
 
bool include_links_
 
uint64_t max_execution_time_ms_
 
- Protected Attributes inherited from mrs::database::QueryRaw
mysqlrouter::sqlstring query_
 
std::optional< std::string > sqlstate_
 
MYSQL_FIELD * metadata_ {nullptr}
 
unsigned num_of_metadata_ {0}
 

Member Typedef Documentation

◆ Column

Constructor & Destructor Documentation

◆ QueryRestTableMedia()

mrs::database::QueryRestTableMedia::QueryRestTableMedia ( uint64_t  max_execution_time_ms = 0)
inlineexplicit

Member Function Documentation

◆ build_query() [1/2]

void mrs::database::QueryRestTableMedia::build_query ( const Column &  column,
const PrimaryKeyColumnValues &  pk,
const ObjectRowOwnership &  row_ownership,
const FilterObjectGenerator &  fog 
)
private

◆ build_query() [2/2]

void mrs::database::QueryRestTableMedia::build_query ( const Column &  column,
const uint64_t  offset,
const uint64_t  limit,
const ObjectRowOwnership &  row_ownership,
const FilterObjectGenerator &  fog 
)
private

◆ on_row()

void mrs::database::QueryRestTableMedia::on_row ( const ResultRow &  r)
overrideprivatevirtual

Reimplemented from mrs::database::QueryRestTable.

◆ query_entry()

void mrs::database::QueryRestTableMedia::query_entry ( MySQLSession *  session,
std::shared_ptr< database::entry::Object >  object,
const Column &  column,
const PrimaryKeyColumnValues &  pk,
const ObjectRowOwnership &  row_ownership = {},
const FilterObjectGenerator &  fog = {} 
)

◆ query_media_entries()

void mrs::database::QueryRestTableMedia::query_media_entries ( MySQLSession *  session,
std::shared_ptr< database::entry::Object >  object,
const Column &  column,
const uint64_t  offset,
const uint64_t  limit,
const ObjectRowOwnership &  row_ownership = {},
const FilterObjectGenerator &  fog = {} 
)

Member Data Documentation

◆ media_response

std::optional<std::string> mrs::database::QueryRestTableMedia::media_response

The documentation for this class was generated from the following files: