Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2216d83
checkin in
philipthomas-MSFT Aug 1, 2024
28d7222
Merge branch 'master' into 4616-cfp-avad-issues-with-serializationdes…
philipthomas-MSFT Aug 1, 2024
5f7bc3f
support for both STJ and NSJ
philipthomas-MSFT Aug 5, 2024
c5a09e9
Merge remote-tracking branch 'origin/master' into 4616-cfp-avad-issue…
philipthomas-MSFT Aug 5, 2024
3a879b7
update contracts.
philipthomas-MSFT Aug 5, 2024
23e7631
name change PreviousLsn
philipthomas-MSFT Aug 5, 2024
82bc224
Merge remote-tracking branch 'origin/master' into 4616-cfp-avad-issue…
philipthomas-MSFT Aug 6, 2024
375236c
STJ TypeConverter support for ChangeFeedMetadata
philipthomas-MSFT Aug 6, 2024
7acac4d
adding bacl StringEnumConverter
philipthomas-MSFT Aug 6, 2024
461e1e8
Merge remote-tracking branch 'origin/master' into 4616-cfp-avad-issue…
philipthomas-MSFT Aug 6, 2024
6a71a82
test for Writes ChangeFeedMetadata
philipthomas-MSFT Aug 6, 2024
b6fde92
removing DateTimeOffset as results are inconsistent.
philipthomas-MSFT Aug 7, 2024
f2d1e6f
trying to get GMT, not local
philipthomas-MSFT Aug 7, 2024
84fdcc3
static UnixEpoch
philipthomas-MSFT Aug 7, 2024
2c07550
Merge branch 'master' into 4616-cfp-avad-issues-with-serializationdes…
ealsur Aug 12, 2024
e868ba5
Merge branch 'master' into 4616-cfp-avad-issues-with-serializationdes…
philipthomas-MSFT Aug 14, 2024
7ef00af
Merge remote-tracking branch 'origin/master' into 4616-cfp-avad-issue…
philipthomas-MSFT Aug 16, 2024
d71b8b0
Merge branch '4616-cfp-avad-issues-with-serializationdeserialization-…
philipthomas-MSFT Aug 16, 2024
d30e7af
static qualifier in tests
philipthomas-MSFT Aug 16, 2024
121d459
PropertyNameCaseInsensitive = false tests. copy of True tests.
philipthomas-MSFT Aug 19, 2024
0339f16
setting PropertyNameCaseInsensitive correctly for tests
philipthomas-MSFT Aug 19, 2024
3b13a15
removed duplication for propertyNameCaseInsensitive tests
philipthomas-MSFT Aug 19, 2024
625fe86
remove JsonStringEnumConverter(), from tests
philipthomas-MSFT Aug 19, 2024
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
Prev Previous commit
Next Next commit
removing DateTimeOffset as results are inconsistent.
  • Loading branch information
philipthomas-MSFT committed Aug 7, 2024
commit b6fde92a6db6ea78ec77efd4d0d0128749b076cc
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public override ChangeFeedMetadata Read(ref Utf8JsonReader reader, Type typeToCo
}
else if (property.NameEquals(ChangeFeedMetadataFields.ConflictResolutionTimestamp))
{
metadata.ConflictResolutionTimestamp = DateTimeOffset.FromUnixTimeSeconds(property.Value.GetInt64()).UtcDateTime;
metadata.ConflictResolutionTimestamp = ChangeFeedMetadataConverter.ToDateTimeFromUnixTimeInSeconds(property.Value.GetInt64());
}
else if (property.NameEquals(ChangeFeedMetadataFields.OperationType))
{
Expand Down Expand Up @@ -68,13 +68,25 @@ public override void Write(Utf8JsonWriter writer, ChangeFeedMetadata value, Json

writer.WriteStartObject();

writer.WriteNumber(ChangeFeedMetadataFields.ConflictResolutionTimestamp, ((DateTimeOffset)value.ConflictResolutionTimestamp).ToUnixTimeSeconds());
writer.WriteNumber(ChangeFeedMetadataFields.ConflictResolutionTimestamp, ChangeFeedMetadataConverter.ToUnixTimeInSecondsFromDateTime(value.ConflictResolutionTimestamp));
writer.WriteBoolean(ChangeFeedMetadataFields.TimeToLiveExpired, value.IsTimeToLiveExpired);
writer.WriteNumber(ChangeFeedMetadataFields.Lsn, value.Lsn);
writer.WriteString(ChangeFeedMetadataFields.OperationType, value.OperationType.ToString());
writer.WriteNumber(ChangeFeedMetadataFields.PreviousImageLSN, value.PreviousLsn);

writer.WriteEndObject();
}

private static long ToUnixTimeInSecondsFromDateTime(DateTime date)
{
DateTime unixEpoch = new (1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
return (date.ToUniversalTime().Ticks - unixEpoch.Ticks) / TimeSpan.TicksPerSecond;
}

private static DateTime ToDateTimeFromUnixTimeInSeconds(long unixTimeInSeconds)
{
DateTime unixEpoch = new (1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
return unixEpoch.AddSeconds(unixTimeInSeconds);
}
}
}