MySQL 9.3.0
Source Code Documentation
mrs::endpoint::handler::HandlerDbObjectScript Class Reference

#include <handler_db_object_script.h>

Inheritance diagram for mrs::endpoint::handler::HandlerDbObjectScript:
[legend]

Classes

class  Impl
 

Public Member Functions

 HandlerDbObjectScript (std::weak_ptr< DbObjectEndpoint > endpoint, mrs::interface::AuthorizeManager *auth_manager, mrs::GtidManager *gtid_manager=nullptr, collector::MysqlCacheManager *cache=nullptr, mrs::ResponseCache *response_cache=nullptr)
 
HttpResult handle_get (rest::RequestContext *ctxt) override
 
HttpResult handle_delete (rest::RequestContext *ctxt) override
 
HttpResult handle_put (rest::RequestContext *ctxt) override
 
HttpResult handle_post (rest::RequestContext *ctxt, const std::vector< uint8_t > &document) override
 
 ~HandlerDbObjectScript () override=default
 
uint32_t get_access_rights () const override
 
- Public Member Functions inherited from mrs::endpoint::handler::HandlerDbObjectTable
 HandlerDbObjectTable (std::weak_ptr< DbObjectEndpoint > endpoint, mrs::interface::AuthorizeManager *auth_manager, mrs::GtidManager *gtid_manager=nullptr, collector::MysqlCacheManager *cache=nullptr, mrs::ResponseCache *response_cache=nullptr, mrs::database::SlowQueryMonitor *slow_monitor=nullptr)
 
Authorization requires_authentication () const override
 
UniversalId get_service_id () const override
 
UniversalId get_db_object_id () const override
 
UniversalId get_schema_id () const override
 
const std::string & get_service_path () const override
 
const std::string & get_db_object_path () const override
 
const std::string & get_schema_path () const override
 
void authorization (rest::RequestContext *ctxt) override
 
HttpResult handle_get (rest::RequestContext *ctxt) override
 
HttpResult handle_post (rest::RequestContext *ctxt, const std::vector< uint8_t > &document) override
 Post is insert. More...
 
HttpResult handle_delete (rest::RequestContext *ctxt) override
 
HttpResult handle_put (rest::RequestContext *ctxt) override
 
uint32_t get_access_rights () const override
 
- Public Member Functions inherited from mrs::rest::Handler
 Handler (const Protocol protocol, const std::string &url_host, const std::vector< std::string > &rest_path_matcher, const std::optional< std::string > &options, interface::AuthorizeManager *auth_manager)
 
 ~Handler () override
 
void initialize (const Configuration &configuration) override
 
const std::string & get_url_host () const override
 
const std::string & get_protocol () const override
 
bool may_check_access () const override
 
void authorization (RequestContext *ctxt) override
 
bool request_begin (RequestContext *ctxt) override
 
void request_end (RequestContext *ctxt) override
 
bool request_error (RequestContext *ctxt, const http::Error &e) override
 Error handler. More...
 
const interface::Optionsget_options () const override
 
void throw_unauthorize_when_check_auth_fails (RequestContext *)
 
uint32_t check_privileges (const std::vector< database::entry::AuthPrivilege > &privileges, const UniversalId &service_id, const std::string &service_path, const UniversalId &schema_id, const std::string &schema_path, const UniversalId &db_object_id, const std::string &db_object_path)
 
- Public Member Functions inherited from mrs::interface::RestHandler
virtual ~RestHandler ()=default
 
virtual void initialize (const Configuration &configuration)=0
 

Private Member Functions

HttpResult handle_script (rest::RequestContext *ctxt)
 
HttpResult handle_script (rest::RequestContext *ctxt, const std::vector< uint8_t > &document)
 

Private Attributes

std::shared_ptr< Implm_impl
 
bool always_nest_result_sets_ {false}
 

Friends

class Impl
 

Additional Inherited Members

- Public Types inherited from mrs::endpoint::handler::HandlerDbObjectTable
using DbObject = mrs::database::entry::DbObject
 
using DbSchema = mrs::database::entry::DbSchema
 
using DbService = mrs::database::entry::DbService
 
using DbObjectPtr = std::shared_ptr< DbObject >
 
using DbSchemaPtr = std::shared_ptr< DbSchema >
 
using DbServicePtr = std::shared_ptr< DbService >
 
using DbObjectEndpoint = mrs::endpoint::DbObjectEndpoint
 
using EndpointResponseCachePtr = std::shared_ptr< mrs::ItemEndpointResponseCache >
 
using CachedSession = collector::MysqlCacheManager::CachedObject
 
- Public Types inherited from mrs::rest::Handler
using HttpUri = ::http::base::Uri
 
using Protocol = ::mrs::endpoint::handler::Protocol
 
- Public Types inherited from mrs::interface::RestHandler
enum class  Authorization { kNotNeeded , kRequires , kCheck }
 
using SqlSession = mysqlrouter::MySQLSession
 
using RequestContext = mrs::rest::RequestContext
 
using Parameters = mrs::interface::Parameters
 
using HttpResult = mrs::interface::HttpResult
 
- Protected Member Functions inherited from mrs::endpoint::handler::HandlerDbObjectTable
CachedSession get_session (rest::RequestContext *ctxt, collector::MySQLConnection type=collector::MySQLConnection::kMySQLConnectionUserdataRO)
 
uint64_t get_items_on_page () const
 
mrs::database::ObjectRowOwnership row_ownership_info (rest::RequestContext *ctxt, std::shared_ptr< database::entry::Object > object) const
 
uint64_t slow_query_timeout () const
 
- Protected Member Functions inherited from mrs::rest::Handler
const std::string & empty_path () const
 
- Protected Attributes inherited from mrs::endpoint::handler::HandlerDbObjectTable
mrs::GtidManagergtid_manager_
 
collector::MysqlCacheManagercache_
 
std::weak_ptr< DbObjectEndpointendpoint_
 
DbObjectPtr entry_
 
DbSchemaPtr schema_entry_
 
DbServicePtr service_entry_
 
mrs::database::entry::RowUserOwnership ownership_
 
EndpointResponseCachePtr response_cache_
 
mrs::database::SlowQueryMonitorslow_monitor_
 
bool passthrough_db_user_ {false}
 
- Protected Attributes inherited from mrs::rest::Handler
interface::Options options_
 
const std::string url_host_
 
std::vector< std::string > rest_path_matcher_
 
std::vector< void * > handler_id_
 
interface::AuthorizeManagerauthorization_manager_
 
const std::string protocol_
 
std::shared_ptr< Configuration > configuration_
 
bool log_level_is_debug_
 
bool log_level_is_info_
 

Constructor & Destructor Documentation

◆ HandlerDbObjectScript()

mrs::endpoint::handler::HandlerDbObjectScript::HandlerDbObjectScript ( std::weak_ptr< DbObjectEndpoint endpoint,
mrs::interface::AuthorizeManager auth_manager,
mrs::GtidManager gtid_manager = nullptr,
collector::MysqlCacheManager cache = nullptr,
mrs::ResponseCache response_cache = nullptr 
)

◆ ~HandlerDbObjectScript()

mrs::endpoint::handler::HandlerDbObjectScript::~HandlerDbObjectScript ( )
overridedefault

Member Function Documentation

◆ get_access_rights()

uint32_t mrs::endpoint::handler::HandlerDbObjectScript::get_access_rights ( ) const
overridevirtual

◆ handle_delete()

HttpResult mrs::endpoint::handler::HandlerDbObjectScript::handle_delete ( rest::RequestContext ctxt)
overridevirtual

◆ handle_get()

HttpResult mrs::endpoint::handler::HandlerDbObjectScript::handle_get ( rest::RequestContext ctxt)
overridevirtual

◆ handle_post()

HttpResult mrs::endpoint::handler::HandlerDbObjectScript::handle_post ( rest::RequestContext ctxt,
const std::vector< uint8_t > &  document 
)
overridevirtual

◆ handle_put()

HttpResult mrs::endpoint::handler::HandlerDbObjectScript::handle_put ( rest::RequestContext ctxt)
overridevirtual

◆ handle_script() [1/2]

HttpResult mrs::endpoint::handler::HandlerDbObjectScript::handle_script ( rest::RequestContext ctxt)
private

◆ handle_script() [2/2]

HttpResult mrs::endpoint::handler::HandlerDbObjectScript::handle_script ( rest::RequestContext ctxt,
const std::vector< uint8_t > &  document 
)
private

Friends And Related Function Documentation

◆ Impl

friend class Impl
friend

Member Data Documentation

◆ always_nest_result_sets_

bool mrs::endpoint::handler::HandlerDbObjectScript::always_nest_result_sets_ {false}
private

◆ m_impl

std::shared_ptr<Impl> mrs::endpoint::handler::HandlerDbObjectScript::m_impl
private

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