pub struct Session { /* private fields */ }Expand description
Database session information and state tracking.
Implementations§
Source§impl Session
impl Session
Sourcepub fn new(
session_id: String,
server_info: AuthResponseData,
config: SessionConfig,
) -> Self
pub fn new( session_id: String, server_info: AuthResponseData, config: SessionConfig, ) -> Self
Create a new session.
Sourcepub fn session_id(&self) -> &str
pub fn session_id(&self) -> &str
Get the session ID.
Sourcepub fn server_info(&self) -> &AuthResponseData
pub fn server_info(&self) -> &AuthResponseData
Get server information.
Sourcepub fn config(&self) -> &SessionConfig
pub fn config(&self) -> &SessionConfig
Get session configuration.
Sourcepub async fn state(&self) -> SessionState
pub async fn state(&self) -> SessionState
Get current session state.
Sourcepub async fn set_state(&self, new_state: SessionState)
pub async fn set_state(&self, new_state: SessionState)
Set session state.
Sourcepub async fn update_activity(&self)
pub async fn update_activity(&self)
Update last activity timestamp.
Sourcepub async fn idle_duration(&self) -> Duration
pub async fn idle_duration(&self) -> Duration
Get time since last activity.
Sourcepub async fn is_idle_timeout(&self) -> bool
pub async fn is_idle_timeout(&self) -> bool
Check if session is idle beyond timeout.
Sourcepub fn increment_query_count(&self) -> u64
pub fn increment_query_count(&self) -> u64
Increment query counter.
Sourcepub fn query_count(&self) -> u64
pub fn query_count(&self) -> u64
Get total query count.
Sourcepub fn in_transaction(&self) -> bool
pub fn in_transaction(&self) -> bool
Check if in transaction.
Sourcepub async fn begin_transaction(&self) -> Result<(), ConnectionError>
pub async fn begin_transaction(&self) -> Result<(), ConnectionError>
Begin a transaction.
Sourcepub async fn commit_transaction(&self) -> Result<(), ConnectionError>
pub async fn commit_transaction(&self) -> Result<(), ConnectionError>
Commit the current transaction.
Sourcepub async fn rollback_transaction(&self) -> Result<(), ConnectionError>
pub async fn rollback_transaction(&self) -> Result<(), ConnectionError>
Rollback the current transaction.
Sourcepub async fn current_schema(&self) -> Option<String>
pub async fn current_schema(&self) -> Option<String>
Get current schema.
Sourcepub async fn set_current_schema(&self, schema: Option<String>)
pub async fn set_current_schema(&self, schema: Option<String>)
Set current schema.
Sourcepub async fn get_attribute(&self, key: &str) -> Option<String>
pub async fn get_attribute(&self, key: &str) -> Option<String>
Get a session attribute.
Sourcepub async fn set_attribute(&self, key: String, value: String)
pub async fn set_attribute(&self, key: String, value: String)
Set a session attribute.
Sourcepub async fn remove_attribute(&self, key: &str) -> Option<String>
pub async fn remove_attribute(&self, key: &str) -> Option<String>
Remove a session attribute.
Sourcepub async fn close(&self) -> Result<(), ConnectionError>
pub async fn close(&self) -> Result<(), ConnectionError>
Close the session.
Sourcepub async fn mark_error(&self)
pub async fn mark_error(&self)
Mark session as having an error.
Sourcepub async fn validate_ready(&self) -> Result<(), ConnectionError>
pub async fn validate_ready(&self) -> Result<(), ConnectionError>
Validate session is ready for operations.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Session
impl !RefUnwindSafe for Session
impl Send for Session
impl Sync for Session
impl Unpin for Session
impl UnsafeUnpin for Session
impl !UnwindSafe for Session
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
Mutably borrows from an owned value. Read more