Skip to main content
Version: Next

'relalg' Dialect

A dialect for relational algebra

Operations

relalg.aggregation (::lingodb::compiler::dialect::relalg::AggregationOp)

Aggregation operation

Syntax:

operation ::= `relalg.aggregation` $rel custom<CustRefArr>($group_by_cols) `computes` `:` custom<CustDefArr>($computed_cols) custom<CustRegion>($aggr_func)  attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, UnaryOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
group_by_cols::mlir::ArrayAttrarray attribute
computed_cols::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.aggrfn (::lingodb::compiler::dialect::relalg::AggrFuncOp)

Aggregation operation

Syntax:

operation ::= `relalg.aggrfn` $fn custom<CustRef>($attr) $rel `:` type($result) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
fn::lingodb::compiler::dialect::relalg::AggrFuncAttr
aggregation function
  • sum: Enum case: sum (sum)
  • min: Enum case: min (min)
  • max: Enum case: max (max)
  • avg: Enum case: avg (avg)
  • count: Enum case: count (count)
  • any: Enum case: any (any)
  • stddev_samp: Enum case: stddev_samp (stddev_samp)
attr::lingodb::compiler::dialect::tuples::ColumnRefAttr

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resultany type

relalg.antisemijoin (::lingodb::compiler::dialect::relalg::AntiSemiJoinOp)

Antisemi join operation

Syntax:

operation ::= `relalg.antisemijoin` $left `,` $right custom<CustRegion>($predicate) attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.basetable (::lingodb::compiler::dialect::relalg::BaseTableOp)

Base table operation

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
table_identifier::mlir::StringAttrstring attribute
columns::mlir::DictionaryAttrdictionary of named attribute values

Results:

ResultDescription
resulttuple stream type

relalg.collectionjoin (::lingodb::compiler::dialect::relalg::CollectionJoinOp)

Collection join operation

Syntax:

operation ::= `relalg.collectionjoin` custom<CustRefArr>($cols) custom<CustDef>($collAttr) $left `,` $right custom<CustRegion>($predicate)  attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
cols::mlir::ArrayAttrarray attribute
collAttr::lingodb::compiler::dialect::tuples::ColumnDefAttr

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.const_relation (::lingodb::compiler::dialect::relalg::ConstRelationOp)

Constant relation

Syntax:

operation ::= `relalg.const_relation` `columns` `:` custom<CustDefArr>($columns) `values` `:` $values attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
columns::mlir::ArrayAttrarray attribute
values::mlir::ArrayAttrarray attribute

Results:

ResultDescription
resulttuple stream type

relalg.count (::lingodb::compiler::dialect::relalg::CountRowsOp)

Count rows

Syntax:

operation ::= `relalg.count` $rel attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
res64-bit signless integer

relalg.crossproduct (::lingodb::compiler::dialect::relalg::CrossProductOp)

Crossproduct operation

Syntax:

operation ::= `relalg.crossproduct` $left `,` $right attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.except (::lingodb::compiler::dialect::relalg::ExceptOp)

Except operation

Syntax:

operation ::= `relalg.except` $set_semantic $left `,` $right custom<CustAttrMapping>($mapping) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
set_semantic::lingodb::compiler::dialect::relalg::SetSemanticAttr
allowed 64-bit signless integer cases: 0, 1
  • distinct: Enum case: distinct (distinct)
mapping::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.exists (::lingodb::compiler::dialect::relalg::ExistsOp)

Syntax:

operation ::= `relalg.exists` $rel attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
result1-bit signless integer

relalg.fullouterjoin (::lingodb::compiler::dialect::relalg::FullOuterJoinOp)

Full outer join operation

Syntax:

operation ::= `relalg.fullouterjoin` $left `,` $right custom<CustRegion>($predicate)  custom<CustAttrMapping>($mapping) attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
mapping::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.getlist (::lingodb::compiler::dialect::relalg::GetListOp)

Get multiple columns

Syntax:

operation ::= `relalg.getlist` $rel custom<CustRefArr>($cols) `:` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
cols::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resDB collection type

relalg.getscalar (::lingodb::compiler::dialect::relalg::GetScalarOp)

Get column

Syntax:

operation ::= `relalg.getscalar` custom<CustRef>($attr) $rel `:` type($res) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
attr::lingodb::compiler::dialect::tuples::ColumnRefAttr

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resany type

relalg.groupjoin (::lingodb::compiler::dialect::relalg::GroupJoinOp)

Groupjoin operation

Syntax:

operation ::= `relalg.groupjoin` $left `,` $right `behavior` `=` $behavior custom<CustRefArr>($leftCols) `=` custom<CustRefArr>($rightCols) custom<CustRegion>($predicate) `mapped` `:` custom<CustDefArr>($mapped_cols) custom<CustRegion>($map_func) `computes` `:` custom<CustDefArr>($computed_cols) custom<CustRegion>($aggr_func)  attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
behavior::lingodb::compiler::dialect::relalg::GroupJoinBehaviorAttr
groupjoin behavior
  • inner: Enum case: inner (inner)
leftCols::mlir::ArrayAttrarray attribute
rightCols::mlir::ArrayAttrarray attribute
mapped_cols::mlir::ArrayAttrarray attribute
computed_cols::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.in (::lingodb::compiler::dialect::relalg::InOp)

In operation

Syntax:

operation ::= `relalg.in` $val `:` type($val) `,` $rel attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
valany type
reltuple stream type

Results:

ResultDescription
res1-bit signless integer

relalg.intersect (::lingodb::compiler::dialect::relalg::IntersectOp)

Intersect operation

Syntax:

operation ::= `relalg.intersect` $set_semantic $left `,` $right custom<CustAttrMapping>($mapping) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
set_semantic::lingodb::compiler::dialect::relalg::SetSemanticAttr
allowed 64-bit signless integer cases: 0, 1
  • distinct: Enum case: distinct (distinct)
mapping::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.join (::lingodb::compiler::dialect::relalg::InnerJoinOp)

Inner join operation

Syntax:

operation ::= `relalg.join` $left `,` $right custom<CustRegion>($predicate) attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.limit (::lingodb::compiler::dialect::relalg::LimitOp)

Limit operation

Syntax:

operation ::= `relalg.limit` $max_rows $rel attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, UnaryOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
max_rows::mlir::IntegerAttr32-bit signless integer attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.map (::lingodb::compiler::dialect::relalg::MapOp)

Map operation

Syntax:

operation ::= `relalg.map` $rel `computes` `:` custom<CustDefArr>($computed_cols) custom<CustRegion>($predicate) attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, TupleLamdaOperator, UnaryOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
computed_cols::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.markjoin (::lingodb::compiler::dialect::relalg::MarkJoinOp)

Mark join operation

Syntax:

operation ::= `relalg.markjoin` custom<CustDef>($markattr) $left `,` $right custom<CustRegion>($predicate)  attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
markattr::lingodb::compiler::dialect::tuples::ColumnDefAttr

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.materialize (::lingodb::compiler::dialect::relalg::MaterializeOp)

Syntax:

operation ::= `relalg.materialize` $rel custom<CustRefArr>($cols) `=` `>` $columns `:` type($result) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
cols::mlir::ArrayAttrarray attribute
columns::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resultresult table type

relalg.nested (::lingodb::compiler::dialect::relalg::NestedOp)

Nested

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
used_cols::mlir::ArrayAttrarray attribute
available_cols::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
inputsvariadic of tuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.outerjoin (::lingodb::compiler::dialect::relalg::OuterJoinOp)

Outer join operation

Syntax:

operation ::= `relalg.outerjoin` $left `,` $right custom<CustRegion>($predicate)  custom<CustAttrMapping>($mapping) attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
mapping::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.projection (::lingodb::compiler::dialect::relalg::ProjectionOp)

Projection operation

Syntax:

operation ::= `relalg.projection` $set_semantic custom<CustRefArr>($cols) $rel attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, UnaryOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
set_semantic::lingodb::compiler::dialect::relalg::SetSemanticAttr
allowed 64-bit signless integer cases: 0, 1
  • distinct: Enum case: distinct (distinct)
cols::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.query (::lingodb::compiler::dialect::relalg::QueryOp)

Query

Syntax:

operation ::= `relalg.query` ($inputs^ `:` type($inputs))? custom<CustRegion>($query_ops)  `->` type($results) attr-dict-with-keyword

Operands:

OperandDescription
inputsvariadic of any type

Results:

ResultDescription
resultsvariadic of any type

relalg.query_return (::lingodb::compiler::dialect::relalg::QueryReturnOp)

Query return

Syntax:

operation ::= `relalg.query_return` ($inputs^ `:` type($inputs))? attr-dict-with-keyword

Traits: Terminator

Operands:

OperandDescription
inputsvariadic of any type

relalg.rank (::lingodb::compiler::dialect::relalg::RankOp)

Rank inside window

Syntax:

operation ::= `relalg.rank` $rel attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
res64-bit signless integer

relalg.renaming (::lingodb::compiler::dialect::relalg::RenamingOp)

Renaming columns in relation

Syntax:

operation ::= `relalg.renaming` $rel `renamed` `:` custom<CustDefArr>($columns) attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, UnaryOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
columns::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.selection (::lingodb::compiler::dialect::relalg::SelectionOp)

Selection operation

Syntax:

operation ::= `relalg.selection` $rel custom<CustRegion>($predicate) attr-dict-with-keyword

Filter tuple stream, the region returns 1 iff the value should be contained in the output stream.

Traits: AlwaysSpeculatableImplTrait

Interfaces: ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator, UnaryOperator

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.semijoin (::lingodb::compiler::dialect::relalg::SemiJoinOp)

Semi join operation

Syntax:

operation ::= `relalg.semijoin` $left `,` $right custom<CustRegion>($predicate) attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.singlejoin (::lingodb::compiler::dialect::relalg::SingleJoinOp)

Single join operation

Syntax:

operation ::= `relalg.singlejoin` $left `,` $right custom<CustRegion>($predicate)  custom<CustAttrMapping>($mapping) attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ColumnFoldable, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, PredicateOperator, TupleLamdaOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
mapping::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.sort (::lingodb::compiler::dialect::relalg::SortOp)

Sort operation

Syntax:

operation ::= `relalg.sort` $rel custom<SortSpecs>($sortspecs) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, UnaryOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
sortspecs::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.tmp (::lingodb::compiler::dialect::relalg::TmpOp)

Temporary materialization

Syntax:

operation ::= `relalg.tmp` $rel custom<CustRefArr>($cols) `->` type($resulting) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
cols::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resultingvariadic of tuple stream type

relalg.topk (::lingodb::compiler::dialect::relalg::TopKOp)

Top k operation

Syntax:

operation ::= `relalg.topk` $max_rows $rel custom<SortSpecs>($sortspecs) attr-dict

Return top max_rows elements according to the sorting region. This is conceptually similar to a combination of sort and limit, but allows for further optimizations.

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, UnaryOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
max_rows::mlir::IntegerAttr32-bit signless integer attribute
sortspecs::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.track_tuples (::lingodb::compiler::dialect::relalg::TrackTuplesOP)

Track tuples

Syntax:

operation ::= `relalg.track_tuples` $rel $resultId attr-dict

Interfaces: Operator

Attributes:

AttributeMLIR TypeDescription
resultId::mlir::IntegerAttr32-bit signless integer attribute

Operands:

OperandDescription
reltuple stream type

relalg.union (::lingodb::compiler::dialect::relalg::UnionOp)

Union operation

Syntax:

operation ::= `relalg.union` $set_semantic $left `,` $right custom<CustAttrMapping>($mapping) attr-dict

Traits: AlwaysSpeculatableImplTrait

Interfaces: BinaryOperator, ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
set_semantic::lingodb::compiler::dialect::relalg::SetSemanticAttr
allowed 64-bit signless integer cases: 0, 1
  • distinct: Enum case: distinct (distinct)
mapping::mlir::ArrayAttrarray attribute

Operands:

OperandDescription
lefttuple stream type
righttuple stream type

Results:

ResultDescription
resulttuple stream type

relalg.window (::lingodb::compiler::dialect::relalg::WindowOp)

Window operation

Syntax:

operation ::= `relalg.window` $rel `partitionBy` `:` custom<CustRefArr>($partition_by) `orderBy` `:` custom<SortSpecs>($order_by) `rows_between` `:` $from `and` $to `computes` `:` custom<CustDefArr>($computed_cols) custom<CustRegion>($aggr_func)  attr-dict-with-keyword

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface), Operator, UnaryOperator

Effects: MemoryEffects::Effect{}

Attributes:

AttributeMLIR TypeDescription
partition_by::mlir::ArrayAttrarray attribute
order_by::mlir::ArrayAttrarray attribute
computed_cols::mlir::ArrayAttrarray attribute
from::mlir::IntegerAttr64-bit signless integer attribute
to::mlir::IntegerAttr64-bit signless integer attribute

Operands:

OperandDescription
reltuple stream type

Results:

ResultDescription
resulttuple stream type

Attributes

SortSpecificationAttr

Parameters:

ParameterC++ typeDescription
attrlingodb::compiler::dialect::tuples::ColumnRefAttr
sortSpecSortSpec

TableMetaDataAttr

Parameters:

ParameterC++ typeDescription
metastd::shared_ptr<catalog::TableMetaDataProvider>

Enums

AggrFunc

aggregation function

Cases:

SymbolValueString
sum0sum
min1min
max2max
avg3avg
count4count
any5any
stddev_samp6stddev_samp
var_samp7var_samp

GroupJoinBehavior

groupjoin behavior

Cases:

SymbolValueString
inner0inner
outer1outer

SetSemantic

allowed 64-bit signless integer cases: 0, 1

Cases:

SymbolValueString
distinct0distinct
all1all

SortSpec

sort order

Cases:

SymbolValueString
desc0desc
asc1asc