pub trait Introspector: Send + Sync {
// Required methods
fn list_user_schemas<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = DbResult<Vec<String>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn introspect<'life0, 'life1, 'async_trait>(
&'life0 self,
schemas: &'life1 [String],
) -> Pin<Box<dyn Future<Output = DbResult<DatabaseMetadata>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn introspect_schema<'life0, 'life1, 'async_trait>(
&'life0 self,
schema_name: &'life1 str,
) -> Pin<Box<dyn Future<Output = DbResult<SchemaMetadata>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn introspect_table<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
schema_name: &'life1 str,
table_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = DbResult<TableMetadata>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn introspect_view<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
schema_name: &'life1 str,
view_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = DbResult<ViewMetadata>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn introspect_enums_for_schema<'life0, 'life1, 'async_trait>(
&'life0 self,
schema_name: &'life1 str,
) -> Pin<Box<dyn Future<Output = DbResult<HashMap<String, EnumMetadata>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}Expand description
The main Introspector trait that all database-specific introspectors must implement.