Skip to content
This repository was archived by the owner on Mar 13, 2020. It is now read-only.

Commit ce09d68

Browse files
committed
Fixing issues with incremental csv loading
1 parent ccc6e99 commit ce09d68

File tree

6 files changed

+14
-12
lines changed

6 files changed

+14
-12
lines changed

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ build_script:
4747
test_script:
4848
- test_full_refresh_from_csv.cmd
4949
- test_incremental_refresh_from_csv.cmd
50-
- test_full_refresh_from_mssql.cmd
50+
- test_incremental_refresh_from_mssql.cmd
5151

5252
on_finish:
5353
#Enable this line to make the build pause after completion for RDP troubleshooting.
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
IF NOT EXISTS (SELECT * FROM sys.databases WHERE Name = 'RelationalDataLoaderIntegrationTestSource')
2-
CREATE DATABASE RelationalDataLoaderIntegrationTestSource
2+
CREATE DATABASE RelationalDataLoaderIntegrationTestSource
3+
4+
ALTER DATABASE RelationalDataLoaderIntegrationTestSource
5+
SET CHANGE_TRACKING = ON
6+
(CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON)

modules/DataLoadManager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ def start_single_import(self, target_engine, model_name, requested_full_refresh)
5050

5151
data_load_tracker = DataLoadTracker(model_name, json_data, full_refresh, change_tracking_info, self.correlation_id)
5252

53-
self.logger.debug(" Change Tracking: this_sync_version: {0} next_sync_version: {1} force_full_load:{2} : ".format(change_tracking_info.this_sync_version, change_tracking_info.next_sync_version, change_tracking_info.force_full_load()))
54-
if not full_refresh and change_tracking_info.force_full_load():
53+
self.logger.debug(" Change Tracking: this_sync_version: {0} next_sync_version: {1} force_full_load:{2} : ".format(change_tracking_info.this_sync_version, change_tracking_info.next_sync_version, change_tracking_info.force_full_load))
54+
if not full_refresh and change_tracking_info.force_full_load:
5555
self.logger.info("Change tracking has forced this to be a full load")
5656
full_refresh = True
5757

modules/data_sources/ChangeTrackingInfo.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,9 @@
22
class ChangeTrackingInfo:
33
this_sync_version = 0
44
next_sync_version = 0
5-
6-
def __init__(self, this_sync_version, next_sync_version):
5+
force_full_load = 0
6+
def __init__(self, this_sync_version, next_sync_version, force_full_load):
77
self.this_sync_version = this_sync_version
88
self.next_sync_version = next_sync_version
9-
10-
def force_full_load(self):
11-
return bool(self.this_sync_version == 0 or self.next_sync_version == 0)
12-
9+
self.force_full_load = force_full_load
1310

modules/data_sources/CsvDataSource.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,4 @@ def get_next_data_frame(self, table_configuration, columns, batch_configuration,
6464
return data_frame
6565

6666
def init_change_tracking(self, table_configuration, last_sync_version):
67-
return ChangeTrackingInfo(0,0)
67+
return ChangeTrackingInfo(0, 0, False)

modules/data_sources/MsSqlDataSource.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,4 +123,5 @@ def init_change_tracking(self, table_configuration, last_sync_version):
123123
row = result.fetchone()
124124
sql_builder.close()
125125

126-
return ChangeTrackingInfo(row["this_sync_version"], row["next_sync_version"])
126+
force_full_load = bool(row["this_sync_version"] == 0 or row["next_sync_version"] == 0)
127+
return ChangeTrackingInfo(row["this_sync_version"], row["next_sync_version"], force_full_load)

0 commit comments

Comments
 (0)