pub struct RelationEntry {
pub row: Rc<Row>,
pub is_combined: bool,
/* private fields */
}Expand description
A relation entry wraps a row with table context.
Fields§
§row: Rc<Row>The underlying row (reference counted for efficient sharing).
is_combined: boolWhether this entry is from a joined relation.
Implementations§
Source§impl RelationEntry
impl RelationEntry
Creates a relation entry with shared tables (avoids cloning for each row).
Sourcepub fn new_owned(row: Row, tables: Vec<String>) -> Self
pub fn new_owned(row: Row, tables: Vec<String>) -> Self
Creates a new relation entry from an owned Row.
Sourcepub fn new_combined(row: Rc<Row>, shared_tables: SharedTables) -> Self
pub fn new_combined(row: Rc<Row>, shared_tables: SharedTables) -> Self
Creates a combined relation entry with shared tables (for join results). This avoids cloning the tables vector for each result row.
Sourcepub fn from_row(row: Rc<Row>, table: impl Into<String>) -> Self
pub fn from_row(row: Rc<Row>, table: impl Into<String>) -> Self
Creates a relation entry from a single table.
Sourcepub fn from_row_owned(row: Row, table: impl Into<String>) -> Self
pub fn from_row_owned(row: Row, table: impl Into<String>) -> Self
Creates a relation entry from an owned Row and a single table.
Sourcepub fn combine(
left: &RelationEntry,
left_tables: &[String],
right: &RelationEntry,
right_tables: &[String],
) -> Self
pub fn combine( left: &RelationEntry, left_tables: &[String], right: &RelationEntry, right_tables: &[String], ) -> Self
Combines two entries into a joined entry. The combined row’s version is the sum of both source row versions.
Sourcepub fn combine_with_null(
left: &RelationEntry,
left_tables: &[String],
right_column_count: usize,
right_tables: &[String],
) -> Self
pub fn combine_with_null( left: &RelationEntry, left_tables: &[String], right_column_count: usize, right_tables: &[String], ) -> Self
Creates a combined entry with null values for the right side (for outer joins). The combined row’s version is the left row’s version (right side is NULL).
Sourcepub fn combine_fast(
left: &RelationEntry,
right: &RelationEntry,
combined_tables: SharedTables,
) -> Self
pub fn combine_fast( left: &RelationEntry, right: &RelationEntry, combined_tables: SharedTables, ) -> Self
Fast combine that reuses pre-computed tables (avoids repeated table name cloning). The combined row’s version is the sum of both source row versions.
Sourcepub fn combine_with_null_fast(
left: &RelationEntry,
right_column_count: usize,
combined_tables: SharedTables,
) -> Self
pub fn combine_with_null_fast( left: &RelationEntry, right_column_count: usize, combined_tables: SharedTables, ) -> Self
Fast combine with null that reuses pre-computed tables. The combined row’s version is the left row’s version (right side is NULL).
Trait Implementations§
Source§impl Clone for RelationEntry
impl Clone for RelationEntry
Source§fn clone(&self) -> RelationEntry
fn clone(&self) -> RelationEntry
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more