pub struct M0004;Expand description
Migration that swaps idx_event_type for a composite cursor-scan index.
§Changes
- Creates
idx_event_type_routing_cursoron(aggregator_type, routing_key, timestamp, timestamp_subsec, version). - Drops
idx_event_type(redundant once the composite index exists — same leading column, planner will use the new one).
§Notes
nameis intentionally not part of the index: it is only ever a per-aggregator-branch residual predicate inside an OR, and with the typical small set of event names per aggregator type the residual scan stays cheap.- The
ORDER BYtail stops atversion;(timestamp, timestamp_subsec, version)is unique in practice, so the trailingidadds storage without eliminating any sort work.
§Dependencies
This migration depends on M0003.
Trait Implementations§
Source§impl Migration<MySql> for M0004
impl Migration<MySql> for M0004
Source§fn app(&self) -> &str
fn app(&self) -> &str
Returns the application name associated with the migration.
This can be the name of the folder or library where the migration is
located. Read more
Source§fn name(&self) -> &str
fn name(&self) -> &str
Returns the migration name, typically the file name without the
extension. Read more
Source§fn parents(&self) -> Vec<Box<dyn Migration<MySql>>>
fn parents(&self) -> Vec<Box<dyn Migration<MySql>>>
Returns the list of parent migrations. Read more
Source§fn operations(&self) -> Vec<Box<dyn Operation<MySql>>>
fn operations(&self) -> Vec<Box<dyn Operation<MySql>>>
Returns the operations associated with this migration. Read more
Source§fn replaces(&self) -> Vec<Box<dyn Migration<DB>>>
fn replaces(&self) -> Vec<Box<dyn Migration<DB>>>
Returns the list of migrations that this migration replaces. Read more
Source§fn run_before(&self) -> Vec<Box<dyn Migration<DB>>>
fn run_before(&self) -> Vec<Box<dyn Migration<DB>>>
Returns the list of migrations that this migration must run before(when
applying) or after (when reverting). Read more
Source§fn is_atomic(&self) -> bool
fn is_atomic(&self) -> bool
Indicates whether the migration is atomic.
By default, this function returns
true, meaning the migration is
atomic. Read moreSource§fn is_virtual(&self) -> bool
fn is_virtual(&self) -> bool
Indicates whether the migration is virtual.
By default, this function returns
false, meaning the migration is not
virtual. Read moreSource§impl Migration<Postgres> for M0004
impl Migration<Postgres> for M0004
Source§fn app(&self) -> &str
fn app(&self) -> &str
Returns the application name associated with the migration.
This can be the name of the folder or library where the migration is
located. Read more
Source§fn name(&self) -> &str
fn name(&self) -> &str
Returns the migration name, typically the file name without the
extension. Read more
Source§fn parents(&self) -> Vec<Box<dyn Migration<Postgres>>>
fn parents(&self) -> Vec<Box<dyn Migration<Postgres>>>
Returns the list of parent migrations. Read more
Source§fn operations(&self) -> Vec<Box<dyn Operation<Postgres>>>
fn operations(&self) -> Vec<Box<dyn Operation<Postgres>>>
Returns the operations associated with this migration. Read more
Source§fn replaces(&self) -> Vec<Box<dyn Migration<DB>>>
fn replaces(&self) -> Vec<Box<dyn Migration<DB>>>
Returns the list of migrations that this migration replaces. Read more
Source§fn run_before(&self) -> Vec<Box<dyn Migration<DB>>>
fn run_before(&self) -> Vec<Box<dyn Migration<DB>>>
Returns the list of migrations that this migration must run before(when
applying) or after (when reverting). Read more
Source§fn is_atomic(&self) -> bool
fn is_atomic(&self) -> bool
Indicates whether the migration is atomic.
By default, this function returns
true, meaning the migration is
atomic. Read moreSource§fn is_virtual(&self) -> bool
fn is_virtual(&self) -> bool
Indicates whether the migration is virtual.
By default, this function returns
false, meaning the migration is not
virtual. Read moreSource§impl Migration<Sqlite> for M0004
impl Migration<Sqlite> for M0004
Source§fn app(&self) -> &str
fn app(&self) -> &str
Returns the application name associated with the migration.
This can be the name of the folder or library where the migration is
located. Read more
Source§fn name(&self) -> &str
fn name(&self) -> &str
Returns the migration name, typically the file name without the
extension. Read more
Source§fn parents(&self) -> Vec<Box<dyn Migration<Sqlite>>>
fn parents(&self) -> Vec<Box<dyn Migration<Sqlite>>>
Returns the list of parent migrations. Read more
Source§fn operations(&self) -> Vec<Box<dyn Operation<Sqlite>>>
fn operations(&self) -> Vec<Box<dyn Operation<Sqlite>>>
Returns the operations associated with this migration. Read more
Source§fn replaces(&self) -> Vec<Box<dyn Migration<DB>>>
fn replaces(&self) -> Vec<Box<dyn Migration<DB>>>
Returns the list of migrations that this migration replaces. Read more
Source§fn run_before(&self) -> Vec<Box<dyn Migration<DB>>>
fn run_before(&self) -> Vec<Box<dyn Migration<DB>>>
Returns the list of migrations that this migration must run before(when
applying) or after (when reverting). Read more
Source§fn is_atomic(&self) -> bool
fn is_atomic(&self) -> bool
Indicates whether the migration is atomic.
By default, this function returns
true, meaning the migration is
atomic. Read moreSource§fn is_virtual(&self) -> bool
fn is_virtual(&self) -> bool
Indicates whether the migration is virtual.
By default, this function returns
false, meaning the migration is not
virtual. Read moreAuto Trait Implementations§
impl Freeze for M0004
impl RefUnwindSafe for M0004
impl Send for M0004
impl Sync for M0004
impl Unpin for M0004
impl UnsafeUnpin for M0004
impl UnwindSafe for M0004
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
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>
Converts
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>
Converts
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