IndexBuilder

Trait IndexBuilder 

Source
pub trait IndexBuilder: QuotedBuilder + TableRefBuilder {
    // Required methods
    fn prepare_index_create_statement(
        &self,
        create: &IndexCreateStatement,
        sql: &mut impl SqlWriter,
    );
    fn prepare_table_ref_index_stmt(
        &self,
        table_ref: &TableRef,
        sql: &mut impl SqlWriter,
    );
    fn prepare_index_drop_statement(
        &self,
        drop: &IndexDropStatement,
        sql: &mut impl SqlWriter,
    );

    // Provided method
    fn prepare_table_index_expression(
        &self,
        create: &IndexCreateStatement,
        sql: &mut impl SqlWriter,
    ) { ... }
}

Required Methods§

Source

fn prepare_index_create_statement( &self, create: &IndexCreateStatement, sql: &mut impl SqlWriter, )

Translate IndexCreateStatement into SQL statement.

Source

fn prepare_table_ref_index_stmt( &self, table_ref: &TableRef, sql: &mut impl SqlWriter, )

Translate TableRef into SQL statement.

Source

fn prepare_index_drop_statement( &self, drop: &IndexDropStatement, sql: &mut impl SqlWriter, )

Translate IndexDropStatement into SQL statement.

Provided Methods§

Source

fn prepare_table_index_expression( &self, create: &IndexCreateStatement, sql: &mut impl SqlWriter, )

Translate IndexCreateStatement into SQL expression. This is the default implementation for PostgresQueryBuilder and SqliteQueryBuilder. MysqlQueryBuilder overrides this default implementation.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl IndexBuilder for MysqlQueryBuilder

Available on crate feature backend-mysql only.
Source§

impl IndexBuilder for PostgresQueryBuilder

Available on crate feature backend-postgres only.
Source§

impl IndexBuilder for SqliteQueryBuilder

Available on crate feature backend-sqlite only.