Supported SQL Expressions¶
This section documents all Xonai SQL expression support status. Expressions not yet supported will fall back to the original Spark execution engine.
Aggregate Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| AggregateExpression | aggFunc | Partially Supported
 | 
| filter | Supported
 | |
| Output | Partially Supported
 | |
| Average | Input | Supported
 | 
| Output | Supported
 | |
| BitAndAgg | Input/Output | Supported
 | 
| BitOrAgg | Input/Output | Supported
 | 
| BitXorAgg | Input/Output | Supported
 | 
| BloomFilterMightContain | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| Corr | Input/Output | Supported
 | 
| Count | Input | Partially Supported
 | 
| Output | Supported
 | |
| CovPopulation | Input/Output | Supported
 | 
| CovSample | Input/Output | Supported
 | 
| First | Input/Output | Partially Supported
 | 
| Kurtosis | Input/Output | Supported
 | 
| Max | Input/Output | Partially Supported
 | 
| Min | Input/Output | Partially Supported
 | 
| RegrIntercept | Input/Output | Supported
 | 
| RegrR2 | Input/Output | Supported
 | 
| RegrReplacement | Input/Output | Supported
 | 
| RegrSXY | Input/Output | Supported
 | 
| RegrSlope | Input/Output | Supported
 | 
| Skewness | Input/Output | Supported
 | 
| StddevPop | Input/Output | Supported
 | 
| StddevSamp | Input/Output | Supported
 | 
| Sum | Input | Supported
 | 
| Output | Supported
 | |
| VariancePop | Input/Output | Supported
 | 
| VarianceSamp | Input/Output | Supported
 | 
| AnyValue | – | available soon | 
| ApproxCountDistinctForIntervals | – | available soon | 
| ApproximatePercentile | – | available soon | 
| BloomFilterAggregate | – | available soon | 
| CollectList | – | available soon | 
| CollectSet | – | available soon | 
| CollectTopK | – | available soon | 
| CountMinSketchAgg | – | available soon | 
| HistogramNumeric | – | available soon | 
| HyperLogLogPlusPlus | – | available soon | 
| Last | – | available soon | 
| MaxBy | – | available soon | 
| MinBy | – | available soon | 
| Mode | – | available soon | 
| PandasCovar | – | available soon | 
| PandasKurtosis | – | available soon | 
| PandasMode | – | available soon | 
| PandasProduct | – | available soon | 
| PandasSkewness | – | available soon | 
| PandasStddev | – | available soon | 
| PandasVariance | – | available soon | 
| Percentile | – | available soon | 
| PercentileDisc | – | available soon | 
| PivotFirst | – | available soon | 
| Product | – | available soon | 
Alchemy Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| HyperLogLogCardinality | Input | Supported
 | 
| Output | Supported
 | |
| HyperLogLogInitSimpleAgg | Input | Partially Supported
 | 
| Output | Supported
 | 
Arithmetic Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Abs | Input/Output | Supported
 | 
| Add | Input/Output | Supported
 | 
| Divide | Input/Output | Supported
 | 
| IntegralDivide | Input | Supported
 | 
| Output | Supported
 | |
| Multiply | Input/Output | Supported
 | 
| Pmod | Input/Output | Supported
 | 
| Remainder | Input/Output | Supported
 | 
| Subtract | Input/Output | Supported
 | 
| UnaryMinus | Input/Output | Supported
 | 
| UnaryPositive | Input/Output | Supported
 | 
Array Type Expressions¶
Available soon
Bitmap Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| BitmapBitPosition | Input/Output | Supported
 | 
| BitmapBucketNumber | Input/Output | Supported
 | 
| BitmapCount | Input | Supported
 | 
| Output | Supported
 | |
| BitmapConstructAgg | – | available soon | 
| BitmapOrAgg | – | available soon | 
Bitwise Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| BitwiseAnd | Input/Output | Supported
 | 
| BitwiseCount | Input | Supported
 | 
| Output | Supported
 | |
| BitwiseGet | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| BitwiseNot | Input/Output | Supported
 | 
| BitwiseOr | Input/Output | Supported
 | 
| BitwiseReverse | Input/Output | Supported
 | 
| BitwiseXor | Input/Output | Supported
 | 
Core Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Alias | Input/Output | Supported
 | 
| AttributeReference | Output | Partially Supported
 | 
| Cast | Input/Output | Partially Supported
 | 
| Literal | Output | Partially Supported
 | 
| ScalarSubquery | Output | Partially Supported
 | 
Collection Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Size | Input | Supported
 | 
| Output | Supported
 | |
| ElementAt | – | available soon | 
Conditional Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| CaseWhen | when | Supported
 | 
| then | Partially Supported
 | |
| else | Partially Supported
 | |
| Output | Partially Supported
 | |
| If | predicate | Supported
 | 
| trueValue | Partially Supported
 | |
| falseValue | Partially Supported
 | |
| Output | Partially Supported
 | 
Constraint Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| KnownFloatingPointNormalized | Input/Output | Supported
 | 
| KnownNotNull | Input/Output | Supported
 | 
CSV Expressions¶
Available soon
Datetime Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| AddMonths | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| DateAdd | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| DateAddYMInterval | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| DateDiff | Input | Supported
 | 
| Output | Supported
 | |
| DateFromUnixDate | Input | Supported
 | 
| Output | Supported
 | |
| DateSub | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| DayOfMonth | Input | Supported
 | 
| Output | Supported
 | |
| DayOfWeek | Input | Supported
 | 
| Output | Supported
 | |
| DayOfYear | Input | Supported
 | 
| Output | Supported
 | |
| LastDay | Input/Output | Supported
 | 
| MakeDate | Input | Supported
 | 
| Output | Supported
 | |
| MicrosToTimestamp | Input | Supported
 | 
| Output | Supported
 | |
| MillisToTimestamp | Input | Supported
 | 
| Output | Supported
 | |
| Month | Input | Supported
 | 
| Output | Supported
 | |
| NextDay | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| Quarter | Input | Supported
 | 
| Output | Supported
 | |
| SecondsToTimestamp | Input | Supported
 | 
| Output | Supported
 | |
| TruncDate | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| UnixDate | Input | Supported
 | 
| Output | Supported
 | |
| UnixMicros | Input | Supported
 | 
| Output | Supported
 | |
| UnixMillis | Input | Supported
 | 
| Output | Supported
 | |
| UnixSeconds | Input | Supported
 | 
| Output | Supported
 | |
| WeekDay | Input | Supported
 | 
| Output | Supported
 | |
| WeekOfYear | Input | Supported
 | 
| Output | Supported
 | |
| Year | Input | Supported
 | 
| Output | Supported
 | |
| YearOfWeek | Input | Supported
 | 
| Output | Supported
 | |
| CurrentBatchTimestamp | – | available soon | 
| CurrentDate | – | available soon | 
| CurrentTimeZone | – | available soon | 
| CurrentTimestamp | – | available soon | 
| DateAddInterval | – | available soon | 
| DateFormatClass | – | available soon | 
| FromUTCTimestamp | – | available soon | 
| FromUnixTime | – | available soon | 
| Hour | – | available soon | 
| MakeTimestamp | – | available soon | 
| Minute | – | available soon | 
| MonthsBetween | – | available soon | 
| Now | – | available soon | 
| Second | – | available soon | 
| SecondWithFraction | – | available soon | 
| SubtractDates | – | available soon | 
| SubtractTimestamps | – | available soon | 
| TimeAdd | – | available soon | 
| ToUTCTimestamp | – | available soon | 
| ToUnixTimestamp | – | available soon | 
| TruncTimestamp | – | available soon | 
| UnixTimestamp | – | available soon | 
Decimal Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| CheckOverflow | Input/Output | Supported
 | 
| MakeDecimal | Input | Supported
 | 
| Output | Supported
 | |
| UnscaledValue | Input | Supported
 | 
| Output | Supported
 | 
Generator Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Explode | Input | Partially Supported
 | 
| Output | Supported
 | |
| GeneratorOuter | – | available soon | 
| Inline | – | available soon | 
| PosExplode | – | available soon | 
| ReplicateRows | – | available soon | 
| Stack | – | available soon | 
| UserDefinedGenerator | – | available soon | 
Hash Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Crc32 | Input | Supported
 | 
| Output | Supported
 | |
| Md5 | Input | Supported
 | 
| Output | Supported
 | |
| Murmur3Hash | Input | Partially Supported
 | 
| Output | Supported
 | |
| Sha1 | Input | Supported
 | 
| Output | Supported
 | |
| Sha2 | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| XxHash64 | Input | Partially Supported
 | 
| Output | Supported
 | |
| HiveHash | – | available soon | 
Hll Expressions¶
Available soon
Input File Expressions¶
Available soon
Interval Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| DivideDTInterval | interval | Supported
 | 
| num | Supported
 | |
| Output | Supported
 | |
| DivideInterval | interval | Supported
 | 
| num | Supported
 | |
| Output | Supported
 | |
| DivideYMInterval | interval | Supported
 | 
| num | Supported
 | |
| Output | Supported
 | |
| ExtractIntervalDays | Input | Supported
 | 
| Output | Supported
 | |
| ExtractIntervalHours | Input | Supported
 | 
| Output | Supported
 | |
| ExtractIntervalMinutes | Input | Supported
 | 
| Output | Supported
 | |
| ExtractIntervalMonths | Input | Supported
 | 
| Output | Supported
 | |
| ExtractIntervalSeconds | Input | Supported
 | 
| Output | Supported
 | |
| ExtractIntervalYears | Input | Supported
 | 
| Output | Supported
 | |
| MakeDTInterval | days | Supported
 | 
| hours | Supported
 | |
| mins | Supported
 | |
| secs | Supported
 | |
| Output | Supported
 | |
| MakeInterval | years | Supported
 | 
| months | Supported
 | |
| weeks | Supported
 | |
| days | Supported
 | |
| hours | Supported
 | |
| mins | Supported
 | |
| secs | Supported
 | |
| Output | Supported
 | |
| MakeYMInterval | Input | Supported
 | 
| Output | Supported
 | |
| MultiplyDTInterval | interval | Supported
 | 
| num | Supported
 | |
| Output | Supported
 | |
| MultiplyInterval | interval | Supported
 | 
| num | Supported
 | |
| Output | Supported
 | |
| MultiplyYMInterval | interval | Supported
 | 
| num | Supported
 | |
| Output | Supported
 | 
JSON Expressions¶
Available soon
Lambda Expressions¶
Available soon
Map Type Expressions¶
Available soon
Math Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Acos | Input/Output | Supported
 | 
| Acosh | Input/Output | Supported
 | 
| Asin | Input/Output | Supported
 | 
| Asinh | Input/Output | Supported
 | 
| Atan | Input/Output | Supported
 | 
| Atan2 | Input/Output | Supported
 | 
| Atanh | Input/Output | Supported
 | 
| BRound | Input/Output | Supported
 | 
| Bin | Input | Supported
 | 
| Output | Supported
 | |
| Cbrt | Input/Output | Supported
 | 
| Ceil | Input | Supported
 | 
| Output | Supported
 | |
| Cos | Input/Output | Supported
 | 
| Cosh | Input/Output | Supported
 | 
| Cot | Input/Output | Supported
 | 
| Csc | Input/Output | Supported
 | 
| EulerNumber | Output | Supported
 | 
| Exp | Input/Output | Supported
 | 
| Expm1 | Input/Output | Supported
 | 
| Factorial | Input | Supported
 | 
| Output | Supported
 | |
| Floor | Input | Supported
 | 
| Output | Supported
 | |
| Hex | Input | Supported
 | 
| Output | Supported
 | |
| Hypot | Input/Output | Supported
 | 
| Log | Input/Output | Supported
 | 
| Log10 | Input/Output | Supported
 | 
| Log1p | Input/Output | Supported
 | 
| Log2 | Input/Output | Supported
 | 
| Logarithm | Input/Output | Supported
 | 
| NormalizeNaNAndZero | Input/Output | Supported
 | 
| Pi | Output | Supported
 | 
| Pow | Input/Output | Supported
 | 
| Rint | Input/Output | Supported
 | 
| Round | Input/Output | Supported
 | 
| RoundCeil | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| RoundFloor | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| Sec | Input/Output | Supported
 | 
| ShiftLeft | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| ShiftRight | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| ShiftRightUnsigned | Input 1 | Supported
 | 
| Input 2 | Supported
 | |
| Output | Supported
 | |
| Signum | Input | Supported
 | 
| Output | Supported
 | |
| Sin | Input/Output | Supported
 | 
| Sinh | Input/Output | Supported
 | 
| Sqrt | Input/Output | Supported
 | 
| Tan | Input/Output | Supported
 | 
| Tanh | Input/Output | Supported
 | 
| ToDegrees | Input/Output | Supported
 | 
| ToRadians | Input/Output | Supported
 | 
| Unhex | Input | Supported
 | 
| Output | Supported
 | |
| WidthBucket | value | Supported
 | 
| minValue | Supported
 | |
| maxValue | Supported
 | |
| numBucket | Supported
 | |
| Output | Supported
 | |
| Conv | – | available soon | 
Miscellaneous Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| MonotonicallyIncreasingID | Output | Supported
 | 
| Rand | Output | Supported
 | 
| Randn | Output | Supported
 | 
| SparkPartitionID | Output | Supported
 | 
| SparkVersion | Output | Supported
 | 
| Uuid | Output | Supported
 | 
| PrintToStderr | – | available soon | 
| PythonUDF | – | available soon | 
| RaiseError | – | available soon | 
| ScalaUDF | – | available soon | 
| TypeOf | – | available soon | 
Null Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| AtLeastNNonNulls | Input | Supported
 | 
| Output | Supported
 | |
| Coalesce | Input/Output | Partially Supported
 | 
| IsNaN | Input | Supported
 | 
| Output | Supported
 | |
| IsNotNull | Input | Supported
 | 
| Output | Supported
 | |
| IsNull | Input | Supported
 | 
| Output | Supported
 | |
| NaNvl | Input/Output | Supported
 | 
Ordering Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Greatest | Input/Output | Partially Supported
 | 
| Least | Input/Output | Partially Supported
 | 
| SortOrder | Input/Output | Partially Supported
 | 
Predicate Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| And | Input/Output | Supported
 | 
| EqualNullSafe | Input | Partially Supported
 | 
| Output | Supported
 | |
| EqualTo | Input | Partially Supported
 | 
| Output | Supported
 | |
| GreaterThan | Input | Partially Supported
 | 
| Output | Supported
 | |
| GreaterThanOrEqual | Input | Partially Supported
 | 
| Output | Supported
 | |
| In | Input | Partially Supported
 | 
| Output | Supported
 | |
| InSet | Input | Partially Supported
 | 
| Output | Supported
 | |
| LessThan | Input | Partially Supported
 | 
| Output | Supported
 | |
| LessThanOrEqual | Input | Partially Supported
 | 
| Output | Supported
 | |
| Not | Input/Output | Supported
 | 
| Or | Input/Output | Supported
 | 
Regex Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Like | Input | Supported
 | 
| Output | Supported
 | |
| LikeAll | – | available soon | 
| LikeAny | – | available soon | 
| NotLikeAll | – | available soon | 
| NotLikeAny | – | available soon | 
| RLike | – | available soon | 
| RegExpExtract | – | available soon | 
| RegExpExtractAll | – | available soon | 
| RegExpReplace | – | available soon | 
| StringSplit | – | available soon | 
String Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| Ascii | Input | Supported
 | 
| Output | Supported
 | |
| BinaryPad | str | Supported
 | 
| len | Supported
 | |
| pad | Supported
 | |
| Output | Supported
 | |
| BitLength | Input | Supported
 | 
| Output | Supported
 | |
| Chr | Input | Supported
 | 
| Output | Supported
 | |
| Concat | Input/Output | Partially Supported
 | 
| ConcatWs | sep | Supported
 | 
| strings | Partially Supported
 | |
| Output | Supported
 | |
| Contains | Input | Supported
 | 
| Output | Supported
 | |
| EndsWith | Input | Supported
 | 
| Output | Supported
 | |
| EphemeralSubstring | str | Supported
 | 
| pos | Supported
 | |
| len | Supported
 | |
| Output | Supported
 | |
| InitCap | Input/Output | Supported
 | 
| Length | Input | Supported
 | 
| Output | Supported
 | |
| Lower | Input/Output | Supported
 | 
| OctetLength | Input | Supported
 | 
| Output | Supported
 | |
| Reverse | Input/Output | Partially Supported
 | 
| SoundEx | Input/Output | Supported
 | 
| StartsWith | Input | Supported
 | 
| Output | Supported
 | |
| StringInstr | Input | Supported
 | 
| Output | Supported
 | |
| StringLPad | str | Supported
 | 
| len | Supported
 | |
| pad | Supported
 | |
| Output | Supported
 | |
| StringLocate | substr | Supported
 | 
| str | Supported
 | |
| pos | Supported
 | |
| Output | Supported
 | |
| StringRPad | str | Supported
 | 
| len | Supported
 | |
| pad | Supported
 | |
| Output | Supported
 | |
| StringRepeat | str | Supported
 | 
| times | Supported
 | |
| Output | Supported
 | |
| StringSpace | Input | Supported
 | 
| Output | Supported
 | |
| StringTranslate | Input/Output | Supported
 | 
| StringTrim | Input/Output | Supported
 | 
| StringTrimLeft | Input/Output | Supported
 | 
| StringTrimRight | Input/Output | Supported
 | 
| Substring | str | Partially Supported
 | 
| pos | Supported
 | |
| len | Supported
 | |
| Output | Partially Supported
 | |
| SubstringIndex | str | Supported
 | 
| delim | Supported
 | |
| count | Supported
 | |
| Output | Supported
 | |
| Upper | Input/Output | Supported
 | 
| Base64 | – | available soon | 
| Decode | – | available soon | 
| Elt | – | available soon | 
| Encode | – | available soon | 
| FindInSet | – | available soon | 
| FormatNumber | – | available soon | 
| FormatString | – | available soon | 
| Levenshtein | – | available soon | 
| Overlay | – | available soon | 
| ParseUrl | – | available soon | 
| Sentences | – | available soon | 
| StringReplace | – | available soon | 
| UnBase64 | – | available soon | 
Struct Type Expressions¶
| Expression | Parameters | Support | 
|---|---|---|
| CreateNamedStruct | Input | Partially Supported
 | 
| Output | Supported
 | |
| GetStructField | Input | Supported
 | 
| Output | Partially Supported
 | 
Window Expressions¶
Available soon
XML Expressions¶
Available soon