Thalweg · API reference ← Main docs

PlanStep

Enum PlanStep 

Source
pub enum PlanStep {
    CreateTable {
        columns: Vec<ColumnSpec>,
        comment: Option<String>,
        properties: Vec<(String, String)>,
    },
    AddColumn {
        column: ColumnSpec,
    },
    WidenColumn {
        name: String,
        from: ProtoFieldType,
        to: ProtoFieldType,
    },
    SetComment {
        target: CommentTarget,
        text: String,
        hash: String,
    },
    SetProperty {
        key: String,
        value: String,
    },
}
Expand description

A single action a backend must take to reconcile the target.

Variants§

§

CreateTable

The table does not exist; create it with these columns, comment, and properties. Column and table comments are carried inline (a fresh table is stamped in one shot), each with its precomputed managed hash.

Fields

§columns: Vec<ColumnSpec>

Columns to create, in order.

§comment: Option<String>

Table-level comment, if any.

§properties: Vec<(String, String)>

Table properties/tags to set at creation, sorted by key.

§

AddColumn

Add a new column to an existing table.

Fields

§column: ColumnSpec

The column to add.

§

WidenColumn

Widen an existing column’s type in place (lossless).

Fields

§name: String

Column name.

§from: ProtoFieldType

Current live type.

§to: ProtoFieldType

New (wider) type.

§

SetComment

Set or update a managed comment. hash is the content hash to persist as twg:comment_hash so a later no-op deploy does not re-stamp it.

Fields

§target: CommentTarget

Column or table the comment applies to.

§text: String

The comment text.

§hash: String

Content hash to persist alongside the comment.

§

SetProperty

Set or update a table property/tag.

Fields

§key: String

Property key.

§value: String

Property value.

Trait Implementations§

Source§

impl Clone for PlanStep

Source§

fn clone(&self) -> PlanStep

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PlanStep

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for PlanStep

Source§

fn eq(&self, other: &PlanStep) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for PlanStep

Source§

impl StructuralPartialEq for PlanStep

Auto Trait Implementations§

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
§

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

§

fn vzip(self) -> V

§

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

§

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

§

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