-
Notifications
You must be signed in to change notification settings - Fork 80
/
sql_tuning_advisor_task_recommendation_summary.go
133 lines (109 loc) · 7.68 KB
/
sql_tuning_advisor_task_recommendation_summary.go
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
// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved.
// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
// Code generated. DO NOT EDIT.
// Database Management API
//
// Use the Database Management API to monitor and manage resources such as
// Oracle Databases, MySQL Databases, and External Database Systems.
// For more information, see Database Management (https://docs.cloud.oracle.com/iaas/database-management/home.htm).
//
package databasemanagement
import (
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"strings"
)
// SqlTuningAdvisorTaskRecommendationSummary A recommendation for a given object in a SQL Tuning Task.
type SqlTuningAdvisorTaskRecommendationSummary struct {
// The unique identifier of the task. This is not the OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
SqlTuningAdvisorTaskId *int64 `mandatory:"true" json:"sqlTuningAdvisorTaskId"`
// The key of the object to which these recommendations apply. This is not the OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm).
SqlTuningAdvisorTaskObjectId *int64 `mandatory:"true" json:"sqlTuningAdvisorTaskObjectId"`
// The unique identifier of the recommendation in the scope of the task.
RecommendationKey *int `mandatory:"true" json:"recommendationKey"`
// Type of recommendation.
RecommendationType SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum `mandatory:"true" json:"recommendationType"`
// Summary of the issue found in the SQL statement.
Finding *string `mandatory:"false" json:"finding"`
// The recommendation for a specific finding.
Recommendation *string `mandatory:"false" json:"recommendation"`
// Describes the reasoning behind the recommendation and how it relates to the finding.
Rationale *string `mandatory:"false" json:"rationale"`
// The percentage benefit of this implementation.
Benefit *float32 `mandatory:"false" json:"benefit"`
// Action sql to be implemented based on the recommendation result.
ImplementActionSql *string `mandatory:"false" json:"implementActionSql"`
// Indicates whether a SQL Profile recommendation uses parallel execution.
IsParallelExecution *bool `mandatory:"false" json:"isParallelExecution"`
}
func (m SqlTuningAdvisorTaskRecommendationSummary) String() string {
return common.PointerString(m)
}
// ValidateEnumValue returns an error when providing an unsupported enum value
// This function is being called during constructing API request process
// Not recommended for calling this function directly
func (m SqlTuningAdvisorTaskRecommendationSummary) ValidateEnumValue() (bool, error) {
errMessage := []string{}
if _, ok := GetMappingSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum(string(m.RecommendationType)); !ok && m.RecommendationType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for RecommendationType: %s. Supported values are: %s.", m.RecommendationType, strings.Join(GetSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}
// SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum Enum with underlying type: string
type SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum string
// Set of constants representing the allowable values for SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum
const (
SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeStatistics SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum = "STATISTICS"
SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeIndex SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum = "INDEX"
SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeSqlProfile SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum = "SQL_PROFILE"
SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeRestructureSql SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum = "RESTRUCTURE_SQL"
SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeAlternativePlans SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum = "ALTERNATIVE_PLANS"
SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeError SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum = "ERROR"
SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeMiscellaneous SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum = "MISCELLANEOUS"
)
var mappingSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum = map[string]SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum{
"STATISTICS": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeStatistics,
"INDEX": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeIndex,
"SQL_PROFILE": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeSqlProfile,
"RESTRUCTURE_SQL": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeRestructureSql,
"ALTERNATIVE_PLANS": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeAlternativePlans,
"ERROR": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeError,
"MISCELLANEOUS": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeMiscellaneous,
}
var mappingSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnumLowerCase = map[string]SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum{
"statistics": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeStatistics,
"index": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeIndex,
"sql_profile": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeSqlProfile,
"restructure_sql": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeRestructureSql,
"alternative_plans": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeAlternativePlans,
"error": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeError,
"miscellaneous": SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeMiscellaneous,
}
// GetSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnumValues Enumerates the set of values for SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum
func GetSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnumValues() []SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum {
values := make([]SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum, 0)
for _, v := range mappingSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum {
values = append(values, v)
}
return values
}
// GetSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnumStringValues Enumerates the set of values in String for SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum
func GetSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnumStringValues() []string {
return []string{
"STATISTICS",
"INDEX",
"SQL_PROFILE",
"RESTRUCTURE_SQL",
"ALTERNATIVE_PLANS",
"ERROR",
"MISCELLANEOUS",
}
}
// GetMappingSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum performs case Insensitive comparison on enum value and return the desired enum
func GetMappingSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum(val string) (SqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnum, bool) {
enum, ok := mappingSqlTuningAdvisorTaskRecommendationSummaryRecommendationTypeEnumLowerCase[strings.ToLower(val)]
return enum, ok
}