Skip to content

Commit

Permalink
Revert "Add 'Z' to the string format in Timestamp.ToString() to indic…
Browse files Browse the repository at this point in the history
…ate UTC time. (#871)" (#873)

This reverts commit 53717b4.
  • Loading branch information
imback82 authored Mar 30, 2021
1 parent 32789e0 commit 309f410
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 36 deletions.
31 changes: 11 additions & 20 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,20 @@ variables:
backwardCompatibleRelease: '1.0.0'
forwardCompatibleRelease: '1.0.0'

# Filter UdfSimpleTypesTests.TestUdfWithReturnAsTimestampType and UdfSimpleTypesTests.TestUdfWithTimestampType
# backward and forward compatibility tests due to bug with Timestamp.ToString(). This is not a breaking change.
# Please see https://github.com/dotnet/spark/pull/871
backwardCompatibleTestOptions_Windows_2_3: "--filter \
(FullyQualifiedName!=Microsoft.Spark.E2ETest.UdfTests.UdfSimpleTypesTests.TestUdfWithReturnAsTimestampType)&\
(FullyQualifiedName!=Microsoft.Spark.E2ETest.UdfTests.UdfSimpleTypesTests.TestUdfWithTimestampType)"
forwardCompatibleTestOptions_Windows_2_3: $(backwardCompatibleTestOptions_Windows_2_3)
backwardCompatibleTestOptions_Linux_2_3: $(backwardCompatibleTestOptions_Windows_2_3)
forwardCompatibleTestOptions_Linux_2_3: $(backwardCompatibleTestOptions_Windows_2_3)

backwardCompatibleTestOptions_Windows_2_4: $(backwardCompatibleTestOptions_Windows_2_3)
forwardCompatibleTestOptions_Windows_2_4: $(backwardCompatibleTestOptions_Windows_2_3)
backwardCompatibleTestOptions_Linux_2_4: $(backwardCompatibleTestOptions_Windows_2_3)
backwardCompatibleTestOptions_Windows_2_3: ""
forwardCompatibleTestOptions_Windows_2_3: ""
backwardCompatibleTestOptions_Linux_2_3: ""
forwardCompatibleTestOptions_Linux_2_3: ""

backwardCompatibleTestOptions_Windows_2_4: ""
forwardCompatibleTestOptions_Windows_2_4: ""
backwardCompatibleTestOptions_Linux_2_4: ""
# Filter HyperspaceTests not due to functionality changes, but to incompatible tests running on Linux.
# Please see https://github.com/dotnet/spark/pull/737 for the fix.
forwardCompatibleTestOptions_Linux_2_4: "--filter \
(FullyQualifiedName!=Microsoft.Spark.Extensions.Hyperspace.E2ETest.HyperspaceTests.TestExplainAPI)&\
(FullyQualifiedName!=Microsoft.Spark.Extensions.Hyperspace.E2ETest.HyperspaceTests.TestIndexCreateAndDelete)&\
(FullyQualifiedName!=Microsoft.Spark.Extensions.Hyperspace.E2ETest.HyperspaceTests.TestSignatures&\
(FullyQualifiedName!=Microsoft.Spark.E2ETest.UdfTests.UdfSimpleTypesTests.TestUdfWithReturnAsTimestampType)&\
(FullyQualifiedName!=Microsoft.Spark.E2ETest.UdfTests.UdfSimpleTypesTests.TestUdfWithTimestampType)"
(FullyQualifiedName!=Microsoft.Spark.Extensions.Hyperspace.E2ETest.HyperspaceTests.TestSignatures)"

# Filter DataFrameTests.TestDataFrameGroupedMapUdf and DataFrameTests.TestGroupedMapUdf backwardCompatible
# tests due to https://github.com/dotnet/spark/pull/711
Expand All @@ -45,10 +38,8 @@ variables:
backwardCompatibleTestOptions_Windows_3_0: "--filter \
(FullyQualifiedName!=Microsoft.Spark.E2ETest.IpcTests.DataFrameTests.TestDataFrameGroupedMapUdf)&\
(FullyQualifiedName!=Microsoft.Spark.E2ETest.IpcTests.DataFrameTests.TestGroupedMapUdf)&\
(FullyQualifiedName!=Microsoft.Spark.E2ETest.UdfTests.UdfSimpleTypesTests.TestUdfWithDuplicateTimestamps)&\
(FullyQualifiedName!=Microsoft.Spark.E2ETest.UdfTests.UdfSimpleTypesTests.TestUdfWithReturnAsTimestampType)&\
(FullyQualifiedName!=Microsoft.Spark.E2ETest.UdfTests.UdfSimpleTypesTests.TestUdfWithTimestampType)"
forwardCompatibleTestOptions_Windows_3_0: $(backwardCompatibleTestOptions_Windows_2_3)
(FullyQualifiedName!=Microsoft.Spark.E2ETest.UdfTests.UdfSimpleTypesTests.TestUdfWithDuplicateTimestamps)"
forwardCompatibleTestOptions_Windows_3_0: ""
backwardCompatibleTestOptions_Linux_3_0: $(backwardCompatibleTestOptions_Windows_3_0)
forwardCompatibleTestOptions_Linux_3_0: $(forwardCompatibleTestOptions_Linux_2_4)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ public void TestUdfWithTimestampType()

var expected = new string[]
{
"2020-01-01 00:00:00.000000Z",
"2020-01-02 15:30:30.123456Z"
"2020-01-01 00:00:00.000000",
"2020-01-02 15:30:30.123456"
};
string[] rowsToArray = rows.Select(x => x[0].ToString()).ToArray();
Assert.Equal(expected, rowsToArray);
Expand Down Expand Up @@ -193,8 +193,8 @@ public void TestUdfWithReturnAsTimestampType()

var expected = new string[]
{
"2020-01-04 15:30:30.123456Z",
"2050-01-04 15:30:30.123456Z"
"2020-01-04 15:30:30.123456",
"2050-01-04 15:30:30.123456"
};
for (int i = 0; i < rows.Length; ++i)
{
Expand Down
13 changes: 2 additions & 11 deletions src/csharp/Microsoft.Spark.UnitTest/Sql/TimestampTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public void TimestampTest()
Assert.Equal(DateTimeKind.Utc, timestamp.ToDateTime().Kind);

// Validate ToString().
Assert.Equal("2020-01-01 08:30:30.000123Z", timestamp.ToString());
Assert.Equal("2020-01-01 08:30:30.000123", timestamp.ToString());

// Validate ToDateTime().
Assert.Equal(testDate, timestamp.ToDateTime());
Expand Down Expand Up @@ -57,7 +57,7 @@ public void TimestampTest()
Assert.Equal(DateTimeKind.Utc, timestamp.ToDateTime().Kind);

// Validate ToString().
Assert.Equal("2020-01-02 15:30:30.123456Z", timestamp.ToString());
Assert.Equal("2020-01-02 15:30:30.123456", timestamp.ToString());

// Validate ToDateTime().
Assert.Equal(
Expand All @@ -71,14 +71,5 @@ public void TimestampTest()
() => new Timestamp(2020, 1, 2, 15, 30, 30, 1234567));
}
}

[Fact]
public void TestTimestampToString()
{
var dateTimeObj = new DateTime(2021, 01, 01);
Assert.Equal(
new Timestamp(DateTime.Parse(new Timestamp(dateTimeObj).ToString())),
new Timestamp(dateTimeObj));
}
}
}
2 changes: 1 addition & 1 deletion src/csharp/Microsoft.Spark/Sql/Types/Timestamp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public Timestamp(
/// <summary>
/// Readable string representation for this type.
/// </summary>
public override string ToString() => _dateTime.ToString("yyyy-MM-dd HH:mm:ss.ffffffZ");
public override string ToString() => _dateTime.ToString("yyyy-MM-dd HH:mm:ss.ffffff");

/// <summary>
/// Checks if the given object is same as the current object.
Expand Down

0 comments on commit 309f410

Please sign in to comment.