Skip to content

Commit 54a42cf

Browse files
Expose Sql.Function APIs introduced in Spark 3.0 (#649)
1 parent 333caf2 commit 54a42cf

File tree

2 files changed

+335
-2
lines changed

2 files changed

+335
-2
lines changed

src/csharp/Microsoft.Spark.E2ETest/IpcTests/Sql/FunctionsTests.cs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -796,5 +796,55 @@ public void TestSignaturesV2_4_X()
796796
col = MapConcat(col);
797797
col = MapConcat(col, col);
798798
}
799+
800+
/// <summary>
801+
/// Test signatures for APIs introduced in Spark 3.0.*.
802+
/// </summary>
803+
[SkipIfSparkVersionIsLessThan(Versions.V3_0_0)]
804+
public void TestSignaturesV3_0_X()
805+
{
806+
Column col = Column("col");
807+
808+
Assert.IsType<Column>(XXHash64());
809+
Assert.IsType<Column>(XXHash64(col));
810+
Assert.IsType<Column>(XXHash64(col, col));
811+
812+
Assert.IsType<Column>(Split(col, "\t", 1));
813+
Assert.IsType<Column>(Split(col, "\t", -1));
814+
815+
Assert.IsType<Column>(Overlay(col, col, col));
816+
Assert.IsType<Column>(Overlay(col, col, col, col));
817+
818+
Assert.IsType<Column>(AddMonths(col, col));
819+
820+
Assert.IsType<Column>(DateAdd(col, col));
821+
822+
Assert.IsType<Column>(DateSub(col, col));
823+
824+
var options = new Dictionary<string, string>() { { "hello", "world" } };
825+
Assert.IsType<Column>(SchemaOfJson(col, options));
826+
827+
Assert.IsType<Column>(MapEntries(col));
828+
829+
Column schemaCol = SchemaOfCsv("[{\"col\":0}]");
830+
Assert.IsType<Column>(FromCsv(col, schemaCol, options));
831+
832+
Assert.IsType<Column>(SchemaOfCsv(col));
833+
Assert.IsType<Column>(SchemaOfCsv(col, options));
834+
835+
Assert.IsType<Column>(ToCsv(col));
836+
Assert.IsType<Column>(ToCsv(col, options));
837+
838+
Assert.IsType<Column>(Years(col));
839+
840+
Assert.IsType<Column>(Months(col));
841+
842+
Assert.IsType<Column>(Days(col));
843+
844+
Assert.IsType<Column>(Hours(col));
845+
846+
Assert.IsType<Column>(Bucket(Lit(1), col));
847+
Assert.IsType<Column>(Bucket(1, col));
848+
}
799849
}
800850
}

0 commit comments

Comments
 (0)