Skip to main content

M0004

Struct M0004 

Source
pub struct M0004;
Expand description

Migration that swaps idx_event_type for a composite cursor-scan index.

§Changes

  • Creates idx_event_type_routing_cursor on (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

  • name is 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 BY tail stops at version; (timestamp, timestamp_subsec, version) is unique in practice, so the trailing id adds storage without eliminating any sort work.

§Dependencies

This migration depends on M0003.

Trait Implementations§

Source§

impl Migration<MySql> for M0004

Source§

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

Returns the migration name, typically the file name without the extension. Read more
Source§

fn parents(&self) -> Vec<Box<dyn Migration<MySql>>>

Returns the list of parent migrations that must be applied before this migration can be applied. Read more
Source§

fn operations(&self) -> Vec<Box<dyn Operation<MySql>>>

Returns the list of operations that make up the migration. Read more
Source§

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>>>

Returns the list of migrations that should be run before this migration when applying. but when reverting this migration these migrations should be reverted after this migration is reverted. Read more
Source§

fn is_atomic(&self) -> bool

Indicates whether the migration is atomic. By default, this function returns true, meaning the migration is atomic. Read more
Source§

fn is_virtual(&self) -> bool

Indicates whether the migration is virtual. By default, this function returns false, meaning the migration is not virtual. Read more
Source§

impl Migration<Postgres> for M0004

Source§

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

Returns the migration name, typically the file name without the extension. Read more
Source§

fn parents(&self) -> Vec<Box<dyn Migration<Postgres>>>

Returns the list of parent migrations that must be applied before this migration can be applied. Read more
Source§

fn operations(&self) -> Vec<Box<dyn Operation<Postgres>>>

Returns the list of operations that make up the migration. Read more
Source§

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>>>

Returns the list of migrations that should be run before this migration when applying. but when reverting this migration these migrations should be reverted after this migration is reverted. Read more
Source§

fn is_atomic(&self) -> bool

Indicates whether the migration is atomic. By default, this function returns true, meaning the migration is atomic. Read more
Source§

fn is_virtual(&self) -> bool

Indicates whether the migration is virtual. By default, this function returns false, meaning the migration is not virtual. Read more
Source§

impl Migration<Sqlite> for M0004

Source§

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

Returns the migration name, typically the file name without the extension. Read more
Source§

fn parents(&self) -> Vec<Box<dyn Migration<Sqlite>>>

Returns the list of parent migrations that must be applied before this migration can be applied. Read more
Source§

fn operations(&self) -> Vec<Box<dyn Operation<Sqlite>>>

Returns the list of operations that make up the migration. Read more
Source§

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>>>

Returns the list of migrations that should be run before this migration when applying. but when reverting this migration these migrations should be reverted after this migration is reverted. Read more
Source§

fn is_atomic(&self) -> bool

Indicates whether the migration is atomic. By default, this function returns true, meaning the migration is atomic. Read more
Source§

fn is_virtual(&self) -> bool

Indicates whether the migration is virtual. By default, this function returns false, meaning the migration is not virtual. Read more

Auto 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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more