1const INSERT_DRIFT_RECORD: &str = include_str!("scripts/spc/insert_spc_drift_record.sql");
5const GET_SPC_FEATURES: &str = include_str!("scripts/spc/unique_spc_features.sql");
6const GET_BINNED_SPC_FEATURE_VALUES: &str =
7 include_str!("scripts/spc/binned_spc_feature_values.sql");
8const GET_SPC_FEATURE_VALUES: &str = include_str!("scripts/spc/get_spc_feature_values.sql");
9const GET_SPC_ENTITIES: &str = include_str!("scripts/spc/get_spc_entities_for_archive.sql");
10const GET_SPC_DATA_FOR_ARCHIVE: &str = include_str!("scripts/spc/get_spc_data_for_archive.sql");
11const UPDATE_SPC_ENTITIES: &str = include_str!("scripts/spc/update_data_to_archived.sql");
12
13const INSERT_BIN_COUNTS: &str = include_str!("scripts/psi/insert_bin_counts.sql");
15const GET_BINNED_PSI_FEATURE_BINS: &str =
16 include_str!("scripts/psi/binned_psi_feature_bin_proportions.sql");
17const GET_FEATURE_BIN_PROPORTIONS: &str =
18 include_str!("scripts/psi/get_feature_bin_proportions.sql");
19const GET_BIN_COUNT_ENTITIES: &str =
20 include_str!("scripts/psi/get_bin_count_entities_for_archive.sql");
21const GET_BIN_COUNT_DATA_FOR_ARCHIVE: &str =
22 include_str!("scripts/psi/get_bin_count_data_for_archive.sql");
23const UPDATE_BIN_COUNT_ENTITIES: &str = include_str!("scripts/psi/update_data_to_archived.sql");
24
25const GET_BINNED_CUSTOM_METRIC_VALUES: &str =
27 include_str!("scripts/custom/binned_custom_metric_values.sql");
28const GET_CUSTOM_METRIC_VALUES: &str = include_str!("scripts/custom/get_custom_metric_values.sql");
29const INSERT_CUSTOM_METRIC_VALUES: &str =
30 include_str!("scripts/custom/insert_custom_metric_values.sql");
31const GET_CUSTOM_ENTITIES: &str =
32 include_str!("scripts/custom/get_custom_metric_entities_for_archive.sql");
33const GET_CUSTOM_DATA_FOR_ARCHIVE: &str =
34 include_str!("scripts/custom/get_custom_metric_data_for_archive.sql");
35const UPDATE_CUSTOM_ENTITIES: &str = include_str!("scripts/custom/update_data_to_archived.sql");
36
37const GET_BINNED_OBSERVABILITY_METRICS: &str =
39 include_str!("scripts/observability/binned_observability_metrics.sql");
40const INSERT_OBSERVABILITY_RECORD: &str =
41 include_str!("scripts/observability/insert_observability_record.sql");
42
43const INSERT_DRIFT_PROFILE: &str = include_str!("scripts/profile/insert_drift_profile.sql");
45const GET_DRIFT_PROFILE: &str = include_str!("scripts/profile/get_drift_profile.sql");
46const UPDATE_DRIFT_PROFILE_RUN_DATES: &str =
47 include_str!("scripts/profile/update_drift_profile_run_dates.sql");
48const UPDATE_DRIFT_PROFILE_STATUS: &str =
49 include_str!("scripts/profile/update_drift_profile_status.sql");
50const UPDATE_DRIFT_PROFILE: &str = include_str!("scripts/profile/update_drift_profile.sql");
51const DEACTIVATE_DRIFT_PROFILES: &str =
52 include_str!("scripts/profile/deactivate_drift_profiles.sql");
53
54const INSERT_DRIFT_ALERT: &str = include_str!("scripts/alert/insert_drift_alert.sql");
56const GET_DRIFT_ALERTS: &str = include_str!("scripts/alert/get_drift_alerts.sql");
57const UPDATE_ALERT_STATUS: &str = include_str!("scripts/alert/update_alert_status.sql");
58
59const GET_DRIFT_TASK: &str = include_str!("scripts/poll/poll_for_drift_task.sql");
61
62const INSERT_USER: &str = include_str!("scripts/user/insert_user.sql");
64const GET_USER: &str = include_str!("scripts/user/get_user.sql");
65const UPDATE_USER: &str = include_str!("scripts/user/update_user.sql");
66const GET_USERS: &str = include_str!("scripts/user/get_users.sql");
67const LAST_ADMIN: &str = include_str!("scripts/user/last_admin.sql");
68const DELETE_USER: &str = include_str!("scripts/user/delete_user.sql");
69
70#[allow(dead_code)]
71pub enum Queries {
72 GetSpcFeatures,
73 InsertDriftRecord,
74 InsertBinCounts,
75 InsertDriftProfile,
76 InsertDriftAlert,
77 InsertObservabilityRecord,
78 GetDriftAlerts,
79 GetBinnedSpcFeatureValues,
80 GetBinnedPsiFeatureBins,
81 GetBinnedCustomMetricValues,
82 GetBinnedObservabilityMetrics,
83 GetSpcFeatureValues,
84 GetDriftTask,
85 GetDriftProfile,
86 UpdateDriftProfileRunDates,
87 UpdateDriftProfileStatus,
88 DeactivateDriftProfiles,
89 UpdateDriftProfile,
90 GetFeatureBinProportions,
91 GetCustomMetricValues,
92 InsertCustomMetricValues,
93
94 GetBinCountEntities,
97 GetCustomEntities,
98 GetSpcEntities,
99
100 GetBinCountDataForArchive,
102 GetCustomDataForArchive,
103 GetSpcDataForArchive,
104
105 UpdateBinCountEntities,
107 UpdateCustomEntities,
108 UpdateSpcEntities,
109
110 InsertUser,
112 GetUser,
113 UpdateUser,
114 GetUsers,
115 LastAdmin,
116 DeleteUser,
117 UpdateAlertStatus,
118}
119
120impl Queries {
121 pub fn get_query(&self) -> SqlQuery {
124 match self {
125 Queries::GetSpcFeatures => SqlQuery::new(GET_SPC_FEATURES),
127 Queries::InsertDriftRecord => SqlQuery::new(INSERT_DRIFT_RECORD),
128 Queries::GetBinnedSpcFeatureValues => SqlQuery::new(GET_BINNED_SPC_FEATURE_VALUES),
129 Queries::GetBinnedPsiFeatureBins => SqlQuery::new(GET_BINNED_PSI_FEATURE_BINS),
130 Queries::GetBinnedCustomMetricValues => SqlQuery::new(GET_BINNED_CUSTOM_METRIC_VALUES),
131 Queries::GetBinnedObservabilityMetrics => {
132 SqlQuery::new(GET_BINNED_OBSERVABILITY_METRICS)
133 }
134 Queries::GetSpcFeatureValues => SqlQuery::new(GET_SPC_FEATURE_VALUES),
135 Queries::InsertDriftProfile => SqlQuery::new(INSERT_DRIFT_PROFILE),
136 Queries::InsertDriftAlert => SqlQuery::new(INSERT_DRIFT_ALERT),
137 Queries::InsertObservabilityRecord => SqlQuery::new(INSERT_OBSERVABILITY_RECORD),
138 Queries::GetDriftAlerts => SqlQuery::new(GET_DRIFT_ALERTS),
139 Queries::GetDriftTask => SqlQuery::new(GET_DRIFT_TASK),
140 Queries::UpdateDriftProfileRunDates => SqlQuery::new(UPDATE_DRIFT_PROFILE_RUN_DATES),
141 Queries::UpdateDriftProfileStatus => SqlQuery::new(UPDATE_DRIFT_PROFILE_STATUS),
142 Queries::UpdateDriftProfile => SqlQuery::new(UPDATE_DRIFT_PROFILE),
143 Queries::DeactivateDriftProfiles => SqlQuery::new(DEACTIVATE_DRIFT_PROFILES),
144 Queries::GetDriftProfile => SqlQuery::new(GET_DRIFT_PROFILE),
145 Queries::GetFeatureBinProportions => SqlQuery::new(GET_FEATURE_BIN_PROPORTIONS),
146 Queries::InsertBinCounts => SqlQuery::new(INSERT_BIN_COUNTS),
147 Queries::GetCustomMetricValues => SqlQuery::new(GET_CUSTOM_METRIC_VALUES),
148 Queries::InsertCustomMetricValues => SqlQuery::new(INSERT_CUSTOM_METRIC_VALUES),
149 Queries::GetBinCountEntities => SqlQuery::new(GET_BIN_COUNT_ENTITIES),
150 Queries::GetCustomEntities => SqlQuery::new(GET_CUSTOM_ENTITIES),
151 Queries::GetSpcEntities => SqlQuery::new(GET_SPC_ENTITIES),
152 Queries::GetBinCountDataForArchive => SqlQuery::new(GET_BIN_COUNT_DATA_FOR_ARCHIVE),
153 Queries::GetCustomDataForArchive => SqlQuery::new(GET_CUSTOM_DATA_FOR_ARCHIVE),
154 Queries::GetSpcDataForArchive => SqlQuery::new(GET_SPC_DATA_FOR_ARCHIVE),
155 Queries::UpdateBinCountEntities => SqlQuery::new(UPDATE_BIN_COUNT_ENTITIES),
156 Queries::UpdateCustomEntities => SqlQuery::new(UPDATE_CUSTOM_ENTITIES),
157 Queries::UpdateSpcEntities => SqlQuery::new(UPDATE_SPC_ENTITIES),
158
159 Queries::InsertUser => SqlQuery::new(INSERT_USER),
160 Queries::GetUser => SqlQuery::new(GET_USER),
161 Queries::UpdateUser => SqlQuery::new(UPDATE_USER),
162 Queries::GetUsers => SqlQuery::new(GET_USERS),
163 Queries::LastAdmin => SqlQuery::new(LAST_ADMIN),
164 Queries::DeleteUser => SqlQuery::new(DELETE_USER),
165 Queries::UpdateAlertStatus => SqlQuery::new(UPDATE_ALERT_STATUS),
166 }
167 }
168}
169
170pub struct SqlQuery {
171 pub sql: String,
172}
173
174impl SqlQuery {
175 fn new(sql: &str) -> Self {
176 Self {
177 sql: sql.to_string(),
178 }
179 }
180}