26#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_DATABASE_REST_QUERY_H_
27#define ROUTER_SRC_REST_MRS_SRC_MRS_DATABASE_REST_QUERY_H_
60 bool encode_bigints_as_strings =
false,
61 bool include_links =
true,
62 uint64_t max_execution_time_ms = 0);
63 explicit QueryRestTable(
bool encode_bigints_as_strings,
bool include_links,
64 uint64_t max_execution_time_ms = 0);
68 MySQLSession *session, std::shared_ptr<database::entry::Object>
object,
70 const uint64_t limit,
const std::string &url,
const bool is_default_limit,
107 const std::vector<RowGroupOwnership> &row_groups,
108 const std::set<UniversalId> &user_groups);
111 const uint64_t limit,
const std::string &url,
Definition: filter_object_generator.h:44
Definition: json_template.h:85
Definition: object_row_ownership.h:45
Definition: query_rest_table.h:47
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)
Definition: query_rest_table.cc:388
uint64_t max_execution_time_ms_
Definition: query_rest_table.h:96
mysqlrouter::sqlstring where_
Definition: query_rest_table.h:91
QueryRestTable(const JsonTemplateFactory *factory=nullptr, bool encode_bigints_as_strings=false, bool include_links=true, uint64_t max_execution_time_ms=0)
Definition: query_rest_table.cc:52
entry::Object Object
Definition: query_rest_table.h:49
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)
Definition: query_rest_table.cc:67
std::vector< RowGroupOwnership > VectorOfRowGroupOwnershp
Definition: query_rest_table.h:57
bool include_links_
Definition: query_rest_table.h:95
bool encode_bigints_as_strings_
Definition: query_rest_table.h:94
entry::AuthUser::UserId UserId
Definition: query_rest_table.h:51
std::shared_ptr< Object > object_
Definition: query_rest_table.h:88
std::shared_ptr< database::JsonTemplate > serializer_
Definition: query_rest_table.h:87
entry::ObjectField ObjectField
Definition: query_rest_table.h:50
const JsonTemplateFactory * factory_
Definition: query_rest_table.h:93
uint64_t items
Definition: query_rest_table.h:75
std::vector< helper::Column > columns_
Definition: query_rest_table.h:86
bool metadata_received_
Definition: query_rest_table.h:92
bool compute_etag_
Definition: query_rest_table.h:90
void on_row(const ResultRow &r) override
Definition: query_rest_table.cc:105
entry::UniversalId UniversalId
Definition: query_rest_table.h:52
std::string response
Definition: query_rest_table.h:74
const mysqlrouter::sqlstring & build_where(const ObjectRowOwnership &row_ownership)
Definition: query_rest_table.cc:117
void extend_where(mysqlrouter::sqlstring &where, const FilterObjectGenerator &fog)
Definition: query_rest_table.cc:369
entry::RowUserOwnership RowUserOwnership
Definition: query_rest_table.h:54
void on_metadata(unsigned number, MYSQL_FIELD *fields) override
Definition: query_rest_table.cc:92
entry::RowGroupOwnership RowGroupOwnership
Definition: query_rest_table.h:53
void create_serializer()
Definition: query_rest_table.cc:436
const ObjectFieldFilter * field_filter_
Definition: query_rest_table.h:89
Config config_
Definition: query_rest_table.h:85
Definition: mysql_session.h:310
Definition: mysql_session.h:157
Definition: utils_sqlstring.h:67
static char * where
Definition: mysqldump.cc:153
mrs::database::entry::RowUserOwnership RowUserOwnership
Definition: handler_db_object_table.cc:75
MysqlCacheManager::Object Object
Definition: mysql_cache_manager.cc:101
database::entry::ObjectField ObjectField
Definition: sp_function_query.cc:51
Definition: authorize_manager.h:48
mrs::database::entry::UniversalId UniversalId
Definition: universal_id.h:33
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86
Definition: query_rest_table.h:78
uint64_t limit
Definition: query_rest_table.h:80
bool is_default_limit
Definition: query_rest_table.h:81
uint64_t offset
Definition: query_rest_table.h:79
std::string url_route
Definition: query_rest_table.h:82
UniversalId UserId
Definition: auth_user.h:48