|
| 1 | +// Package ast provides AST types for T-SQL parsing. |
| 2 | +package ast |
| 3 | + |
| 4 | +// CreateWorkloadClassifierStatement represents a CREATE WORKLOAD CLASSIFIER statement. |
| 5 | +type CreateWorkloadClassifierStatement struct { |
| 6 | + ClassifierName *Identifier |
| 7 | + Options []WorkloadClassifierOption |
| 8 | +} |
| 9 | + |
| 10 | +func (s *CreateWorkloadClassifierStatement) statement() {} |
| 11 | +func (s *CreateWorkloadClassifierStatement) node() {} |
| 12 | + |
| 13 | +// WorkloadClassifierOption is the interface for workload classifier options. |
| 14 | +type WorkloadClassifierOption interface { |
| 15 | + node() |
| 16 | + workloadClassifierOption() |
| 17 | +} |
| 18 | + |
| 19 | +// ClassifierWorkloadGroupOption represents the WORKLOAD_GROUP option. |
| 20 | +type ClassifierWorkloadGroupOption struct { |
| 21 | + WorkloadGroupName *StringLiteral |
| 22 | + OptionType string |
| 23 | +} |
| 24 | + |
| 25 | +func (o *ClassifierWorkloadGroupOption) node() {} |
| 26 | +func (o *ClassifierWorkloadGroupOption) workloadClassifierOption() {} |
| 27 | + |
| 28 | +// ClassifierMemberNameOption represents the MEMBERNAME option. |
| 29 | +type ClassifierMemberNameOption struct { |
| 30 | + MemberName *StringLiteral |
| 31 | + OptionType string |
| 32 | +} |
| 33 | + |
| 34 | +func (o *ClassifierMemberNameOption) node() {} |
| 35 | +func (o *ClassifierMemberNameOption) workloadClassifierOption() {} |
| 36 | + |
| 37 | +// ClassifierWlmContextOption represents the WLM_CONTEXT option. |
| 38 | +type ClassifierWlmContextOption struct { |
| 39 | + WlmContext *StringLiteral |
| 40 | + OptionType string |
| 41 | +} |
| 42 | + |
| 43 | +func (o *ClassifierWlmContextOption) node() {} |
| 44 | +func (o *ClassifierWlmContextOption) workloadClassifierOption() {} |
| 45 | + |
| 46 | +// WlmTimeLiteral represents a time literal for WLM START_TIME/END_TIME options. |
| 47 | +type WlmTimeLiteral struct { |
| 48 | + TimeString *StringLiteral |
| 49 | +} |
| 50 | + |
| 51 | +func (t *WlmTimeLiteral) node() {} |
| 52 | + |
| 53 | +// ClassifierStartTimeOption represents the START_TIME option. |
| 54 | +type ClassifierStartTimeOption struct { |
| 55 | + Time *WlmTimeLiteral |
| 56 | + OptionType string |
| 57 | +} |
| 58 | + |
| 59 | +func (o *ClassifierStartTimeOption) node() {} |
| 60 | +func (o *ClassifierStartTimeOption) workloadClassifierOption() {} |
| 61 | + |
| 62 | +// ClassifierEndTimeOption represents the END_TIME option. |
| 63 | +type ClassifierEndTimeOption struct { |
| 64 | + Time *WlmTimeLiteral |
| 65 | + OptionType string |
| 66 | +} |
| 67 | + |
| 68 | +func (o *ClassifierEndTimeOption) node() {} |
| 69 | +func (o *ClassifierEndTimeOption) workloadClassifierOption() {} |
| 70 | + |
| 71 | +// ClassifierWlmLabelOption represents the WLM_LABEL option. |
| 72 | +type ClassifierWlmLabelOption struct { |
| 73 | + WlmLabel *StringLiteral |
| 74 | + OptionType string |
| 75 | +} |
| 76 | + |
| 77 | +func (o *ClassifierWlmLabelOption) node() {} |
| 78 | +func (o *ClassifierWlmLabelOption) workloadClassifierOption() {} |
| 79 | + |
| 80 | +// ClassifierImportanceOption represents the IMPORTANCE option. |
| 81 | +type ClassifierImportanceOption struct { |
| 82 | + Importance string |
| 83 | + OptionType string |
| 84 | +} |
| 85 | + |
| 86 | +func (o *ClassifierImportanceOption) node() {} |
| 87 | +func (o *ClassifierImportanceOption) workloadClassifierOption() {} |
0 commit comments