Table of Contents

Class Value

Namespace
The.SQL.QIR
Assembly
Instagile.dll

AST representing a column-value expression.

[MessagePackObject(false)]
[Union(0, typeof(AggregateValue))]
[Union(1, typeof(AliasedValue))]
[Union(2, typeof(ArithmeticValue))]
[Union(3, typeof(CaseValue))]
[Union(4, typeof(CastValue))]
[Union(5, typeof(ColumnValue))]
[Union(6, typeof(ConcatValue))]
[Union(7, typeof(ConstantValue))]
[Union(8, typeof(DateAddValue))]
[Union(9, typeof(DateDiffValue))]
[Union(10, typeof(DateLiteralValue))]
[Union(11, typeof(ForeignKeyValue))]
[Union(12, typeof(FunctionValue))]
[Union(13, typeof(KeywordValue))]
[Union(14, typeof(ParamValue))]
[Union(15, typeof(SequenceValue))]
[Union(16, typeof(SubqueryValue))]
[Union(17, typeof(TernaryValue))]
[Union(18, typeof(TypedValue))]
public abstract class Value : IEquatable<Value>
Inheritance
Value
Implements
Derived
Inherited Members

Properties

IsAggregate

Whether the value is a projection of an entire relation instead of a single row.

[IgnoreMember]
public virtual Aggregated IsAggregate { get; }

Property Value

Aggregated

IsLiteral

Whether the value is self-paranthesing.

[IgnoreMember]
public abstract bool IsLiteral { get; }

Property Value

bool

IsNullable

Whether the value can be NULL at runtime.

[IgnoreMember]
public abstract bool IsNullable { get; }

Property Value

bool

Joins

Joins required to reach this value.

[IgnoreMember]
public virtual IEnumerable<Join> Joins { get; }

Property Value

IEnumerable<Join>

Methods

CombineAggregates(Aggregated, Aggregated)

public static Aggregated CombineAggregates(Aggregated left, Aggregated right)

Parameters

left Aggregated
right Aggregated

Returns

Aggregated

Equals(object?)

Determines whether the specified object is equal to the current object.

public override sealed bool Equals(object? obj)

Parameters

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

Equals(Value?)

Indicates whether the current object is equal to another object of the same type.

public abstract bool Equals(Value? other)

Parameters

other Value

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

GetAttribute(IReadOnlyDictionary<string, EntityTable>)

public virtual Optional<AttributeColumn> GetAttribute(IReadOnlyDictionary<string, EntityTable> metadata)

Parameters

metadata IReadOnlyDictionary<string, EntityTable>

Returns

Optional<AttributeColumn>

GetHashCode()

Serves as the default hash function.

public override abstract int GetHashCode()

Returns

int

A hash code for the current object.

ToLines()

public virtual IEnumerable<string> ToLines()

Returns

IEnumerable<string>

WithSource(Table, Table)

public abstract Value WithSource(Table oldSource, Table newSource)

Parameters

oldSource Table
newSource Table

Returns

Value