Add execution options to the stream factory (#848)

This commit is contained in:
Amir Omidi
2019-10-03 10:45:23 -07:00
committed by Karl Burtram
parent f45808692c
commit e95b4c84c5
4 changed files with 8 additions and 4 deletions

View File

@@ -18,5 +18,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
void DisposeFile(string fileName);
SqlContext.QueryExecutionSettings QueryExecutionSettings { get; set; }
}
}

View File

@@ -19,7 +19,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
/// <summary>
/// The settings for query execution
/// </summary>
public QueryExecutionSettings ExecutionSettings { get; set; }
public QueryExecutionSettings QueryExecutionSettings { get; set; }
#endregion
@@ -40,7 +40,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
/// <returns>A <see cref="ServiceBufferFileStreamReader"/></returns>
public IFileStreamReader GetReader(string fileName)
{
return new ServiceBufferFileStreamReader(new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), ExecutionSettings);
return new ServiceBufferFileStreamReader(new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), QueryExecutionSettings);
}
/// <summary>
@@ -51,7 +51,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
/// <returns>A <see cref="ServiceBufferFileStreamWriter"/></returns>
public IFileStreamWriter GetWriter(string fileName)
{
return new ServiceBufferFileStreamWriter(new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite), ExecutionSettings);
return new ServiceBufferFileStreamWriter(new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite), QueryExecutionSettings);
}
/// <summary>

View File

@@ -515,6 +515,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution
QueryExecutionSettings settings,
IFileStreamFactory outputFactory)
{
outputFactory.QueryExecutionSettings = settings;
QuerySettingsHelper helper = new QuerySettingsHelper(settings);
// set query execution plan options

View File

@@ -73,7 +73,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution
{
BufferFileStreamFactory = new ServiceBufferFileStreamFactory
{
ExecutionSettings = Settings.QueryExecutionSettings
QueryExecutionSettings = Settings.QueryExecutionSettings
};
}
return BufferFileStreamFactory;
@@ -757,6 +757,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution
BufferFileFactory,
executeParams.GetFullColumnSchema,
applyExecutionSettings);
if (!ActiveQueries.TryAdd(executeParams.OwnerUri, newQuery))
{
newQuery.Dispose();