diff --git a/Rdmp.Core/Curation/Data/Catalogue.cs b/Rdmp.Core/Curation/Data/Catalogue.cs index 486c573551..83008d716d 100644 --- a/Rdmp.Core/Curation/Data/Catalogue.cs +++ b/Rdmp.Core/Curation/Data/Catalogue.cs @@ -891,6 +891,7 @@ public enum DataSourceTypes } public enum DataSourceSettingTypes { + Other, CohortStudyTrial, Clinic, PrimaryCareReferrals, @@ -912,8 +913,7 @@ public enum DataSourceSettingTypes Private, SocialCareHealthcareAtHome, SocialCareOthersocialData, - Census, - Other + Census } #endregion diff --git a/Rdmp.Core/DataExport/DataExtraction/Pipeline/Sources/ExecuteDatasetExtractionSource.cs b/Rdmp.Core/DataExport/DataExtraction/Pipeline/Sources/ExecuteDatasetExtractionSource.cs index 3daced40fa..7392087dda 100644 --- a/Rdmp.Core/DataExport/DataExtraction/Pipeline/Sources/ExecuteDatasetExtractionSource.cs +++ b/Rdmp.Core/DataExport/DataExtraction/Pipeline/Sources/ExecuteDatasetExtractionSource.cs @@ -198,12 +198,12 @@ private void CreateCohortTempTable(DbConnection con, IDataLoadEventListener list """; break; case DatabaseType.Oracle: - sql= $""" + sql = $""" CREATE TEMPORARY TABLE {_uuid} SELECT * FROM {_externalCohortTable.TableName} WHERE {_whereSQL} """; break; case DatabaseType.PostgreSql: - sql= $""" + sql = $""" CREATE TEMP TABLE {_uuid} AS SELECT * FROM {_externalCohortTable.TableName} WHERE {_whereSQL} """; @@ -222,8 +222,9 @@ CREATE TEMP TABLE {_uuid} AS { cmd.ExecuteNonQuery(); } - catch (Exception ex) { - listener.OnNotify(this, new NotifyEventArgs(ProgressEventType.Warning, $"Unable to create temporary table for cohort. Original cohort table will be used",ex)); + catch (Exception ex) + { + listener.OnNotify(this, new NotifyEventArgs(ProgressEventType.Warning, $"Unable to create temporary table for cohort. Original cohort table will be used", ex)); _uuid = null; } listener.OnNotify(this, new NotifyEventArgs(ProgressEventType.Information, $"Cohort successfully copied to temporary table")); @@ -275,7 +276,12 @@ public virtual DataTable GetChunk(IDataLoadEventListener listener, GracefulCance _hostedSource = UseTempTablesWhenExtractingCohort ? new DbDataCommandDataFlowSource(cmdSql, $"ExecuteDatasetExtraction {Request.DatasetBundle.DataSet}", _con, - ExecutionTimeout) : new DbDataCommandDataFlowSource(cmdSql, + ExecutionTimeout) + { + AllowEmptyResultSets = AllowEmptyExtractions || Request.IsBatchResume, + BatchSize = BatchSize + } + : new DbDataCommandDataFlowSource(cmdSql, $"ExecuteDatasetExtraction {Request.DatasetBundle.DataSet}", Request.GetDistinctLiveDatabaseServer().Builder, ExecutionTimeout)