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); void DisposeFile(string fileName);
SqlContext.QueryExecutionSettings QueryExecutionSettings { get; set; }
} }
} }

View File

@@ -19,7 +19,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
/// <summary> /// <summary>
/// The settings for query execution /// The settings for query execution
/// </summary> /// </summary>
public QueryExecutionSettings ExecutionSettings { get; set; } public QueryExecutionSettings QueryExecutionSettings { get; set; }
#endregion #endregion
@@ -40,7 +40,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
/// <returns>A <see cref="ServiceBufferFileStreamReader"/></returns> /// <returns>A <see cref="ServiceBufferFileStreamReader"/></returns>
public IFileStreamReader GetReader(string fileName) 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> /// <summary>
@@ -51,7 +51,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
/// <returns>A <see cref="ServiceBufferFileStreamWriter"/></returns> /// <returns>A <see cref="ServiceBufferFileStreamWriter"/></returns>
public IFileStreamWriter GetWriter(string fileName) 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> /// <summary>

View File

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

View File

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