pub struct MysqlAdapter { /* private fields */ }Expand description
MySQL/MariaDB database adapter.
Implementations§
Source§impl MysqlAdapter
impl MysqlAdapter
Sourcepub async fn new(config: &DatabaseConfig) -> Result<Self, AppError>
pub async fn new(config: &DatabaseConfig) -> Result<Self, AppError>
Creates a new MySQL adapter from configuration.
§Errors
Returns AppError::Connection if the connection fails.
Source§impl MysqlAdapter
impl MysqlAdapter
Sourcepub fn build_tool_router(&self) -> ToolRouter<Self>
pub fn build_tool_router(&self) -> ToolRouter<Self>
Builds the tool router, excluding write tools in read-only mode.
Source§impl MysqlAdapter
impl MysqlAdapter
Sourcepub fn tool_list_databases_tool_attr() -> Tool
pub fn tool_list_databases_tool_attr() -> Tool
Generated tool metadata function for list_databases
Sourcepub fn tool_list_databases(
&self,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
pub fn tool_list_databases( &self, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
List all accessible databases on the connected database server. Call this first to discover available database names.
Sourcepub fn tool_list_tables_tool_attr() -> Tool
pub fn tool_list_tables_tool_attr() -> Tool
Generated tool metadata function for list_tables
Sourcepub fn tool_list_tables(
&self,
Parameters: Parameters<ListTablesRequest>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
pub fn tool_list_tables( &self, Parameters: Parameters<ListTablesRequest>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
List all tables in a specific database.
Requires database_name from list_databases.
Sourcepub fn tool_get_table_schema_tool_attr() -> Tool
pub fn tool_get_table_schema_tool_attr() -> Tool
Generated tool metadata function for get_table_schema
Sourcepub fn tool_get_table_schema(
&self,
Parameters: Parameters<GetTableSchemaRequest>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
pub fn tool_get_table_schema( &self, Parameters: Parameters<GetTableSchemaRequest>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
Get column definitions (type, nullable, key, default) and foreign key
relationships for a table. Requires database_name and table_name.
Sourcepub fn tool_read_query_tool_attr() -> Tool
pub fn tool_read_query_tool_attr() -> Tool
Generated tool metadata function for read_query
Sourcepub fn tool_read_query(
&self,
Parameters: Parameters<QueryRequest>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
pub fn tool_read_query( &self, Parameters: Parameters<QueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
Execute a read-only SQL query (SELECT, SHOW, DESCRIBE, USE, EXPLAIN).
Sourcepub fn tool_write_query_tool_attr() -> Tool
pub fn tool_write_query_tool_attr() -> Tool
Generated tool metadata function for write_query
Sourcepub fn tool_write_query(
&self,
Parameters: Parameters<QueryRequest>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
pub fn tool_write_query( &self, Parameters: Parameters<QueryRequest>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
Execute a write SQL query (INSERT, UPDATE, DELETE, CREATE, ALTER, DROP).
Sourcepub fn tool_create_database_tool_attr() -> Tool
pub fn tool_create_database_tool_attr() -> Tool
Generated tool metadata function for create_database
Sourcepub fn tool_create_database(
&self,
Parameters: Parameters<CreateDatabaseRequest>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
pub fn tool_create_database( &self, Parameters: Parameters<CreateDatabaseRequest>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, ErrorData>> + Send + '_>>
Create a new database. Not supported for SQLite.
Trait Implementations§
Source§impl Clone for MysqlAdapter
impl Clone for MysqlAdapter
Source§fn clone(&self) -> MysqlAdapter
fn clone(&self) -> MysqlAdapter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MysqlAdapter
impl Debug for MysqlAdapter
Source§impl ServerHandler for MysqlAdapter
impl ServerHandler for MysqlAdapter
fn get_info(&self) -> ServerInfo
async fn call_tool( &self, request: CallToolRequestParams, context: RequestContext<RoleServer>, ) -> Result<CallToolResult, ErrorData>
async fn list_tools( &self, _request: Option<PaginatedRequestParams>, _context: RequestContext<RoleServer>, ) -> Result<ListToolsResult, ErrorData>
fn enqueue_task( &self, _request: CallToolRequestParams, _context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CreateTaskResult, ErrorData>> + MaybeSendFuture
fn ping( &self, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn initialize( &self, request: InitializeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<InitializeResult, ErrorData>> + MaybeSendFuture
fn complete( &self, request: CompleteRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CompleteResult, ErrorData>> + MaybeSendFuture
fn set_level( &self, request: SetLevelRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn get_prompt( &self, request: GetPromptRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetPromptResult, ErrorData>> + MaybeSendFuture
fn list_prompts( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListPromptsResult, ErrorData>> + MaybeSendFuture
fn list_resources( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListResourcesResult, ErrorData>> + MaybeSendFuture
fn list_resource_templates( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListResourceTemplatesResult, ErrorData>> + MaybeSendFuture
fn read_resource( &self, request: ReadResourceRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ReadResourceResult, ErrorData>> + MaybeSendFuture
fn subscribe( &self, request: SubscribeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn unsubscribe( &self, request: UnsubscribeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn on_custom_request( &self, request: CustomRequest, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CustomResult, ErrorData>> + MaybeSendFuture
fn on_cancelled( &self, notification: CancelledNotificationParam, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_progress( &self, notification: ProgressNotificationParam, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_initialized( &self, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_roots_list_changed( &self, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_custom_notification( &self, notification: CustomNotification, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn list_tasks( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListTasksResult, ErrorData>> + MaybeSendFuture
fn get_task_info( &self, request: GetTaskInfoParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetTaskResult, ErrorData>> + MaybeSendFuture
fn get_task_result( &self, request: GetTaskResultParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetTaskPayloadResult, ErrorData>> + MaybeSendFuture
fn cancel_task( &self, request: CancelTaskParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CancelTaskResult, ErrorData>> + MaybeSendFuture
Auto Trait Implementations§
impl Freeze for MysqlAdapter
impl !RefUnwindSafe for MysqlAdapter
impl Send for MysqlAdapter
impl Sync for MysqlAdapter
impl Unpin for MysqlAdapter
impl UnsafeUnpin for MysqlAdapter
impl !UnwindSafe for MysqlAdapter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<R, S> DynService<R> for Swhere
R: ServiceRole,
S: Service<R>,
impl<R, S> DynService<R> for Swhere
R: ServiceRole,
S: Service<R>,
fn handle_request( &self, request: <R as ServiceRole>::PeerReq, context: RequestContext<R>, ) -> Pin<Box<dyn Future<Output = Result<<R as ServiceRole>::Resp, ErrorData>> + Send + '_>>
fn handle_notification( &self, notification: <R as ServiceRole>::PeerNot, context: NotificationContext<R>, ) -> Pin<Box<dyn Future<Output = Result<(), ErrorData>> + Send + '_>>
fn get_info(&self) -> <R as ServiceRole>::Info
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more