Hi there,
I am trying to use Delta replication in the OData provider but I think I have hit a case sensitivity issue. My JSON looks as follows;
"value": [
{
"no": "823332",
"description": "FIKTIV-1-2",
"description2": "FIKTIV-1",
...
"lastDateTimeModified": "2024-08-09T11:40:00.423Z",
"dimensions": "16CM",
...
Note the lower case l in lastDateTimeModified. However, in EndpointSourceReader.cs I see this code:
private string GetModeAsParameters()
{
string result = "";
if (_mode.Equals("Delta Replication", StringComparison.OrdinalIgnoreCase))
{
DateTime? lastRunDateTime = _mapping.Job.LastSuccessfulRun;
if (lastRunDateTime != null)
{
DateTime dateTimeInUtc = TimeZoneInfo.ConvertTimeToUtc(lastRunDateTime.Value);
string dateTimeFilterName = "";
bool isEdmDate = false;
foreach (var column in _mapping.SourceTable.Columns)
{
switch (column.Name)
{
case "Last_Date_Modified":
dateTimeFilterName = "Last_Date_Modified";
isEdmDate = true;
break;
case "Order_Date":
dateTimeFilterName = "Order_Date";
isEdmDate = true;
break;
case "LastDateTimeModified":
dateTimeFilterName = "LastDateTimeModified";
break;
case "lastModifiedDateTime":
dateTimeFilterName = "lastModifiedDateTime";
break;
case "modifiedon":
dateTimeFilterName = "modifiedon";
break;
}
}
This code switches on the column name and then tries to match with LastDateTimeModified using an upper case L.
Can / should this code be updated to treat the names ignoring casing?
Imar