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