-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathAst.xml
More file actions
4769 lines (4736 loc) · 381 KB
/
Ast.xml
File metadata and controls
4769 lines (4736 loc) · 381 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0"?>
<!--
<copyright file="Ast.xml" company="Microsoft">
Copyright (c) Microsoft Corporation. All rights reserved.
</copyright>
-->
<Types Namespace="Microsoft.SqlServer.TransactSql.ScriptDom">
<Class Name="StatementList" Summary="Represents a list of statements.">
<Member Name="Statements" Type="TSqlStatement" Collection="true" Summary="A list of statements, possibly empty."/>
</Class>
<Class Name="ExecuteStatement" Base="TSqlStatement" Summary="Represents the EXECUTE T-SQL statement">
<Member Name="ExecuteSpecification" Type="ExecuteSpecification" Summary="The execute specification"/>
<Member Name="Options" Type="ExecuteOption" Collection="true" Summary="The execute options"/>
</Class>
<Class Name="ExecuteOption" Summary="Represents an option to the execute statement">
<Member Name="OptionKind" Type="ExecuteOptionKind" GenerateUpdatePositionInfoCall="false" Summary="The type of the execute option"/>
</Class>
<Class Name="ResultSetsExecuteOption" Base="ExecuteOption" Summary="The results set description for EXECUTE statements">
<InheritedClass Name="ExecuteOption"/>
<Member Name="ResultSetsOptionKind" Type="ResultSetsOptionKind" GenerateUpdatePositionInfoCall="false" Summary="The representation of the result sets."/>
<Member Name="Definitions" Type="ResultSetDefinition" Collection="true" Summary="The collection of definitions for each result set."/>
</Class>
<Class Name="ResultSetDefinition" Summary="The definition of an individual result set">
<Member Name="ResultSetType" Type="ResultSetType" GenerateUpdatePositionInfoCall="false" Summary="The type of the result set definition"/>
</Class>
<Class Name="InlineResultSetDefinition" Base="ResultSetDefinition" Summary="Represents the inline definition of a result set">
<InheritedClass Name="ResultSetDefinition"/>
<Member Name="ResultColumnDefinitions" Type="ResultColumnDefinition" Collection="true" Summary="The column definitions"/>
</Class>
<Class Name="ResultColumnDefinition" Summary="Represents the column definition of a result set">
<Member Name="ColumnDefinition" Type="ColumnDefinitionBase" Summary="The column definition"/>
<Member Name="Nullable" Type="NullableConstraintDefinition" Summary="The nullable constraint for the column"/>
</Class>
<Class Name="SchemaObjectResultSetDefinition" Base="ResultSetDefinition" Summary="Represents the result set as a reference to an existing schema object or type">
<InheritedClass Name="ResultSetDefinition"/>
<Member Name="Name" Type="SchemaObjectName" Summary="The name of the SchemaObject"/>
</Class>
<Class Name="ExecuteSpecification" Summary="Represents a call to EXECUTE">
<Member Name="Variable" Type="VariableReference" Summary="Variable for the return value of the EXECUTE" />
<Member Name="LinkedServer" Type="Identifier" Summary="The linked server name for EXECUTE AT"/>
<Member Name="ExecuteContext" Type="ExecuteContext" Summary="The execute security context" />
<Member Name="ExecutableEntity" Type="ExecutableEntity" Summary="The entity to be executed" />
</Class>
<Class Name="ExecuteContext" Summary="Represents the security context for execute statements">
<Member Name="Principal" Type="ScalarExpression" Summary="The principal used to execute the statement"/>
<Member Name="Kind" Type="ExecuteAsOption" GenerateUpdatePositionInfoCall="false" Summary="Principal type - can be Login or User"/>
</Class>
<Class Name="ExecuteParameter" Summary="Parameter passed to procedure in EXECUTE statement">
<Member Name="Variable" Type="VariableReference" Summary="The reference to the parameter variable"/>
<Member Name="ParameterValue" Type="ScalarExpression" Summary="The value of the parameter"/>
<Member Name="IsOutput" Type="bool" Summary="Whether the parameter is output"/>
</Class>
<Class Name="ExecutableEntity" Abstract="true" Summary="Base class for all possible things which can be executed with EXECUTE statement.">
<Member Name="Parameters" Type="ExecuteParameter" Collection="true" Summary="The collection of parameters to execute."/>
</Class>
<Class Name="ProcedureReferenceName" Summary="Represents a procedure by name, either as a ProcedureReference or contained within a variable.">
<Member Name="ProcedureReference" Type="ProcedureReference" Summary="Mutually Exclusive with ProcedureVariable."/>
<Member Name="ProcedureVariable" Type="VariableReference" Summary="Mutually Exclusive with ProcedureReference."/>
</Class>
<Class Name="ExecutableProcedureReference" Base="ExecutableEntity" Summary="Represents a reference to a procedure in execute.">
<InheritedClass Name="ExecutableEntity" />
<Member Name="ProcedureReference" Type="ProcedureReferenceName" Summary="The reference to the procedure"/>
<Member Name="AdHocDataSource" Type="AdHocDataSource" Summary="The ad hoc data source where the procedure will be executed."/>
</Class>
<Class Name="ExecutableStringList" Base="ExecutableEntity" Summary="Strings representing commands passed to EXECUTE statement.">
<InheritedClass Name="ExecutableEntity" />
<Member Name="Strings" Type="ValueExpression" Collection="true" Summary="The strings or variable references to be executed."/>
</Class>
<Class Name="AdHocDataSource" Summary="Represents ad hoc datasource.">
<Member Name="ProviderName" Type="StringLiteral" Summary="The provider name."/>
<Member Name="InitString" Type="StringLiteral" Summary="The init string defining the connection"/>
</Class>
<Class Name="ViewOption" Summary="Represents the View option." >
<Member Name="OptionKind" Type="ViewOptionKind" GenerateUpdatePositionInfoCall="false" Summary="The type of the view option."/>
</Class>
<Class Name="AlterViewStatement" Base="ViewStatementBody" Summary="The ALTER VIEW statement." >
<InheritedClass Name="ViewStatementBody"/>
<Member Name="IsRebuild" Type="bool" Summary="True if REBUILD is defined for SQL DW materialized views."/>
<Member Name="IsDisable" Type="bool" Summary="True if DISABLE is defined for SQL DW materialized views."/>
</Class>
<Class Name="CreateViewStatement" Base="ViewStatementBody" Summary="The CREATE VIEW statement." >
<InheritedClass Name="ViewStatementBody"/>
</Class>
<Class Name="CreateOrAlterViewStatement" Base="ViewStatementBody" Summary="The CREATE OR ALTER VIEW statement." >
<InheritedClass Name="ViewStatementBody"/>
</Class>
<Class Name="ViewStatementBody" Base="TSqlStatement" Abstract="true" Summary="Base class for CREATE/ALTER VIEW statement.">
<Member Name="SchemaObjectName" Type="SchemaObjectName" Summary="The name of the view."/>
<Member Name="Columns" Type="Identifier" Collection="true" Summary="The columns for the view."/>
<Member Name="ViewOptions" Type="ViewOption" Collection="true" Summary="Options in WITH clause"/>
<Member Name="SelectStatement" Type="SelectStatement" Summary="The query expression that represents the select, with optiona common table expression and xml namespaces clauses."/>
<Member Name="WithCheckOption" Type="bool" Summary="True if With Check Option is defined."/>
<Member Name="IsMaterialized" Type="bool" Summary="Whether the view is SQL DW materialized or not."/>
</Class>
<!-- Materialized View options added for SQL DW CREATE Materialized View statement -->
<Class Name="ViewForAppendOption" Base="ViewOption" Summary="Represents the view FOR_APPEND option for SQL DW materialized views.">
<InheritedClass Name="ViewOption"/>
</Class>
<Class Name="ViewDistributionOption" Base="ViewOption" Summary="Represents the view DISTRIBUTION option for SQL DW materialized views.">
<InheritedClass Name="ViewOption"/>
<Member Name="Value" Type="ViewDistributionPolicy" GenerateUpdatePositionInfoCall="false" Summary="The view distribution policy for materialized views."/>
</Class>
<Class Name="ViewDistributionPolicy" Abstract="true" Summary="Base class for materialized view distribution policies.">
</Class>
<Class Name="ViewRoundRobinDistributionPolicy" Base="ViewDistributionPolicy" Summary="Representation of the ROUND_ROBIN option for a materialized view distribution policy.">
<InheritedClass Name="ViewDistributionPolicy"/>
</Class>
<Class Name="ViewHashDistributionPolicy" Base="ViewDistributionPolicy" Summary="Representation of the HASH option for a materialized view distribution policy.">
<InheritedClass Name="ViewDistributionPolicy"/>
<Member Name="DistributionColumn" Type="Identifier" CollectionFirstItem="true" GenerateUpdatePositionInfoCall="false" Summary="The column reference in the HASH option for a view distribution policy."/>
<Member Name="DistributionColumns" Type="Identifier" Collection="true" GenerateUpdatePositionInfoCall="false" Summary="The columns reference in the HASH option for a view distribution policy."/>
</Class>
<Class Name="TriggerObject" Summary="Information on what trigger is being created/altered" >
<Member Name="Name" Type="SchemaObjectName" Summary="The object to create the trigger on."/>
<Member Name="TriggerScope" Type="TriggerScope" GenerateUpdatePositionInfoCall="false" Summary="Needs override OnVisitTriggerObject in VersionChecker. Requires manual update - Normal=0 for 2K, 1=Database and 2=Server for 2K5" Custom="true"/>
</Class>
<Class Name="TriggerOption" Summary="Represents the trigger option." >
<Member Name="OptionKind" Type="TriggerOptionKind" GenerateUpdatePositionInfoCall="false" Summary="The type of the option."/>
</Class>
<Class Name="ExecuteAsTriggerOption" Base="TriggerOption" Summary="The EXECUTE AS trigger option">
<InheritedClass Name="TriggerOption"/>
<Member Name="ExecuteAsClause" Type="ExecuteAsClause" Summary="The execute as clause"/>
</Class>
<Class Name="TriggerAction" Summary="Represents the trigger action.">
<Member Name="TriggerActionType" Type="TriggerActionType" GenerateUpdatePositionInfoCall="false" Summary="The type of the action."/>
<Member Name="EventTypeGroup" Type="EventTypeGroupContainer" Summary="Represents the event. Will be null if the type is not event."/>
</Class>
<Class Name="AlterTriggerStatement" Base="TriggerStatementBody" Summary="The ALTER TRIGGER statement.">
<InheritedClass Name="TriggerStatementBody"/>
</Class>
<Class Name="CreateTriggerStatement" Base="TriggerStatementBody" Summary="The CREATE TRIGGER statement.">
<InheritedClass Name="TriggerStatementBody"/>
</Class>
<Class Name="CreateOrAlterTriggerStatement" Base="TriggerStatementBody" Summary="The CREATE OR ALTER TRIGGER statement.">
<InheritedClass Name="TriggerStatementBody"/>
</Class>
<Class Name="TriggerStatementBody" Base="TSqlStatement" Abstract="true" Summary="Represents CREATE/ALTER TRIGGER statement.">
<Member Name="Name" Type="SchemaObjectName" Summary="The name of the trigger. Can at most be a two part name."/>
<Member Name="TriggerObject" Type="TriggerObject" Summary="The target."/>
<Member Name="Options" Type="TriggerOption" Collection="true" Summary="Options in WITH clause - different options for trigger and function"/>
<Member Name="TriggerType" Type="TriggerType" GenerateUpdatePositionInfoCall="false" Summary="The type of the trigger."/>
<Member Name="TriggerActions" Type="TriggerAction" Collection="true" Summary="The trigger actions."/>
<Member Name="WithAppend" Type="bool" Summary="True if WITH APPEND is defined."/>
<Member Name="IsNotForReplication" Type="bool" Summary="True if NOT FOR REPLICATION is defined."/>
<Member Name="StatementList" Type="StatementList" Summary="Statements for trigger."/>
<Member Name="MethodSpecifier" Type="MethodSpecifier" Summary="The name of the method specifier." />
</Class>
<Class Name="Identifier" Summary="This fragment is used to represent an identifier" >
<Member Name="Value" Type="string" GenerateUpdatePositionInfoCall="false" Summary="The value of the identifier."/>
<Member Name="QuoteType" Type="QuoteType" GenerateUpdatePositionInfoCall="false" Summary="The type of the quote."/>
</Class>
<Class Name="AlterProcedureStatement" Base="ProcedureStatementBody" Summary="The alter procedure statement." >
<InheritedMember Name="ProcedureReference" ContainerClass="ProcedureStatementBody"/>
<InheritedMember Name="Parameters" ContainerClass="ProcedureStatementBodyBase"/>
<InheritedMember Name="Options" ContainerClass="ProcedureStatementBody"/>
<InheritedMember Name="IsForReplication" ContainerClass="ProcedureStatementBody" />
<InheritedMember Name="StatementList" ContainerClass="ProcedureStatementBodyBase"/>
<InheritedMember Name="MethodSpecifier" ContainerClass="ProcedureStatementBodyBase"/>
</Class>
<Class Name="CreateProcedureStatement" Base="ProcedureStatementBody" Summary="The create procedure statement." >
<InheritedMember Name="ProcedureReference" ContainerClass="ProcedureStatementBody"/>
<InheritedMember Name="Parameters" ContainerClass="ProcedureStatementBodyBase"/>
<InheritedMember Name="Options" ContainerClass="ProcedureStatementBody"/>
<InheritedMember Name="IsForReplication" ContainerClass="ProcedureStatementBody" />
<InheritedMember Name="StatementList" ContainerClass="ProcedureStatementBodyBase"/>
<InheritedMember Name="MethodSpecifier" ContainerClass="ProcedureStatementBodyBase"/>
</Class>
<Class Name="CreateOrAlterProcedureStatement" Base="ProcedureStatementBody" Summary="The create or alter procedure statement." >
<InheritedMember Name="ProcedureReference" ContainerClass="ProcedureStatementBody"/>
<InheritedMember Name="Parameters" ContainerClass="ProcedureStatementBodyBase"/>
<InheritedMember Name="Options" ContainerClass="ProcedureStatementBody"/>
<InheritedMember Name="IsForReplication" ContainerClass="ProcedureStatementBody" />
<InheritedMember Name="StatementList" ContainerClass="ProcedureStatementBodyBase"/>
<InheritedMember Name="MethodSpecifier" ContainerClass="ProcedureStatementBodyBase"/>
</Class>
<Class Name="ProcedureReference" Summary="Reference to procedure by name and number" >
<Member Name="Name" Type="SchemaObjectName" Summary="The procedure name"/>
<Member Name="Number" Type="Literal" Summary="The procedure number"/>
</Class>
<Class Name="MethodSpecifier" Summary="Represents the method specifier.">
<Member Name="AssemblyName" Type="Identifier" Summary="The assembly name."/>
<Member Name="ClassName" Type="Identifier" Summary="The class name."/>
<Member Name="MethodName" Type="Identifier" Summary="The method name."/>
</Class>
<Class Name="ProcedureStatementBody" Base="ProcedureStatementBodyBase" Abstract="true" Summary="Represents CREATE/ALTER PROCEDURE statement." >
<InheritedClass Name="ProcedureStatementBodyBase" />
<Member Name="ProcedureReference" Type="ProcedureReference" Summary="The name of the procedure. Can at most be a two part name."/>
<Member Name="IsForReplication" Type="bool" Summary="True if For Replication is defined.."/>
<Member Name="Options" Type="ProcedureOption" Collection="true" Summary="The procedure with options."/>
</Class>
<Class Name="ProcedureStatementBodyBase" Base="TSqlStatement" Abstract="true" Summary="Represents common propeties in CREATE/ALTER PROC/FUNCTION statements">
<Member Name="Parameters" Type="ProcedureParameter" Collection="true" Summary="Parameters which can be passed to procedure or function"/>
<Member Name="StatementList" Type="StatementList" Summary="Statements for procedure / function (single BeginEnd in this case)"/>
<Member Name="MethodSpecifier" Type="MethodSpecifier" Summary="The name of the method specifier." />
</Class>
<Class Name="FunctionStatementBody" Base="ProcedureStatementBodyBase" Abstract="true" Summary="Represents CREATE/ALTER FUNCTION statement">
<InheritedClass Name="ProcedureStatementBodyBase" />
<Member Name="Name" Type="SchemaObjectName" Summary="The name of the function. Can at most be a two part name."/>
<Member Name="ReturnType" Type="FunctionReturnType" Summary="The return type of the function. Depending on this property, Statements may be empty collection" />
<Member Name="Options" Type="FunctionOption" Collection="True" Summary="Options in WITH clause - different options for procedure and function. Custom Manual processing."/>
<!-- New for T-SQL 100 -->
<Member Name="OrderHint" Type="OrderBulkInsertOption" Summary="Optional CLR table-valued options order hint. Valid only in case of CLR table-valued function."/>
</Class>
<Class Name="ProcedureOption" Summary="Represents a Procedure Option">
<Member Name="OptionKind" Type="ProcedureOptionKind" GenerateUpdatePositionInfoCall="false" Summary="The type of the procedure option"/>
</Class>
<Class Name="ExecuteAsProcedureOption" Base="ProcedureOption" Summary="The execute as procedure option">
<InheritedClass Name="ProcedureOption"/>
<Member Name="ExecuteAs" Type="ExecuteAsClause" Summary="The execute as clause"/>
</Class>
<Class Name="FunctionOption" Summary="Represents a Function Option">
<Member Name="OptionKind" Type="FunctionOptionKind" GenerateUpdatePositionInfoCall="false" Summary="The type of the function option"/>
</Class>
<Class Name="InlineFunctionOption" Base="FunctionOption" Summary="The Inline function option">
<InheritedClass Name="FunctionOption"/>
<Member Name="OptionState" Type="OptionState" GenerateUpdatePositionInfoCall="false" Summary="The option state for Inline Function option"/>
</Class>
<Class Name="ExecuteAsFunctionOption" Base="FunctionOption" Summary="The execute as function option">
<InheritedClass Name="FunctionOption"/>
<Member Name="ExecuteAs" Type="ExecuteAsClause" Summary="The execute as clause"/>
</Class>
<Class Name="XmlNamespaces" Summary="This class represents XmlNameSpaces">
<Member Name="XmlNamespacesElements" Type="XmlNamespacesElement" Collection="true" Summary="This is the list for xml namespaces."/>
</Class>
<Class Name="XmlNamespacesElement" Abstract="true" Summary="The element that is used in defining xml namespace.">
<Member Name="String" Type="StringLiteral" Summary="Literal that can be a string."/>
</Class>
<Class Name="XmlNamespacesDefaultElement" Base="XmlNamespacesElement" Summary="The default variation for the xml namespace element.">
<InheritedClass Name="XmlNamespacesElement" />
</Class>
<Class Name="XmlNamespacesAliasElement" Base="XmlNamespacesElement" Summary="The alias variation for the xml namespace element.">
<InheritedClass Name="XmlNamespacesElement" />
<Member Name="Identifier" Type="Identifier" Summary="Represents the alias."/>
</Class>
<Class Name="CommonTableExpression" Summary="This class represents the common table expression.">
<Member Name="ExpressionName" Type="Identifier" Summary="The expression name."/>
<Member Name="Columns" Type="Identifier" Collection="true" Summary="The columns. Optional may have zero elements."/>
<Member Name="QueryExpression" Type="QueryExpression" Summary="The query definition."/>
<Member Name="WithCtesAndXmlNamespaces" Type="WithCtesAndXmlNamespaces" Nullable="true" Summary="Nested CTE." />
</Class>
<Class Name="WithCtesAndXmlNamespaces" Summary="This class represents a common construct that can have common table expressions and xml namespaces in it.">
<Member Name="XmlNamespaces" Type="XmlNamespaces" Summary="The xml namespaces. May be null."/>
<Member Name="CommonTableExpressions" Type="CommonTableExpression" Collection="true" Summary="The common table expressions. May have zero elements."/>
<!-- New for T-SQL 100 -->
<Member Name="ChangeTrackingContext" Type="ValueExpression" Summary="Represents the change tracking context."/>
</Class>
<Class Name="FunctionReturnType" Abstract="true" Summary="Base class for function return type">
</Class>
<Class Name="TableValuedFunctionReturnType" Base="FunctionReturnType" Summary="The return type definition for multi-statement table-valued functions">
<Member Name="DeclareTableVariableBody" Type="DeclareTableVariableBody" Summary="Table body declaration." />
</Class>
<Class Name="DataTypeReference" Abstract="true" Summary="The base data type class.">
<Member Name="Name" Type="SchemaObjectName" Summary="The user defined data type, CLR or UDT."/>
</Class>
<Class Name="ParameterizedDataTypeReference" Abstract="true" Base="DataTypeReference" Summary="The data type abstract class that can have parameters.">
<InheritedClass Name="DataTypeReference" />
<Member Name="Parameters" Type="Literal" Collection="true"
Summary="Parameters if the schema object is a user defined function."/>
</Class>
<Class Name="SqlDataTypeReference" Base="ParameterizedDataTypeReference" Summary="Represents built-in data types">
<InheritedClass Name="ParameterizedDataTypeReference" />
<Member Name="SqlDataTypeOption" Type="SqlDataTypeOption" GenerateUpdatePositionInfoCall="false"
Summary="The sql data type."/>
</Class>
<Class Name="UserDataTypeReference" Base="ParameterizedDataTypeReference" Summary="Represents user-defined data types">
<InheritedClass Name="ParameterizedDataTypeReference" />
</Class>
<Class Name="XmlDataTypeReference" Base="DataTypeReference" Summary="Represents xml data types">
<InheritedClass Name="DataTypeReference" />
<Member Name="XmlDataTypeOption" Type="XmlDataTypeOption" GenerateUpdatePositionInfoCall="false"
Summary="The xml data type option."/>
<Member Name="XmlSchemaCollection" Type="SchemaObjectName" Summary="The xml schema collection. Optional may be null."/>
</Class>
<Class Name="ScalarFunctionReturnType" Base="FunctionReturnType" Summary="The return type definition for scalar-valued functions">
<Member Name="DataType" Type="DataTypeReference" Summary="The data type of the return."/>
</Class>
<Class Name="SelectFunctionReturnType" Base="FunctionReturnType" Summary="The return type definition for inline table-valued functions">
<Member Name="SelectStatement" Type="SelectStatement" Summary="Single select statement that defines return value, with only CTEs and XML namespaces possible"/>
</Class>
<Class Name="TableDefinition" Summary="This class stores the common body for defining a table">
<Member Name="ColumnDefinitions" Type="ColumnDefinition" Collection="true"
Summary="Represents the column definitions, only valid if data type is table."/>
<Member Name="TableConstraints" Type="ConstraintDefinition" Collection="true"
Summary="The table constraints, only valid if data type is table."/>
<!-- New for T-SQL 120 -->
<Member Name="Indexes" Type="IndexDefinition" Collection="true"
Summary="The index for this column."/>
<!-- New for T-SQL 130 -->
<Member Name="SystemTimePeriod" Type="SystemTimePeriodDefinition" Collection="false"
Summary="System time period for this table."/>
</Class>
<Class Name="DeclareTableVariableBody" Summary="Represents the body of the declare @variable table variation.">
<Member Name="VariableName" Type="Identifier" Summary="The name of the variable. This includes the @ at the beginning."/>
<Member Name="AsDefined" Type="bool" Summary="Shows if the optional AS was used. Required to distinguish between Sql80 and Sql90."/>
<Member Name="Definition" Type="TableDefinition" Summary="The table definition containing column and constraint definitions."/>
</Class>
<Class Name="DeclareTableVariableStatement" Base="TSqlStatement" Summary="This class represents the declare @variable statement's table variation.">
<Member Name="Body" Type="DeclareTableVariableBody" Summary="Statement body"/>
</Class>
<Class Name="NamedTableReference" Base="TableReferenceWithAlias" Summary="The table reference to a CTE or schema object.">
<Member Name="SchemaObject" Type="SchemaObjectName" Summary="The name of the schema object."/>
<InheritedClass Name="TableReferenceWithAlias" />
<Member Name="TableHints" Type="TableHint" Collection="true" Summary="The table or view hints."/>
<Member Name="TableSampleClause" Type="TableSampleClause" Summary="The table sample clause. Optional, may be null." />
<Member Name="TemporalClause" Type="TemporalClause" Summary="Temporal clause for this table reference."/>
<Member Name="PartitionBy" Type="ScalarExpression" Collection="true" Summary="Expressions to partition the table by" IsStreamAnalyticsExtension="true"/>
<Member Name="TimestampBy" Type="ScalarExpression" Summary="Column to use as the timestamp" IsStreamAnalyticsExtension="true"/>
<Member Name="Over" Type="ScalarExpression" Summary="Column to use as the stream grouping" IsStreamAnalyticsExtension="true"/>
</Class>
<Class Name="SchemaObjectFunctionTableReference" Base="TableReferenceWithAliasAndColumns" Summary="A table reference to a table-valued function">
<Member Name="SchemaObject" Type="SchemaObjectName" Summary="The name of the schema object."/>
<InheritedClass Name="TableReferenceWithAliasAndColumns" />
<Member Name="Parameters" Type="ScalarExpression" Collection="true" Summary="The parameters of the function"/>
</Class>
<Class Name="TableHint" Summary="Represents single table hint.">
<Member Name="HintKind" Type="TableHintKind" GenerateUpdatePositionInfoCall="false" Summary="Hint kind."/>
</Class>
<Class Name="IndexTableHint" Base="TableHint" Summary="Represents INDEX table hint.">
<InheritedClass Name="TableHint"/>
<Member Name="IndexValues" Type="IdentifierOrValueExpression" Collection="true"
Summary="Parameters for the index hint. Possible types: Literal or Identifier."/>
</Class>
<Class Name="LiteralTableHint" Base="TableHint" Summary="Represents table hint with literal value.">
<InheritedClass Name="TableHint"/>
<Member Name="Value" Type="Literal" Summary="Hint value."/>
</Class>
<!-- Renamed for T-SQL 100 -->
<Class Name="QueryDerivedTable" Base="TableReferenceWithAliasAndColumns" Summary="This node represents a derived table.">
<InheritedClass Name="TableReferenceWithAliasAndColumns" />
<Member Name="QueryExpression" Type="QueryExpression" Summary="The subquery."/>
</Class>
<!-- New for T-SQL 100 -->
<Class Name="InlineDerivedTable" Base="TableReferenceWithAliasAndColumns" Summary="This node represents a derived table.">
<InheritedClass Name="TableReferenceWithAliasAndColumns" />
<Member Name="RowValues" Type="RowValue" Collection="true" Summary="The list of rows."/>
</Class>
<Class Name="SubqueryComparisonPredicate" Base="BooleanExpression" Summary="Represents the comparison predicates that have subqueries.">
<Member Name="Expression" Type="ScalarExpression" Summary="The expression to compare."/>
<Member Name="ComparisonType" Type="BooleanComparisonType" GenerateUpdatePositionInfoCall="false" Summary="The boolean comparison operator"/>
<Member Name="Subquery" Type="ScalarSubquery" Summary="The subquery."/>
<Member Name="SubqueryComparisonPredicateType" Type="SubqueryComparisonPredicateType" GenerateUpdatePositionInfoCall="false" Summary="The type of the subquery comparison."/>
</Class>
<Class Name="ExistsPredicate" Base="BooleanExpression" Summary="Represents the exists predicate.">
<Member Name="Subquery" Type="ScalarSubquery" Summary="The subquery."/>
</Class>
<Class Name="LikePredicate" Base="BooleanExpression" Summary="Represents the like predicate.">
<Member Name="FirstExpression" Type="ScalarExpression" Summary="The match expression."/>
<Member Name="SecondExpression" Type="ScalarExpression" Summary="The like pattern."/>
<Member Name="NotDefined" Type="bool" Summary="True if not is used."/>
<Member Name="OdbcEscape" Type="bool" Summary="True if escape is defined using odbc delimiters."/>
<Member Name="EscapeExpression" Type="ScalarExpression" Summary="The escape expression. Optional may be null."/>
</Class>
<Class Name="RegexpLikePredicate" Base="BooleanExpression" Summary="Represents the REGEXP_LIKE boolean predicate.">
<Member Name="Text" Type="ScalarExpression" Summary="The text to match against the pattern."/>
<Member Name="Pattern" Type="ScalarExpression" Summary="The regular expression pattern."/>
<Member Name="Flags" Type="ScalarExpression" Optional="true" Summary="Optional flags for the regular expression match."/>
</Class>
<Class Name="DistinctPredicate" Base="BooleanExpression" Summary="Represents the distinct predicate.">
<Member Name="FirstExpression" Type="ScalarExpression" Summary="The first expression."/>
<Member Name="SecondExpression" Type="ScalarExpression" Summary="The second expression."/>
<Member Name="IsNot" Type="bool" Summary="True if expression is negated/inverted."/>
</Class>
<Class Name="InPredicate" Base="BooleanExpression" Summary="Represents the in predicate.">
<Member Name="Expression" Type="ScalarExpression" Summary="The test expression."/>
<Member Name="Subquery" Type="ScalarSubquery" Summary="Can be null if Values have elements."/>
<Member Name="NotDefined" Type="bool" Summary="True if not is used." />
<Member Name="Values" Type="ScalarExpression" Collection="true"
Summary="The values in parantesis. May have zero elements if Subquery is not null."/>
</Class>
<Class Name="FullTextPredicate" Base="BooleanExpression" Summary="Represents the fulltext predicate.">
<Member Name="FullTextFunctionType" Type="FullTextFunctionType" GenerateUpdatePositionInfoCall="false" Summary="The fulltext function type."/>
<Member Name="Columns" Type="ColumnReferenceExpression" Collection="true" Summary="Represents the columns that are used in the function."/>
<Member Name="Value" Type="ValueExpression" Summary="This is the value of the search condition. Only Variable and StringLiterals are valid."/>
<Member Name="LanguageTerm" Type="ValueExpression" Summary="This is the language term. Optional, may be null."/>
<Member Name="PropertyName" Type="StringLiteral" Summary="Property name"/>
</Class>
<Class Name="UserDefinedTypePropertyAccess" Base="PrimaryExpression" Summary="This class represents a property on a Udt.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="CallTarget" Type="CallTarget" Summary="The target of a call."/>
<Member Name="PropertyName" Type="Identifier" Summary="The name of the property."/>
</Class>
<Class Name="StatementWithCtesAndXmlNamespaces" Abstract="true" Base="TSqlStatement" Summary="This class represents a statement that can begin with a common table expression or xml namespaces.">
<Member Name="WithCtesAndXmlNamespaces" Type="WithCtesAndXmlNamespaces" Summary="This is the with common table expression and xml namespaces clause. Optional, may be null." />
<Member Name="OptimizerHints" Type="OptimizerHint" Collection="true" Summary="Optional optimizer hints."/>
</Class>
<Class Name="SelectStatement" Base="StatementWithCtesAndXmlNamespaces" Summary="Represents a SELECT statement.">
<Member Name="QueryExpression" Type="QueryExpression" Summary="This is the main body of the select statement."/>
<Member Name="Into" Type="SchemaObjectName" Summary="The into table name."/>
<Member Name="On" Type="Identifier" Summary="The on filegroup name."/>
<Member Name="ComputeClauses" Type="ComputeClause" Collection="true" Summary="The compute by clauses. May have zero elements."/>
<InheritedClass Name="StatementWithCtesAndXmlNamespaces" />
</Class>
<Class Name="ForClause" Abstract="true" Summary="Base class for different FOR clauses in SELECT" >
</Class>
<Class Name="BrowseForClause" Base="ForClause" Summary="Represents FOR BROWSE case">
</Class>
<Class Name="ReadOnlyForClause" Base="ForClause" Summary="Represents FOR READ ONLY case used only in DECLARE CURSOR">
</Class>
<Class Name="XmlForClause" Base="ForClause" Summary="Represents FOR XML (options) case">
<Member Name="Options" Type="XmlForClauseOption" Collection="true"
Summary="Actual XML for clause options. First one is always present (XML mode)."/>
</Class>
<Class Name="XmlForClauseOption" Base="ForClause" Summary="Represents FOR XML (options) case">
<Member Name="OptionKind" Type="XmlForClauseOptions" GenerateUpdatePositionInfoCall="false" Summary="Option kind"/>
<Member Name="Value" Type="Literal" Summary="Optional option value (string Literal)"/>
</Class>
<Class Name="JsonForClause" Base="ForClause" Summary="Represents FOR JSON (options) case">
<Member Name="Options" Type="JsonForClauseOption" Collection="true"
Summary="Actual JSON for clause options. First one is always present (JSON mode)."/>
</Class>
<Class Name="JsonKeyValue" Base="ScalarExpression" Summary ="Represent a key value Pair">
<Member Name="JsonKeyName" Type="ScalarExpression" Summary="Key name" />
<Member Name="JsonValue" Type="ScalarExpression" Summary="scalar expression" />
</Class>
<Class Name="JsonForClauseOption" Base="ForClause" Summary="Represents FOR JSON (options) case">
<Member Name="OptionKind" Type="JsonForClauseOptions" GenerateUpdatePositionInfoCall="false" Summary="Option kind"/>
<Member Name="Value" Type="Literal" Summary="Optional option value (string Literal)"/>
</Class>
<Class Name="UpdateForClause" Base="ForClause" Summary="Represents FOR UPDATE [columns] case used only in DECLARE CURSOR">
<Member Name="Columns" Type="ColumnReferenceExpression" Collection="true" Summary="Updateable columns"/>
</Class>
<Class Name="OptimizerHint" Summary="Represents single optimizer hint">
<Member Name="HintKind" Type="OptimizerHintKind" GenerateUpdatePositionInfoCall="false" Summary="Hint kind"/>
</Class>
<Class Name="LiteralOptimizerHint" Base="OptimizerHint" Summary="Represents optimizer hint, which can be represented as flag with optional literal value.">
<InheritedClass Name="OptimizerHint"/>
<Member Name="Value" Type="Literal" Summary="Hint value."/>
</Class>
<!-- New for T-SQL 100 -->
<Class Name="TableHintsOptimizerHint" Base="OptimizerHint" Summary="Represents optimizer hint containing table hint.">
<InheritedClass Name="OptimizerHint"/>
<Member Name="ObjectName" Type="SchemaObjectName" Summary="Exposed object name of the object in query."/>
<Member Name="TableHints" Type="TableHint" Collection="true" Summary="Optional table hints."/>
</Class>
<!-- New for T-SQL 100 -->
<Class Name="ForceSeekTableHint" Base="TableHint" Summary="Represents forceseek hint.">
<InheritedClass Name="TableHint"/>
<Member Name="IndexValue" Type="IdentifierOrValueExpression" Collection="false"
Summary="name or id of the index that we force seek on. Possible types: Literal or Identifier."/>
<Member Name="ColumnValues" Type="ColumnReferenceExpression" Collection="true" Summary="force seek columns"/>
</Class>
<Class Name="OptimizeForOptimizerHint" Base="OptimizerHint" Summary="Represents OPTIMIZE FOR optimizer hint">
<InheritedClass Name="OptimizerHint"/>
<Member Name="Pairs" Type="VariableValuePair" Collection="true" Summary="Variable-value pairs"/>
<!-- New for T-SQL 100 -->
<Member Name="IsForUnknown" Type="bool" Summary="True if UNKNOWN was specified, false otherwise."/>
</Class>
<!-- New for T-SQL 140 -->
<Class Name="UseHintList" Base="OptimizerHint" Summary="Represents optimizer hints in a USE HINT clause.">
<Member Name="Hints" Type="StringLiteral" Collection="true" Summary="The list of hints, each a string literal."/>
<InheritedClass Name="OptimizerHint"/>
</Class>
<Class Name="VariableValuePair" Summary="Represents single variable-value pair in OPTIMIZE FOR optimizer hint">
<Member Name="Variable" Type="VariableReference" Summary="Variable"/>
<!-- Updated for T-SQL 100 -->
<Member Name="Value" Type="ScalarExpression" Summary="Value"/>
<!-- New for T-SQL 100 -->
<Member Name="IsForUnknown" Type="bool" Summary="True if UNKNOWN was specified, false otherwise."/>
</Class>
<Class Name="WhenClause" Abstract="True" Summary="Abstract class for case expression when clauses">
<Member Name="ThenExpression" Type="ScalarExpression" Summary="The expression that comes after then."/>
</Class>
<Class Name="SimpleWhenClause" Base="WhenClause" Summary="Represents the when clause that is used in a simple case expression.">
<Member Name="WhenExpression" Type="ScalarExpression" Summary="The scalar expression that comes after when"/>
<InheritedClass Name="WhenClause" />
</Class>
<Class Name="SearchedWhenClause" Base="WhenClause" Summary="Represents the when clause that is used in a searched case expression.">
<Member Name="WhenExpression" Type="BooleanExpression" Summary="The boolean expression that comes after when"/>
<InheritedClass Name="WhenClause" />
</Class>
<Class Name="CaseExpression" Base="PrimaryExpression" Abstract="true" Summary="Represents the case expression.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="ElseExpression" Type="ScalarExpression"
Summary="The expression that comes after else, optional may be null."/>
</Class>
<Class Name="SimpleCaseExpression" Base="CaseExpression" Summary="Represents a simple case expression.">
<Member Name="InputExpression" Type="ScalarExpression" Summary="The input expression."/>
<Member Name="WhenClauses" Type="SimpleWhenClause" Collection="true"
Summary="The when clauses, at least one element is required."/>
<InheritedClass Name="CaseExpression" />
</Class>
<Class Name="SearchedCaseExpression" Base="CaseExpression" Summary="Represents a searched case expression.">
<Member Name="WhenClauses" Type="SearchedWhenClause" Collection="true"
Summary="The when clauses, at least one element is required."/>
<InheritedClass Name="CaseExpression" />
</Class>
<Class Name="NullIfExpression" Base="PrimaryExpression" Summary="Represents the nullif expression." Sal80="True">
<InheritedClass Name="PrimaryExpression" />
<Member Name="FirstExpression" Type="ScalarExpression" Summary="The first expression."/>
<Member Name="SecondExpression" Type="ScalarExpression" Summary="The second expression."/>
</Class>
<Class Name="CoalesceExpression" Base="PrimaryExpression" Summary="Represents the coalesce expression.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="Expressions" Type="ScalarExpression" Collection="true"
Summary="The list of expressions, must have at least two elements."/>
</Class>
<Class Name="IIfCall" Base="PrimaryExpression" Summary="Represents the iif expression.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="Predicate" Type="BooleanExpression" Summary="The expression that is the predicate for the iif function. This should be a boolean expression."/>
<Member Name="ThenExpression" Type="ScalarExpression" Summary="Then expression."/>
<Member Name="ElseExpression" Type="ScalarExpression" Summary="Else expression."/>
</Class>
<Class Name="FullTextTableReference" Base="TableReferenceWithAlias" Summary="Represents FREETEXTTABLE and CONTAINSTABLE table references.">
<InheritedClass Name="TableReferenceWithAlias" />
<Member Name="FullTextFunctionType" Type="FullTextFunctionType" GenerateUpdatePositionInfoCall="false" Summary="The fulltext function type."/>
<Member Name="TableName" Type="SchemaObjectName" Summary="Table name."/>
<Member Name="Columns" Type="ColumnReferenceExpression" Collection="true" Summary="The columns to search."/>
<Member Name="SearchCondition" Type="ValueExpression" Summary="Search condition/text to search."/>
<Member Name="TopN" Type="ValueExpression" Summary="Optional number of top ranked results to return."/>
<Member Name="Language" Type="ValueExpression" Summary="Optional language whose resources will be used for wordbreaking, stemming, and thesaurus and noise-word removal."/>
<Member Name="PropertyName" Type="StringLiteral" Summary="Optional property specification value."/>
</Class>
<Class Name="SemanticTableReference" Base="TableReferenceWithAlias" Summary="Represents SEMANTICKEYPHRASETABLE, SEMANTICSIMILARITYTABLE and SEMANTICSIMILARITYDETAILSTABLE table references.">
<InheritedClass Name="TableReferenceWithAlias" />
<Member Name="SemanticFunctionType" Type="SemanticFunctionType" GenerateUpdatePositionInfoCall="false" Summary="The semantic function type."/>
<Member Name="TableName" Type="SchemaObjectName" Summary="Table name."/>
<Member Name="Columns" Type="ColumnReferenceExpression" Collection="true" Summary="The columns to search."/>
<Member Name="SourceKey" Type="ScalarExpression" Summary="The source key argument."/>
<Member Name="MatchedColumn" Type="ColumnReferenceExpression" Summary="The matched column argument for SEMANTICSIMILARITYDETAILSTABLE."/>
<Member Name="MatchedKey" Type="ScalarExpression" Summary="The matched key argument for SEMANTICSIMILARITYDETAILSTABLE."/>
</Class>
<Class Name="OpenXmlTableReference" Base="TableReferenceWithAlias" Summary="Represents OPENXML table reference">
<Member Name="Variable" Type="VariableReference" Summary="XML document handle"/>
<Member Name="RowPattern" Type="ValueExpression" Summary="Pattern to identify the nodes"/>
<Member Name="Flags" Type="ValueExpression" Summary="Mapping flags"/>
<Member Name="SchemaDeclarationItems" Type="SchemaDeclarationItem" Collection="true">
<Summary>
Rowset format - using schema declaration.
Should be empty if TableName is not null.
</Summary>
</Member>
<Member Name="TableName" Type="SchemaObjectName">
<Summary>
Rowset format - existing table.
Should be null if SchemaDeclarationItems is not empty.
</Summary>
</Member>
<InheritedClass Name="TableReferenceWithAlias" />
</Class>
<Class Name="OpenJsonTableReference" Base="TableReferenceWithAlias" Summary="Represents OPENJSON table reference">
<Member Name="Variable" Type="ScalarExpression" Summary="JSON document"/>
<Member Name="RowPattern" Type="ScalarExpression" Summary="Pattern that represents JSON path."/>
<Member Name="SchemaDeclarationItems" Type="SchemaDeclarationItemOpenjson" Collection="true">
<Summary>
Rowset format - using schema declaration for Openjson.
</Summary>
</Member>
<InheritedClass Name="TableReferenceWithAlias"/>
</Class>
<Class Name="OpenRowsetTableReference" Base="TableReferenceWithAliasAndColumns" Summary="Represents OPENROWSET table reference.">
<InheritedClass Name="TableReferenceWithAliasAndColumns" />
<Member Name="ProviderName" Type="StringLiteral" Summary="Provider name"/>
<Member Name="DataSource" Type="StringLiteral" Summary="Data source name"/>
<Member Name="UserId" Type="StringLiteral" Summary="The user id"/>
<Member Name="Password" Type="StringLiteral" Summary="The password"/>
<Member Name="ProviderString" Type="StringLiteral" Summary="The provider string"/>
<Member Name="Query" Type="StringLiteral" Summary="The query text"/>
<Member Name="Object" Type="SchemaObjectName" Summary="Object to manipulate (with optional catalog and schema names)."/>
<Member Name="WithColumns" Type="OpenRowsetColumnDefinition" Collection="true" Summary="Represent the columns that a user would like to read from files. It is Provided with the WITH clause."/>
</Class>
<Class Name="InternalOpenRowset" Base="TableReferenceWithAlias" Summary="Represents OPENROWSET table reference - undocumented case.">
<InheritedClass Name="TableReferenceWithAlias" />
<Member Name="Identifier" Type="Identifier" Summary="First param in parenthesis"/>
<Member Name="VarArgs" Type="ScalarExpression" Collection="true" Summary="The rest of params (can be empty)."/>
</Class>
<Class Name="OpenRowsetCosmos" Base="TableReferenceWithAliasAndColumns" Summary="Represents OPENROWSET (PROVIDER = 'CosmosDB' ...) table reference.">
<InheritedClass Name="TableReferenceWithAliasAndColumns" />
<Member Name="Options" Type="OpenRowsetCosmosOption" Collection="true" Summary="Collection of options for OPENROWSET for CosmosDB."/>
<Member Name="WithColumns" Type="OpenRowsetColumnDefinition" Collection="true" Summary="Represent the columns that a user would like to read from CosmosDB database. It is Provided with the WITH clause."/>
</Class>
<Class Name="BulkOpenRowset" Base="TableReferenceWithAliasAndColumns" Summary="Represents OPENROWSET (BULK ...) table reference.">
<InheritedClass Name="TableReferenceWithAliasAndColumns" />
<Member Name="DataFiles" Type="StringLiteral" Collection="true" Summary="Data files."/>
<Member Name="Options" Type="BulkInsertOption" Collection="true" Summary="Collection of bulk insert options."/>
<Member Name="WithColumns" Type="OpenRowsetColumnDefinition" Collection="true" Summary="Represent the columns that a user would like to read from files. It is Provided with the WITH clause."/>
</Class>
<Class Name="OpenRowsetColumnDefinition" Base="ColumnDefinitionBase" Summary="Represent the column that a user would like to read from a file.">
<InheritedClass Name="ColumnDefinitionBase" />
<Member Name="ColumnOrdinal" Type="IntegerLiteral" Summary="Ordinal number of the column in the source file(s)."/>
<Member Name="JsonPath" Type="StringLiteral" Summary="JSON path expression to column or nested property."/>
</Class>
<Class Name="OpenQueryTableReference" Base="TableReferenceWithAlias" Summary="Represents OPENQUERY table reference.">
<InheritedClass Name="TableReferenceWithAlias" />
<Member Name="LinkedServer" Type="Identifier" Summary="Name of the linked server."/>
<Member Name="Query" Type="StringLiteral" Summary="Query to execute on linked server."/>
</Class>
<Class Name="AdHocTableReference" Base="TableReferenceWithAlias" Summary="OPENDATASOURCE (ad-hoc) table reference.">
<InheritedClass Name="TableReferenceWithAlias" />
<Member Name="DataSource" Type="AdHocDataSource" Summary="Ad hoc connection information."/>
<Member Name="Object" Type="SchemaObjectNameOrValueExpression" Summary="Object - can be either SchemaObjectName or Literal (string)."/>
</Class>
<Class Name="SchemaDeclarationItem" Summary="Represents information about one column in schema declaration.">
<Member Name="ColumnDefinition" Type="ColumnDefinitionBase" Summary="Information about column."/>
<Member Name="Mapping" Type="ValueExpression" Summary="Optional mapping/metaproperty information."/>
</Class>
<Class Name="SchemaDeclarationItemOpenjson" Base="SchemaDeclarationItem" Summary="Represents information about one result column in Openjson.">
<InheritedClass Name="SchemaDeclarationItem" />
<Member Name="AsJson" Type="bool" Summary="Optional as json option." />
</Class>
<Class Name="ConvertCall" Base="PrimaryExpression" Summary="Represents the convert call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="DataType" Type="DataTypeReference" Summary="The datatype the expression will be converted."/>
<Member Name="Parameter" Type="ScalarExpression" Summary="The parameter that will be converted."/>
<Member Name="Style" Type="ScalarExpression" Summary="The style of the date format. Optional may be null."/>
</Class>
<Class Name="TryConvertCall" Base="PrimaryExpression" Summary="Represents the try_convert function call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="DataType" Type="DataTypeReference" Summary="The datatype the expression will be converted."/>
<Member Name="Parameter" Type="ScalarExpression" Summary="The parameter that will be converted."/>
<Member Name="Style" Type="ScalarExpression" Summary="The style of the date format. Optional may be null."/>
</Class>
<Class Name="ParseCall" Base="PrimaryExpression" Summary="Represents the parse function call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="StringValue" Type="ScalarExpression" Summary="The expression that will be parsed."/>
<Member Name="DataType" Type="DataTypeReference" Summary="The resulting datatype of the parsed expression."/>
<Member Name="Culture" Type="ScalarExpression" Summary="The culture that will be used for parsing. Optional may be null."/>
</Class>
<Class Name="TryParseCall" Base="PrimaryExpression" Summary="Represents the try_parse function call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="StringValue" Type="ScalarExpression" Summary="The expression that will be parsed."/>
<Member Name="DataType" Type="DataTypeReference" Summary="The resulting datatype of the parsed expression."/>
<Member Name="Culture" Type="ScalarExpression" Summary="The culture that will be used for parsing. Optional may be null."/>
</Class>
<Class Name="CastCall" Base="PrimaryExpression" Summary="Represents the cast call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="DataType" Type="DataTypeReference" Summary="The datatype the expression will be casted."/>
<Member Name="Parameter" Type="ScalarExpression" Summary="The parameter that will be casted."/>
</Class>
<Class Name="TryCastCall" Base="PrimaryExpression" Summary="Represents the try_cast call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="DataType" Type="DataTypeReference" Summary="The datatype the expression will be casted."/>
<Member Name="Parameter" Type="ScalarExpression" Summary="The parameter that will be casted."/>
</Class>
<Class Name="AtTimeZoneCall" Base="PrimaryExpression" Summary="Represents the AT TIME ZONE call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="DateValue" Type="ScalarExpression" Summary="The date/time value to be converted."/>
<Member Name="TimeZone" Type="ScalarExpression" Summary="The time zone identifier that will be used."/>
</Class>
<Class Name="FunctionCall" Base="PrimaryExpression" Summary="Represents a function call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="CallTarget" Type="CallTarget" Summary="Optional function call target."/>
<Member Name="FunctionName" Type="Identifier" Summary="Name of the function being called."/>
<Member Name="Parameters" Type="ScalarExpression" Collection="true" Summary="The parameters to the function."/>
<Member Name="UniqueRowFilter" Type="UniqueRowFilter" GenerateUpdatePositionInfoCall="false" Summary="An enum that can be NotSpecified, All or Distinct."/>
<Member Name="OverClause" Type="OverClause" Summary="The over clause. Optional may be null."/>
<Member Name="WithinGroupClause" Type="WithinGroupClause" Summary="The within group clause used for ordered aggregates. Optional may be null."/>
<Member Name="IgnoreRespectNulls" Type="Identifier" Collection="true" Summary="The ignore nulls is used to eliminate rows with null value in the output. Optional may be null."/>
<Member Name="TrimOptions" Type="Identifier" Summary="TRIM intrinsic can take optional arguments like 'Leading', 'Trailing' or 'Both'."/>
<Member Name="JsonParameters" Type="JsonKeyValue" Collection="true" Summary="The Json parameters to the function."/>
<Member Name="AbsentOrNullOnNull" Type="Identifier" Collection="true" Summary="The Absent or Null on Null will convert or remove sql null to json null"/>
<Member Name="ReturnType" Type="Identifier" Collection="true" Summary="Return type of function. Used by json_arrayagg, json_objectagg, json_array, json_object and json_value"/>
</Class>
<Class Name="CallTarget" Abstract="true" Summary="Represents a target of a function call.">
</Class>
<Class Name="ExpressionCallTarget" Base="CallTarget" Summary="Represents an expression target of a function call.">
<Member Name="Expression" Type="ScalarExpression" Summary="Expression itself."/>
</Class>
<Class Name="MultiPartIdentifierCallTarget" Base="CallTarget" Summary="Represents target of a call which is a column or CLR property on a column.">
<Member Name="MultiPartIdentifier" Type="MultiPartIdentifier" Summary="The column/property names."/>
</Class>
<Class Name="UserDefinedTypeCallTarget" Base="CallTarget" Summary="Represents target of a call which is a column or CLR property on a column.">
<Member Name="SchemaObjectName" Type="SchemaObjectName" Summary="The name of the user-defined type."/>
</Class>
<Class Name="LeftFunctionCall" Base="PrimaryExpression" Summary="Represents LEFT call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="Parameters" Type="ScalarExpression" Collection="true" Summary="The parameters to the function."/>
</Class>
<Class Name="RightFunctionCall" Base="PrimaryExpression" Summary="Represents RIGHT call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="Parameters" Type="ScalarExpression" Collection="true" Summary="The parameters to the function."/>
</Class>
<Class Name="PartitionFunctionCall" Base="PrimaryExpression" Summary="Represents the partition function call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="DatabaseName" Type="Identifier" Summary="The database name. Optional, may be null."/>
<Member Name="FunctionName" Type="Identifier" Summary="The function name."/>
<Member Name="Parameters" Type="ScalarExpression" Collection="true" Summary="The parameters to the function."/>
</Class>
<Class Name="OverClause" Summary="Represents the over clause.">
<Member Name="WindowName" Type="Identifier" Summary="The window name. Optional, may be null."/>
<Member Name="Partitions" Type="ScalarExpression" Collection="true" Summary="The partitions. Optional, may have zero elements."/>
<Member Name="OrderByClause" Type="OrderByClause" Summary="The order by clause. Optional may be null."/>
<Member Name="WindowFrameClause" Type=" WindowFrameClause" Summary="Window bounds specification, for windowing aggregates. Optional may be null."/>
</Class>
<Class Name="WindowClause" Summary="Represents the window clause.">
<Member Name="WindowDefinition" Type=" WindowDefinition" Collection="true" Summary="Definition of a named window. Cannot be null."/>
</Class>
<Class Name="WindowDefinition" Summary="Definition of a named window.">
<Member Name="WindowName" Type="Identifier" Summary="The window name. Cannot be null."/>
<Member Name="RefWindowName" Type="Identifier" Summary="The reference window name. Optional, may be null."/>
<Member Name="Partitions" Type="ScalarExpression" Collection="true" Summary="The partitions. Optional, may have zero elements."/>
<Member Name="OrderByClause" Type="OrderByClause" Summary="The order by clause. Optional may be null."/>
<Member Name="WindowFrameClause" Type=" WindowFrameClause" Summary="Window bounds specification, for windowing aggregates. Optional may be null."/>
</Class>
<Class Name="ParameterlessCall" Base="PrimaryExpression" Summary="Represents calls without the parenthesis and parameters.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="ParameterlessCallType" Type="ParameterlessCallType" GenerateUpdatePositionInfoCall="false" Summary="An enum that can be User, CurrentUser, SessionUser, SystemUser, CurrentTimestamp or CurrentDate."/>
</Class>
<Class Name="ScalarSubquery" Base="PrimaryExpression" Summary="Represents the subquery.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="QueryExpression" Type="QueryExpression" Summary="The query expression."/>
</Class>
<Class Name="OdbcFunctionCall" Base="PrimaryExpression" Summary="Represents the ODBC function call.">
<InheritedClass Name="PrimaryExpression" />
<Member Name="Name" Type="Identifier" Summary="The name of the function."/>
<Member Name="ParametersUsed" Type="bool" Summary="True if there was parenthesis."/>
<Member Name="Parameters" Type="ScalarExpression" Collection="true" Summary="The parameters to the function."/>
</Class>
<Class Name="ExtractFromExpression" Base="ScalarExpression" Summary="Represents the expression that start with Extract from.">
<Member Name="Expression" Type="ScalarExpression" Summary="The inner expression."/>
<Member Name="ExtractedElement" Type="Identifier" Summary="The element to extract from the expression."/>
</Class>
<Class Name="OdbcConvertSpecification" Base="ScalarExpression" Summary="Represents the Odbc convert specification.">
<Member Name="Identifier" Type="Identifier" Summary="The convert specification."/>
</Class>
<Class Name="AlterFunctionStatement" Base="FunctionStatementBody" Summary="Represents the Alter Function statement." >
<InheritedMember Name="Name" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="Parameters" ContainerClass ="ProcedureStatementBodyBase"/>
<InheritedMember Name="ReturnType" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="Options" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="StatementList" ContainerClass ="ProcedureStatementBodyBase" />
<InheritedMember Name="MethodSpecifier" ContainerClass ="ProcedureStatementBodyBase" />
<InheritedMember Name="OrderHint" ContainerClass ="FunctionStatementBody" />
</Class>
<Class Name="BeginEndBlockStatement" Base="TSqlStatement" Summary="Represents a group of statements that start with a BEGIN and end with an END keyword.">
<Member Name="StatementList" Type="StatementList" Summary="The statements that make up the compound statement. May have zero elements."/>
</Class>
<Class Name="BeginEndAtomicBlockStatement" Base="BeginEndBlockStatement" Summary="Represents a group of statements that start with a BEGIN and end with an END keyword in a ATOMIC block.">
<InheritedClass Name="BeginEndBlockStatement" />
<Member Name="Options" Type="AtomicBlockOption" Collection="true" Summary="The procedure with options."/>
</Class>
<Class Name="AtomicBlockOption" Abstract="true" Summary="Represents single atomic block option.">
<Member Name="OptionKind" Type="AtomicBlockOptionKind" GenerateUpdatePositionInfoCall="false" Summary="Option kind."/>
</Class>
<Class Name="LiteralAtomicBlockOption" Base="AtomicBlockOption" Summary="Option which be set to a value in BEGIN ATOMIC…END statement">
<InheritedClass Name="AtomicBlockOption" />
<Member Name="Value" Type="Literal" Summary="The literal value."/>
</Class>
<Class Name="IdentifierAtomicBlockOption" Base="AtomicBlockOption" Summary="Option which be set to an identifier in BEGIN ATOMIC…END statement">
<InheritedClass Name="AtomicBlockOption" />
<Member Name="Value" Type="Identifier" GenerateUpdatePositionInfoCall="false" Summary="The Identifier value."/>
</Class>
<Class Name="OnOffAtomicBlockOption" Base="AtomicBlockOption" Summary="Option which be set to an OptionState in BEGIN ATOMIC…END statement">
<InheritedClass Name="AtomicBlockOption" />
<Member Name="OptionState" Type="OptionState" GenerateUpdatePositionInfoCall="false" Summary="Option state"/>
</Class>
<Class Name="BeginTransactionStatement" Base="TransactionStatement" Summary="Represents the begin transaction and begin distributed transaction statements.">
<InheritedClass Name = "TransactionStatement" />
<Member Name="Distributed" Type="bool" Summary="True if this is a distributed transaction."/>
<Member Name="MarkDefined" Type="bool" Summary="True if mark is defined, checking MarkDescription for null is not good enough."/>
<Member Name="MarkDescription" Type="ValueExpression" Summary="The description of the mark, either a AsciiStringLiteral, UnicodeStringLiteral or a variable."/>
</Class>
<Class Name="BreakStatement" Base="TSqlStatement" Summary="Represents the break statement." />
<Class Name="ColumnWithSortOrder" Summary="Represents a column identifier with a sort order.">
<Member Name="Column" Type="ColumnReferenceExpression" Summary="Represents the column."/>
<Member Name="SortOrder" Type="SortOrder" GenerateUpdatePositionInfoCall="false" Summary="Represents the sort order."/>
</Class>
<Class Name="CommitTransactionStatement" Base="TransactionStatement" Summary="Represents the commit transaction statement." >
<InheritedClass Name = "TransactionStatement" />
<Member Name="DelayedDurabilityOption" Type="OptionState" GenerateUpdatePositionInfoCall="false" Summary="The state of the Delayed Durability option."/>
</Class>
<Class Name="RollbackTransactionStatement" Base="TransactionStatement" Summary="Represents the rollback transaction statement." >
<InheritedClass Name = "TransactionStatement" />
</Class>
<Class Name="SaveTransactionStatement" Base="TransactionStatement" Summary="Represents the save transaction statement." >
<InheritedClass Name = "TransactionStatement" />
</Class>
<Class Name="ContinueStatement" Base="TSqlStatement" Summary="Represents the continue statement." />
<Class Name="CreateDefaultStatement" Base="TSqlStatement" Summary="Represents the Create Default statement.">
<Member Name="Name" Type="SchemaObjectName" Summary="Represents the name. DatabaseName is disallowed here, has to equal String.Empty or null."/>
<Member Name="Expression" Type="ScalarExpression" Summary="Expression that is the default."/>
</Class>
<Class Name="CreateFunctionStatement" Base="FunctionStatementBody" Summary="Represents the Create Function statement.">
<InheritedMember Name="Name" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="Parameters" ContainerClass ="ProcedureStatementBodyBase"/>
<InheritedMember Name="ReturnType" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="Options" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="StatementList" ContainerClass ="ProcedureStatementBodyBase" />
<InheritedMember Name="MethodSpecifier" ContainerClass ="ProcedureStatementBodyBase" />
<InheritedMember Name="OrderHint" ContainerClass ="FunctionStatementBody" />
</Class>
<Class Name="CreateOrAlterFunctionStatement" Base="FunctionStatementBody" Summary="Represents the Create Or Alter Function statement.">
<InheritedMember Name="Name" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="Parameters" ContainerClass ="ProcedureStatementBodyBase"/>
<InheritedMember Name="ReturnType" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="Options" ContainerClass ="FunctionStatementBody" />
<InheritedMember Name="StatementList" ContainerClass ="ProcedureStatementBodyBase" />
<InheritedMember Name="MethodSpecifier" ContainerClass ="ProcedureStatementBodyBase" />
<InheritedMember Name="OrderHint" ContainerClass ="FunctionStatementBody" />
</Class>
<Class Name="CreateRuleStatement" Base="TSqlStatement" Summary="Represents the Create Rule statement.">
<Member Name="Name" Type="SchemaObjectName" Summary="Represents the name. DatabaseName is disallowed here, has to equal String.Empty or null."/>
<Member Name="Expression" Type="BooleanExpression" Summary="Expression that is the rule."/>
</Class>
<Class Name="DeclareVariableElement" Summary="This class represents a single declaration in the body of DeclareVariableStatement.">
<Member Name="VariableName" Type="Identifier" Summary="The name of the variable. This includes the @ at the beginning."/>
<Member Name="DataType" Type="DataTypeReference" Summary="The data type of the variable. Type table is invalid."/>
<Member Name="Nullable" Type="NullableConstraintDefinition" Summary="The nullable constraint, optional can be null."/>
<Member Name="Value" Type="ScalarExpression" Summary="Initial variable value specified in declaration."/>
</Class>
<Class Name="DeclareVariableStatement" Base="TSqlStatement" Summary="This statement represents declare @variable statement except table declarations.">
<Member Name="Declarations" Type="DeclareVariableElement" Collection="true" Summary="The list of declarations, must have at least one element."/>
</Class>
<Class Name="GoToStatement" Base="TSqlStatement" Summary="Represents the goto statement.">
<Member Name="LabelName" Type="Identifier" Summary="Represents the label name."/>
</Class>
<Class Name="IfStatement" Base="TSqlStatement" Summary="Represents the if statement.">
<Member Name="Predicate" Type="BooleanExpression" Summary="The expression that is the predicate for the if statement. This should be a boolean expression."/>
<Member Name="ThenStatement" Type="TSqlStatement" Summary="The statement that will be executed if the predicate evaluates true."/>
<Member Name="ElseStatement" Type="TSqlStatement" Summary="The statement that will be executed if the predicate evaluates false. Optional, may be null."/>
</Class>
<Class Name="LabelStatement" Base="TSqlStatement" Summary="Represents the label statement.">
<Member Name="Value" Type="string" GenerateUpdatePositionInfoCall="false" Summary="Represents the value."/>
</Class>
<Class Name="MultiPartIdentifier" Summary="Represents a multi-part identifier.">
<Member Name="Identifiers" Type="Identifier" Collection="true" Summary="The Identifiers"/>
</Class>
<Class Name="SchemaObjectName" Base="MultiPartIdentifier" Summary="Represents a schema object name.">
<InheritedClass Name="MultiPartIdentifier" />
</Class>
<Class Name="ChildObjectName" Base="SchemaObjectName" Summary="Represents the name of a schema object child.">
<InheritedClass Name="SchemaObjectName" />
</Class>
<Class Name="ProcedureParameter" Base="DeclareVariableElement" Summary="This class represents a parameter that can be passed into a procedure.">
<InheritedClass Name="DeclareVariableElement" />
<Member Name="IsVarying" Type="bool" Summary="Shows if VARYING is defined."/>
<Member Name="Modifier" Type="ParameterModifier" GenerateUpdatePositionInfoCall="false" Summary="Shows if OUTPUT or READONLY is defined."/>
</Class>
<Class Name="TransactionStatement" Abstract="true" Base="TSqlStatement" Summary="The abstract base class for transaction statements.">
<Member Name="Name" Type="IdentifierOrValueExpression" Summary="The name of the save point. It is either an Identifier, Literal of type variable, or string."/>
</Class>
<Class Name="WhileStatement" Base="TSqlStatement" Summary="Represents the while statement.">
<Member Name="Predicate" Type="BooleanExpression" Summary="The expression that is the predicate for the if statement. This should be a boolean expression."/>
<Member Name="Statement" Type="TSqlStatement" Summary="The statement that will be executed if the predicate evaluates true."/>
</Class>
<Class Name="DeleteStatement" Base="DataModificationStatement" Summary="Represents the delete statement.">
<InheritedClass Name="DataModificationStatement" />
<Member Name="DeleteSpecification" Type="DeleteSpecification" Summary="The properties for Delete"/>
</Class>
<Class Name="UpdateDeleteSpecificationBase" Base="DataModificationSpecification" Abstract="true" Summary="Base class for Update and Delete Specs">
<InheritedClass Name="DataModificationSpecification" />
<Member Name="FromClause" Type="FromClause" Summary="Optional may be null."/>
<Member Name="WhereClause" Type="WhereClause" Summary="Optional may be null."/>
</Class>
<Class Name="DeleteSpecification" Base="UpdateDeleteSpecificationBase" Summary="The properties for Delete">
<InheritedClass Name="UpdateDeleteSpecificationBase" />
</Class>
<Class Name="InsertStatement" Base="DataModificationStatement" Summary="Represents the insert statement.">
<InheritedClass Name="DataModificationStatement" />
<Member Name="InsertSpecification" Type="InsertSpecification" Summary="The properties for the Insert"/>
</Class>
<Class Name="InsertSpecification" Base="DataModificationSpecification" Summary="The properties for Insert">
<InheritedClass Name="DataModificationSpecification" />
<Member Name="InsertOption" Type="InsertOption" Summary="Optional Into or Over" GenerateUpdatePositionInfoCall="false"/>
<Member Name="InsertSource" Type="InsertSource" Summary="The insert source can be ValuesInsertSource, SelectInsertSource, or ExecuteInsertSource."/>
<Member Name="Columns" Type="ColumnReferenceExpression" Collection="true" Summary="Optional target columns."/>
</Class>
<Class Name="UpdateStatement" Base="DataModificationStatement" Summary="Represents the update statement.">
<InheritedClass Name="DataModificationStatement" />
<Member Name="UpdateSpecification" Type="UpdateSpecification" Summary="The properties for Update"/>
</Class>
<Class Name="UpdateSpecification" Base="UpdateDeleteSpecificationBase" Summary="The properties for Update">
<InheritedClass Name="UpdateDeleteSpecificationBase" />
<Member Name="SetClauses" Type="SetClause" Collection="true" Summary="The collection of set clauses."/>
</Class>
<Class Name="CreateSchemaStatement" Base="TSqlStatement" Summary="Represents the create schema statement.">
<Member Name="Name" Type="Identifier" Summary="The name of the schema, may be null if there is an owner."/>
<!--<InheritedMember Name="Owner">InheritedMember-->
<Implements Interface="IAuthorization"/>
<Member Name="StatementList" Type="StatementList" Summary="The optional list of statements. May be Create Table, Create View, Grant, Deny or Revoke."/>
</Class>
<Class Name="WaitForStatement" Base="TSqlStatement" Summary="Represents the waitfor statement.">
<Member Name="WaitForOption" Type="WaitForOption" GenerateUpdatePositionInfoCall="false" Summary="The type of the wait."/>
<Member Name="Parameter" Type="ValueExpression" Summary="Time to wait - in case of Delay or Time, null in case of statement. Can be a string or a variable."/>
<Member Name="Timeout" Type="ScalarExpression" Summary="Optional timeout in case of statement" />
<Member Name="Statement" Type="WaitForSupportedStatement" Summary="Inner statement (can be null - in Time and Delay cases)" />
</Class>
<Class Name="ReadTextStatement" Base="TSqlStatement" Summary="Represents the readtext statement.">
<Member Name="Column" Type="ColumnReferenceExpression" Summary="The column. Has to be at least a two part name including table."/>
<Member Name="TextPointer" Type="ValueExpression" Summary="Can be a binary or a variable."/>
<Member Name="Offset" Type="ValueExpression" Summary="Can be an integer or a variable."/>
<Member Name="Size" Type="ValueExpression" Summary="Can be an integer or a variable."/>
<Member Name="HoldLock" Type="bool" Summary="True if HOLDLOCK was defined."/>
</Class>
<Class Name="UpdateTextStatement" Base="TextModificationStatement" Summary="Represents the updatetext statement.">
<Member Name="InsertOffset" Type="ScalarExpression" Summary="Can be an integer, negative integer, NULL or a variable."/>
<Member Name="DeleteLength" Type="ScalarExpression" Summary="Can be an integer, negative integer, NULL or a variable."/>
<Member Name="SourceColumn" Type="ColumnReferenceExpression" Summary="Optional may be null. Source column. Has to be at least a two part name including table."/>
<Member Name="SourceParameter" Type="ValueExpression" Summary="This can come after source column if it is not null and be a binary or a variable. If the source column is null, it can be NULL, Ascii or Unicode string, binary or variable."/>
<InheritedClass Name="TextModificationStatement" />
</Class>
<Class Name="WriteTextStatement" Base="TextModificationStatement" Summary="Represents the writetext statement.">
<Member Name="SourceParameter" Type="ValueExpression" Summary="It can be null, Ascii or Unicode string, binary or variable."/>
<InheritedClass Name="TextModificationStatement" />
</Class>
<Class Name="TextModificationStatement" Abstract="true" Base="TSqlStatement" Summary="Represents the writetext statement.">
<Member Name="Bulk" Type="bool" Summary="True is BULK was used."/>
<Member Name="Column" Type="ColumnReferenceExpression" Summary="The column. Has to be at least a two part name including table."/>
<Member Name="TextId" Type="ValueExpression" Summary="Can be a binary, an integer or a variable."/>
<Member Name="Timestamp" Type="Literal" Summary="Optional, literal of binary type."/>
<Member Name="WithLog" Type="bool" Summary="True if WITH LOG was defined."/>
</Class>
<Class Name="LineNoStatement" Base="TSqlStatement" Summary="Represents the lineno statement.">
<Member Name="LineNo" Type="IntegerLiteral" Summary="Literal of type integer."/>
</Class>
<Class Name="SecurityStatement" Abstract="true" Base="TSqlStatement" Summary="Represents the security statement body base class.">
<Member Name="Permissions" Type="Permission" Collection="true" Summary="Represents the permissions."/>
<Member Name="SecurityTargetObject" Type="SecurityTargetObject" Summary="Security target object. Optional may be null."/>
<Member Name="Principals" Type="SecurityPrincipal" Collection="true" Summary="Represents the principals."/>
<Member Name="AsClause" Type="Identifier" Summary="Optional may be null."/>
</Class>
<Class Name="GrantStatement" Base="SecurityStatement" Summary="Represents the grant statement.">
<Member Name="WithGrantOption" Type="bool" Summary="True is WITH GRANT OPTION is defined."/>
<InheritedMember Name="Permissions" ContainerClass="SecurityStatement"/>
<InheritedMember Name="SecurityTargetObject" ContainerClass="SecurityStatement"/>
<InheritedMember Name="Principals" ContainerClass="SecurityStatement"/>
<InheritedMember Name="AsClause" ContainerClass="SecurityStatement"/>
</Class>
<Class Name="DenyStatement" Base="SecurityStatement" Summary="Represents the deny statement.">
<Member Name="CascadeOption" Type="bool" Summary="True is CASCADE is defined."/>
<InheritedMember Name="Permissions" ContainerClass="SecurityStatement"/>
<InheritedMember Name="SecurityTargetObject" ContainerClass="SecurityStatement"/>
<InheritedMember Name="Principals" ContainerClass="SecurityStatement"/>
<InheritedMember Name="AsClause" ContainerClass="SecurityStatement"/>
</Class>
<Class Name="RevokeStatement" Base="SecurityStatement" Summary="Represents the revoke statement.">
<Member Name="GrantOptionFor" Type="bool" Summary="True is GRANT OPTION FOR is defined."/>
<Member Name="CascadeOption" Type="bool" Summary="True is CASCADE is defined."/>
<InheritedMember Name="Permissions" ContainerClass="SecurityStatement"/>
<InheritedMember Name="SecurityTargetObject" ContainerClass="SecurityStatement"/>
<InheritedMember Name="Principals" ContainerClass="SecurityStatement"/>
<InheritedMember Name="AsClause" ContainerClass="SecurityStatement"/>
</Class>
<Class Name="AlterAuthorizationStatement" Base="TSqlStatement" Summary="Represents alter authorization statement.">
<Member Name="SecurityTargetObject" Type="SecurityTargetObject" Summary="Security target object. Optional may be null."/>
<Member Name="ToSchemaOwner" Type="bool" Summary="True is SCHEMA OWNER is used."/>
<Member Name="PrincipalName" Type="Identifier" Summary="Represents the principal name. Will be null if ToSchemaOwner is true."/>
</Class>
<Class Name="Permission" Summary="Represents the permission that can be used in security statement body.">
<Member Name="Identifiers" Type="Identifier" Collection="true" Summary="Represents the permission."/>
<Member Name="Columns" Type="Identifier" Collection="true" Summary="Represents the columns. Optional may have zero elements."/>
</Class>
<Class Name="SecurityTargetObject" Summary="Represents the target object that can be used in security statement body.">
<Member Name="ObjectKind" Type="SecurityObjectKind" GenerateUpdatePositionInfoCall="false" Summary="Object kind"/>
<Member Name="ObjectName" Type="SecurityTargetObjectName" Summary="Represents the object."/>
<Member Name="Columns" Type="Identifier" Collection="true" Summary="Represents the columns. If this is used inside ALTER AUTHORIZATION, there can't be any columns. Optional may have zero elements."/>
</Class>
<Class Name="SecurityTargetObjectName" Summary="Represents the security target object name." >
<Member Name="MultiPartIdentifier" Type="MultiPartIdentifier" Summary="The multi-part name of the security target object"/>
</Class>
<Class Name="SecurityPrincipal" Summary="Represents the principal that can be used in security statement body.">
<Member Name="PrincipalType" Type="PrincipalType" GenerateUpdatePositionInfoCall="false" Summary="The type of the principal."/>
<Member Name="Identifier" Type="Identifier" Summary="Optional may be null."/>
</Class>
<Class Name="SecurityStatementBody80" Abstract="true" Base="TSqlStatement" Summary="Represents the security statement body base class.">
<Member Name="SecurityElement80" Type="SecurityElement80" Summary="The security statement body."/>
<Member Name="SecurityUserClause80" Type="SecurityUserClause80" Summary="The user clause."/>
</Class>
<Class Name="GrantStatement80" Base="SecurityStatementBody80" Summary="Represents the grant statement.">
<InheritedClass Name="SecurityStatementBody80" />
<Member Name="WithGrantOption" Type="bool" Summary="True is WITH GRANT OPTION is defined."/>
<Member Name="AsClause" Type="Identifier" Summary="Optional may be null."/>
</Class>
<Class Name="DenyStatement80" Base="SecurityStatementBody80" Summary="Represents the deny statement.">
<InheritedClass Name="SecurityStatementBody80" />
<Member Name="CascadeOption" Type="bool" Summary="True is CASCADE is defined."/>
</Class>
<Class Name="RevokeStatement80" Base="SecurityStatementBody80" Summary="Represents the revoke statement.">
<InheritedClass Name="SecurityStatementBody80" />
<Member Name="GrantOptionFor" Type="bool" Summary="True is GRANT OPTION FOR is defined."/>
<Member Name="CascadeOption" Type="bool" Summary="True is CASCADE is defined."/>
<Member Name="AsClause" Type="Identifier" Summary="Optional may be null."/>
</Class>
<Class Name="SecurityElement80" Abstract="true" Summary="Represents the security statement body that is common for Grant Deny and Revoke Statements.">
</Class>
<Class Name="CommandSecurityElement80" Base="SecurityElement80" Summary="Represents the security element that has commands.">
<Member Name="All" Type="bool" Summary="True is ALL is defined."/>
<Member Name="CommandOptions" Type="CommandOptions" GenerateUpdatePositionInfoCall="false" Summary="The command options"/>
</Class>
<Class Name="PrivilegeSecurityElement80" Base="SecurityElement80" Summary="Represents the security element that has priviliges.">
<Member Name="Privileges" Type="Privilege80" Collection="true" Summary="The collection of privileges"/>
<Member Name="SchemaObjectName" Type="SchemaObjectName" Summary="The security object."/>
<Member Name="Columns" Type="Identifier" Collection="true" Summary="May have zero elements."/>
</Class>
<Class Name="Privilege80" Summary="Represents a privilage that can be used in a security statement.">
<Member Name="Columns" Type="Identifier" Collection="true" Summary="May have zero elements."/>
<Member Name="PrivilegeType80" Type="PrivilegeType80" GenerateUpdatePositionInfoCall="false" Summary="The privilege type."/>
</Class>
<Class Name="SecurityUserClause80" Summary="Represents the security statement body that is common for Grant Deny and Revoke Statements.">
<Member Name="Users" Type="Identifier" Collection="true"
Summary="The list of users. Will have zero elements if UserType80 is Public or NULL."/>
<Member Name="UserType80" Type="UserType80" GenerateUpdatePositionInfoCall="false"
Summary="Can be Null, Public, or Users"/>
</Class>
<Class Name="SqlCommandIdentifier" Base="Identifier" Summary="Represents the SqlCommandIdentifier.">
<InheritedClass Name="Identifier" />
</Class>
<!-- Updated for T-SQL 100 -->
<Class Name="SetClause" Abstract="true" Summary="The base class for SET clause.">
</Class>
<!-- Updated for T-SQL 100 -->