Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Add 'Z' to the string format in Timestamp.ToString() to indicate UTC time." #873

Merged
merged 1 commit into from
Mar 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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