Skip to content

Commit ab332cb

Browse files
authored
using existing connection for scripting as operation (#556)
* using connection binding queue for scripting to be able to use existing connection
1 parent 864c4f6 commit ab332cb

File tree

5 files changed

+811
-173
lines changed

5 files changed

+811
-173
lines changed

src/Microsoft.SqlTools.ServiceLayer/Scripting/Contracts/ScriptingOptions.cs

Lines changed: 38 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -13,123 +13,87 @@ public class ScriptOptions
1313
/// <summary>
1414
/// Generate ANSI padding statements
1515
/// </summary>
16-
public bool? ScriptAnsiPadding { get; set; } = false;
17-
18-
/// <summary>
19-
/// Returns Generate ANSI padding statements
20-
/// </summary>
21-
public bool? AnsiPadding { get { return ScriptAnsiPadding; } }
16+
public virtual bool? ScriptAnsiPadding { get; set; } = false;
2217

2318
/// <summary>
2419
/// Append the generated script to a file
2520
/// </summary>
26-
public bool? AppendToFile { get; set; } = false;
21+
public virtual bool? AppendToFile { get; set; } = false;
2722

2823
/// <summary>
2924
/// Continue to script if an error occurs. Otherwise, stop.
3025
/// </summary>
3126
/// <remarks>
3227
/// The default is true.
3328
/// </remarks>
34-
public bool? ContinueScriptingOnError { get; set; } = true;
29+
public virtual bool? ContinueScriptingOnError { get; set; } = true;
3530

3631
/// <summary>
3732
/// Convert user-defined data types to base types.
3833
/// </summary>
39-
public bool? ConvertUDDTToBaseType { get; set; } = false;
40-
41-
/// <summary>
42-
/// Returns ConvertUDDTToBaseType
43-
/// </summary>
44-
public bool? ConvertUserDefinedDataTypesToBaseType { get { return ConvertUDDTToBaseType; } }
34+
public virtual bool? ConvertUDDTToBaseType { get; set; } = false;
4535

4636
/// <summary>
4737
/// Generate script for dependent objects for each object scripted.
4838
/// </summary>
4939
/// <remarks>
5040
/// The default is false.
5141
/// </remarks>
52-
public bool? GenerateScriptForDependentObjects { get; set; } = false;
42+
public virtual bool? GenerateScriptForDependentObjects { get; set; } = false;
5343

5444
/// <summary>
5545
/// Include descriptive headers for each object generated.
5646
/// </summary>
5747
/// <remarks>
5848
/// The default is true.
5949
/// </remarks>
60-
public bool? IncludeDescriptiveHeaders { get; set; } = true;
61-
62-
/// <summary>
63-
/// Returns IncludeDescriptiveHeaders
64-
/// </summary>
65-
public bool? IncludeHeaders { get { return IncludeDescriptiveHeaders; } }
50+
public virtual bool? IncludeDescriptiveHeaders { get; set; } = true;
6651

6752
/// <summary>
6853
/// Check that an object with the given name exists before dropping or altering or that an object with the given name does not exist before creating.
6954
/// </summary>
70-
public bool? IncludeIfNotExists { get; set; } = false;
55+
public virtual bool? IncludeIfNotExists { get; set; } = false;
7156

7257
/// <summary>
7358
/// Script options to set vardecimal storage format.
7459
/// </summary>
75-
public bool? IncludeVarDecimal { get; set; } = true;
60+
public virtual bool? IncludeVarDecimal { get; set; } = true;
7661

7762
/// <summary>
7863
/// Include system generated constraint names to enforce declarative referential integrity.
7964
/// </summary>
80-
public bool? ScriptDriIncludeSystemNames { get; set; } = false;
81-
82-
/// <summary>
83-
/// Returns ScriptDriIncludeSystemNames
84-
/// </summary>
85-
public bool? DriIncludeSystemNames { get { return ScriptDriIncludeSystemNames; } }
65+
public virtual bool? ScriptDriIncludeSystemNames { get; set; } = false;
8666

8767
/// <summary>
8868
/// Include statements in the script that are not supported on the specified SQL Server database engine type.
8969
/// </summary>
90-
public bool? IncludeUnsupportedStatements { get; set; } = true;
70+
public virtual bool? IncludeUnsupportedStatements { get; set; } = true;
9171

9272
/// <summary>
9373
/// Prefix object names with the object schema.
9474
/// </summary>
9575
/// <remarks>
9676
/// The default is true.
9777
/// </remarks>
98-
public bool? SchemaQualify { get; set; } = true;
99-
100-
/// <summary>
101-
/// Returns SchemaQualify
102-
/// </summary>
103-
public bool? SchemaQualifyForeignKeysReferences { get { return SchemaQualify; } }
78+
public virtual bool? SchemaQualify { get; set; } = true;
10479

10580
/// <summary>
10681
/// Script options to set bindings option.
10782
/// </summary>
108-
public bool? Bindings { get; set; } = false;
83+
public virtual bool? Bindings { get; set; } = false;
10984

11085
/// <summary>
11186
/// Script the objects that use collation.
11287
/// </summary>
113-
public bool? Collation { get; set; } = false;
114-
115-
/// <summary>
116-
/// Returns false if Collation is true
117-
/// </summary>
118-
public bool? NoCollation { get { return !Collation; } }
88+
public virtual bool? Collation { get; set; } = false;
11989

12090
/// <summary>
12191
/// Script the default values.
12292
/// </summary>
12393
/// <remarks>
12494
/// The default is true.
12595
/// </remarks>
126-
public bool? Default { get; set; } = true;
127-
128-
/// <summary>
129-
/// Returns the value of Default Property
130-
/// </summary>
131-
public bool? DriDefaults { get { return Default; } }
132-
96+
public virtual bool? Default { get; set; } = true;
13397

13498
/// <summary>
13599
/// Script Object CREATE/DROP statements.
@@ -142,21 +106,15 @@ public class ScriptOptions
142106
/// <remarks>
143107
/// The default is ScriptCreate.
144108
/// </remarks>
145-
public string ScriptCreateDrop { get; set; } = "ScriptCreate";
109+
public virtual string ScriptCreateDrop { get; set; } = "ScriptCreate";
146110

147111
/// <summary>
148112
/// Script the Extended Properties for each object scripted.
149113
/// </summary>
150114
/// <remarks>
151115
/// The default is true.
152116
/// </remarks>
153-
public bool? ScriptExtendedProperties { get; set; } = true;
154-
155-
/// <summary>
156-
/// Returns the value of ScriptExtendedProperties Property
157-
/// </summary>
158-
public bool? ExtendedProperties { get { return ScriptExtendedProperties; } }
159-
117+
public virtual bool? ScriptExtendedProperties { get; set; } = true;
160118

161119
/// <summary>
162120
/// Script only features compatible with the specified version of SQL Server. Possible values:
@@ -167,20 +125,21 @@ public class ScriptOptions
167125
/// Script120Compat
168126
/// Script130Compat
169127
/// Script140Compat
128+
/// Script150Compat
170129
/// </summary>
171130
/// <remarks>
172131
/// The default is Script140Compat.
173132
/// </remarks>
174-
public string ScriptCompatibilityOption { get; set; } = "Script140Compat";
133+
public virtual string ScriptCompatibilityOption { get; set; } = "Script140Compat";
175134

176135
/// <summary>
177136
/// Script only features compatible with the specified SQL Server database engine type.
178137
/// Possible Values:
179138
/// SingleInstance
180139
/// SqlAzure
181140
/// </summary>
182-
public string TargetDatabaseEngineType { get; set; } = "SingleInstance";
183-
141+
public virtual string TargetDatabaseEngineType { get; set; } = "SingleInstance";
142+
184143
/// <summary>
185144
/// Script only features compatible with the specified SQL Server database engine edition.
186145
/// Possible Values:
@@ -191,28 +150,24 @@ public class ScriptOptions
191150
/// SqlAzureDatabaseEdition
192151
/// SqlDatawarehouseEdition
193152
/// SqlServerStretchEdition
153+
/// SqlManagedInstanceEdition
194154
/// </summary>
195-
public string TargetDatabaseEngineEdition { get; set; } = "SqlServerEnterpriseEdition";
155+
public virtual string TargetDatabaseEngineEdition { get; set; } = "SqlServerEnterpriseEdition";
196156

197157
/// <summary>
198158
/// Script all logins available on the server. Passwords will not be scripted.
199159
/// </summary>
200-
public bool? ScriptLogins { get; set; } = false;
160+
public virtual bool? ScriptLogins { get; set; } = false;
201161

202162
/// <summary>
203163
/// Generate object-level permissions.
204164
/// </summary>
205-
public bool? ScriptObjectLevelPermissions { get; set; } = false;
206-
207-
/// <summary>
208-
/// Returns the value of ScriptObjectLevelPermissions Property
209-
/// </summary>
210-
public bool? Permissions { get { return ScriptObjectLevelPermissions; } }
165+
public virtual bool? ScriptObjectLevelPermissions { get; set; } = false;
211166

212167
/// <summary>
213168
/// Script owner for the objects.
214169
/// </summary>
215-
public bool? ScriptOwner { get; set; } = false;
170+
public virtual bool? ScriptOwner { get; set; } = false;
216171

217172
/// <summary>
218173
/// Script statistics, and optionally include histograms, for each selected table or view.
@@ -224,18 +179,12 @@ public class ScriptOptions
224179
/// <remarks>
225180
/// The default value is ScriptStatsNone.
226181
/// </remarks>
227-
public string ScriptStatistics { get; set; } = "ScriptStatsNone";
228-
229-
/// <summary>
230-
/// Returns the value of ScriptStatistics Property
231-
/// </summary>
232-
public string Statistics { get { return ScriptStatistics; } }
233-
182+
public virtual string ScriptStatistics { get; set; } = "ScriptStatsNone";
234183

235184
/// <summary>
236185
/// Generate USE DATABASE statement.
237186
/// </summary>
238-
public bool? ScriptUseDatabase { get; set; } = true;
187+
public virtual bool? ScriptUseDatabase { get; set; } = true;
239188

240189
/// <summary>
241190
/// Generate script that contains schema only or schema and data.
@@ -247,119 +196,67 @@ public class ScriptOptions
247196
/// <remarks>
248197
/// The default value is SchemaOnly.
249198
/// </remarks>
250-
public string TypeOfDataToScript { get; set; } = "SchemaOnly";
199+
public virtual string TypeOfDataToScript { get; set; } = "SchemaOnly";
251200

252201
/// <summary>
253202
/// Scripts the change tracking information.
254203
/// </summary>
255-
public bool? ScriptChangeTracking { get; set; } = false;
256-
257-
/// <summary>
258-
/// Returns the value of ScriptChangeTracking Property
259-
/// </summary>
260-
public bool? ChangeTracking { get { return ScriptChangeTracking; } }
261-
204+
public virtual bool? ScriptChangeTracking { get; set; } = false;
262205

263206
/// <summary>
264207
/// Script the check constraints for each table or view scripted.
265208
/// </summary>
266209
/// <remarks>
267210
/// The default value is true.
268211
/// </remarks>
269-
public bool? ScriptCheckConstraints { get; set; } = true;
270-
271-
/// <summary>
272-
/// Returns the value of ScriptCheckConstraints Property
273-
/// </summary>
274-
public bool? DriChecks { get { return ScriptCheckConstraints; } }
212+
public virtual bool? ScriptCheckConstraints { get; set; } = true;
275213

276214
/// <summary>
277215
/// Scripts the data compression information.
278216
/// </summary>
279-
public bool? ScriptDataCompressionOptions { get; set; } = false;
280-
281-
/// <summary>
282-
/// Returns the value of ScriptDataCompressionOptions Property
283-
/// </summary>
284-
public bool? ScriptDataCompression { get { return ScriptDataCompressionOptions; } }
285-
217+
public virtual bool? ScriptDataCompressionOptions { get; set; } = false;
286218

287219
/// <summary>
288220
/// Script the foreign keys for each table scripted.
289221
/// </summary>
290222
/// <remarks>
291223
/// The default value is true.
292224
/// </remarks>
293-
public bool? ScriptForeignKeys { get; set; } = true;
294-
295-
/// <summary>
296-
/// Returns the value of ScriptForeignKeys Property
297-
/// </summary>
298-
public bool? DriForeignKeys { get { return ScriptForeignKeys; } }
299-
225+
public virtual bool? ScriptForeignKeys { get; set; } = true;
300226

301227
/// <summary>
302228
/// Script the full-text indexes for each table or indexed view scripted.
303229
/// </summary>
304-
public bool? ScriptFullTextIndexes { get; set; } = true;
305-
306-
/// <summary>
307-
/// Returns the value of ScriptFullTextIndexes Property
308-
/// </summary>
309-
public bool? FullTextIndexes { get { return ScriptFullTextIndexes; } }
310-
230+
public virtual bool? ScriptFullTextIndexes { get; set; } = true;
311231

312232
/// <summary>
313233
/// Script the indexes (including XML and clustered indexes) for each table or indexed view scripted.
314234
/// </summary>
315235
/// <remarks>
316236
/// The default value is true.
317237
/// </remarks>
318-
public bool? ScriptIndexes { get; set; } = true;
319-
320-
/// <summary>
321-
/// Returns the value of ScriptIndexes Property
322-
/// </summary>
323-
public bool? DriIndexes { get { return ScriptIndexes; } }
324-
238+
public virtual bool? ScriptIndexes { get; set; } = true;
325239

326240
/// <summary>
327241
/// Script the primary keys for each table or view scripted
328242
/// </summary>
329243
/// <remarks>
330244
/// The default value is true.
331245
/// </remarks>
332-
public bool? ScriptPrimaryKeys { get; set; } = true;
333-
334-
/// <summary>
335-
/// Returns the value of ScriptPrimaryKeys Property
336-
/// </summary>
337-
public bool? DriPrimaryKey { get { return ScriptPrimaryKeys; } }
338-
246+
public virtual bool? ScriptPrimaryKeys { get; set; } = true;
339247

340248
/// <summary>
341249
/// Script the triggers for each table or view scripted
342250
/// </summary>
343-
public bool? ScriptTriggers { get; set; } = true;
344-
345-
/// <summary>
346-
/// Returns the value of ScriptTriggers Property
347-
/// </summary>
348-
public bool? Triggers { get { return ScriptTriggers; } }
349-
251+
public virtual bool? ScriptTriggers { get; set; } = true;
350252

351253
/// <summary>
352254
/// Script the unique keys for each table or view scripted.
353255
/// </summary>
354256
/// <remarks>
355257
/// The default value is true.
356258
/// </remarks>
357-
public bool? UniqueKeys { get; set; } = true;
358-
359-
/// <summary>
360-
/// Returns the value of UniqueKeys Property
361-
/// </summary>
362-
public bool? DriUniqueKeys { get { return UniqueKeys; } }
363-
259+
public virtual bool? UniqueKeys { get; set; } = true;
260+
364261
}
365262
}

0 commit comments

Comments
 (0)