osirisdb 0.7.0

A SQL database engine built from scratch in Rust featuring a custom parser, binder, query planner, optimizer, catalog, and storage engine.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::ast::*;

/// Represents the action to take when a constraint conflict occurs during insert (`ON CONFLICT`).
#[derive(Debug, Clone, PartialEq)]
pub enum ConflictAction {
    /// Skip the row insertion without error if a uniqueness conflict occurs (`DO NOTHING`).
    DoNothing,
    /// Update existing rows matching the conflict criteria instead of inserting (`DO UPDATE SET ...`).
    DoUpdate {
        /// The list of column assignments defining new values for matching rows.
        assignments: Vec<Assignment>,
        /// Optional filter condition specifying which rows to update on conflict.
        where_: Option<Expr>,
    },
}