mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-04 09:35:37 -05:00
Add execution options to the stream factory (#848)
This commit is contained in:
@@ -18,5 +18,7 @@ namespace Microsoft.SqlTools.ServiceLayer.QueryExecution.DataStorage
|
|||||||
|
|
||||||
void DisposeFile(string fileName);
|
void DisposeFile(string fileName);
|
||||||
|
|
||||||
|
SqlContext.QueryExecutionSettings QueryExecutionSettings { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user