'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:
Attribute | MLIR Type | Description |
---|---|---|
group_by_cols | ::mlir::ArrayAttr | array attribute |
computed_cols | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
fn | ::lingodb::compiler::dialect::relalg::AggrFuncAttr | aggregation function
|
attr | ::lingodb::compiler::dialect::tuples::ColumnRefAttr |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | any 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:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple stream type |
relalg.basetable
(::lingodb::compiler::dialect::relalg::BaseTableOp)
Base table operation
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, Operator
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
table_identifier | ::mlir::StringAttr | string attribute |
columns | ::mlir::DictionaryAttr | dictionary of named attribute values |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
cols | ::mlir::ArrayAttr | array attribute |
collAttr | ::lingodb::compiler::dialect::tuples::ColumnDefAttr |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
columns | ::mlir::ArrayAttr | array attribute |
values | ::mlir::ArrayAttr | array attribute |
Results:
Result | Description |
---|---|
result | tuple 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:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
res | 64-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:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
set_semantic | ::lingodb::compiler::dialect::relalg::SetSemanticAttr | allowed 64-bit signless integer cases: 0, 1
|
mapping | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | 1-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:
Attribute | MLIR Type | Description |
---|---|---|
mapping | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
cols | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
res | DB 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:
Attribute | MLIR Type | Description |
---|---|---|
attr | ::lingodb::compiler::dialect::tuples::ColumnRefAttr |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
res | any 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:
Attribute | MLIR Type | Description |
---|---|---|
behavior | ::lingodb::compiler::dialect::relalg::GroupJoinBehaviorAttr | groupjoin behavior
|
leftCols | ::mlir::ArrayAttr | array attribute |
rightCols | ::mlir::ArrayAttr | array attribute |
mapped_cols | ::mlir::ArrayAttr | array attribute |
computed_cols | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Operand | Description |
---|---|
val | any type |
rel | tuple stream type |
Results:
Result | Description |
---|---|
res | 1-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:
Attribute | MLIR Type | Description |
---|---|---|
set_semantic | ::lingodb::compiler::dialect::relalg::SetSemanticAttr | allowed 64-bit signless integer cases: 0, 1
|
mapping | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
max_rows | ::mlir::IntegerAttr | 32-bit signless integer attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
computed_cols | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
markattr | ::lingodb::compiler::dialect::tuples::ColumnDefAttr |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
cols | ::mlir::ArrayAttr | array attribute |
columns | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | result table type |
relalg.nested
(::lingodb::compiler::dialect::relalg::NestedOp)
Nested
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable
, InferTypeOpInterface
, NoMemoryEffect (MemoryEffectOpInterface)
, Operator
Effects: MemoryEffects::Effect{}
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
used_cols | ::mlir::ArrayAttr | array attribute |
available_cols | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
inputs | variadic of tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
mapping | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
set_semantic | ::lingodb::compiler::dialect::relalg::SetSemanticAttr | allowed 64-bit signless integer cases: 0, 1
|
cols | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Operand | Description |
---|---|
inputs | variadic of any type |
Results:
Result | Description |
---|---|
results | variadic 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:
Operand | Description |
---|---|
inputs | variadic 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:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
res | 64-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:
Attribute | MLIR Type | Description |
---|---|---|
columns | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
mapping | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
sortspecs | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
cols | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
resulting | variadic 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:
Attribute | MLIR Type | Description |
---|---|---|
max_rows | ::mlir::IntegerAttr | 32-bit signless integer attribute |
sortspecs | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple stream type |
relalg.track_tuples
(::lingodb::compiler::dialect::relalg::TrackTuplesOP)
Track tuples
Syntax:
operation ::= `relalg.track_tuples` $rel $resultId attr-dict
Interfaces: Operator
Attributes:
Attribute | MLIR Type | Description |
---|---|---|
resultId | ::mlir::IntegerAttr | 32-bit signless integer attribute |
Operands:
Operand | Description |
---|---|
rel | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
set_semantic | ::lingodb::compiler::dialect::relalg::SetSemanticAttr | allowed 64-bit signless integer cases: 0, 1
|
mapping | ::mlir::ArrayAttr | array attribute |
Operands:
Operand | Description |
---|---|
left | tuple stream type |
right | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple 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:
Attribute | MLIR Type | Description |
---|---|---|
partition_by | ::mlir::ArrayAttr | array attribute |
order_by | ::mlir::ArrayAttr | array attribute |
computed_cols | ::mlir::ArrayAttr | array attribute |
from | ::mlir::IntegerAttr | 64-bit signless integer attribute |
to | ::mlir::IntegerAttr | 64-bit signless integer attribute |
Operands:
Operand | Description |
---|---|
rel | tuple stream type |
Results:
Result | Description |
---|---|
result | tuple stream type |
Attributes
SortSpecificationAttr
Parameters:
Parameter | C++ type | Description |
---|---|---|
attr | lingodb::compiler::dialect::tuples::ColumnRefAttr | |
sortSpec | SortSpec |
TableMetaDataAttr
Parameters:
Parameter | C++ type | Description |
---|---|---|
meta | std::shared_ptr<catalog::TableMetaDataProvider> |
Enums
AggrFunc
aggregation function
Cases:
Symbol | Value | String |
---|---|---|
sum | 0 | sum |
min | 1 | min |
max | 2 | max |
avg | 3 | avg |
count | 4 | count |
any | 5 | any |
stddev_samp | 6 | stddev_samp |
var_samp | 7 | var_samp |
GroupJoinBehavior
groupjoin behavior
Cases:
Symbol | Value | String |
---|---|---|
inner | 0 | inner |
outer | 1 | outer |
SetSemantic
allowed 64-bit signless integer cases: 0, 1
Cases:
Symbol | Value | String |
---|---|---|
distinct | 0 | distinct |
all | 1 | all |
SortSpec
sort order
Cases:
Symbol | Value | String |
---|---|---|
desc | 0 | desc |
asc | 1 | asc |