26#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_DATABASE_REST_QUERY_H_
27#define ROUTER_SRC_REST_MRS_SRC_MRS_DATABASE_REST_QUERY_H_
61 bool encode_bigints_as_strings =
false,
62 bool include_links =
true,
63 uint64_t max_execution_time_ms = 0);
64 explicit QueryRestTable(
bool encode_bigints_as_strings,
bool include_links,
65 uint64_t max_execution_time_ms = 0);
69 MySQLSession *session, std::shared_ptr<database::entry::Object>
object,
71 const uint64_t limit,
const std::string &url,
const bool is_default_limit,
108 const std::vector<RowGroupOwnership> &row_groups,
109 const std::set<UniversalId> &user_groups);
112 const uint64_t limit,
const std::string &url,
128 std::shared_ptr<database::entry::Object>
object,
129 const Column &column,
const uint64_t offset,
130 const uint64_t limit,
132 const FilterObjectGenerator &fog = {});
135 std::shared_ptr<database::entry::Object>
object,
137 const ObjectRowOwnership &row_ownership = {},
138 const FilterObjectGenerator &fog = {});
146 const uint64_t limit,
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:247
Definition: filter_object_generator.h:44
Definition: json_template.h:85
Definition: object_row_ownership.h:45
Definition: query_rest_table.h:48
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:97
mysqlrouter::sqlstring where_
Definition: query_rest_table.h:92
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:50
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:58
bool include_links_
Definition: query_rest_table.h:96
bool encode_bigints_as_strings_
Definition: query_rest_table.h:95
entry::AuthUser::UserId UserId
Definition: query_rest_table.h:52
std::shared_ptr< Object > object_
Definition: query_rest_table.h:89
std::shared_ptr< database::JsonTemplate > serializer_
Definition: query_rest_table.h:88
entry::ObjectField ObjectField
Definition: query_rest_table.h:51
const JsonTemplateFactory * factory_
Definition: query_rest_table.h:94
uint64_t items
Definition: query_rest_table.h:76
std::vector< helper::Column > columns_
Definition: query_rest_table.h:87
bool metadata_received_
Definition: query_rest_table.h:93
bool compute_etag_
Definition: query_rest_table.h:91
void on_row(const ResultRow &r) override
Definition: query_rest_table.cc:105
entry::UniversalId UniversalId
Definition: query_rest_table.h:53
std::string response
Definition: query_rest_table.h:75
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:55
void on_metadata(unsigned number, MYSQL_FIELD *fields) override
Definition: query_rest_table.cc:92
entry::RowGroupOwnership RowGroupOwnership
Definition: query_rest_table.h:54
void create_serializer()
Definition: query_rest_table.cc:526
const ObjectFieldFilter * field_filter_
Definition: query_rest_table.h:90
Config config_
Definition: query_rest_table.h:86
Definition: mysql_session.h:311
Definition: mysql_session.h:157
Definition: utils_sqlstring.h:67
static char * where
Definition: mysqldump.cc:156
mrs::database::entry::RowUserOwnership RowUserOwnership
Definition: handler_db_object_table.cc:76
MysqlCacheManager::Object Object
Definition: mysql_cache_manager.cc:111
entry::Column Column
Definition: select.h:53
database::entry::ObjectField ObjectField
Definition: sp_function_query.cc:51
std::map< std::string, mysqlrouter::sqlstring > PrimaryKeyColumnValues
Definition: select.h:43
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:79
uint64_t limit
Definition: query_rest_table.h:81
bool is_default_limit
Definition: query_rest_table.h:82
uint64_t offset
Definition: query_rest_table.h:80
std::string url_route
Definition: query_rest_table.h:83
UniversalId UserId
Definition: auth_user.h:47