Skip to content

Commit 69b5510

Browse files
authored
[COST-4588] Optimize AWS tag mapping sql (#4923)
* Optimize AWS tag mapping sql.
1 parent e476055 commit 69b5510

File tree

3 files changed

+16
-18
lines changed

3 files changed

+16
-18
lines changed

docs/specs/openapi.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -6097,7 +6097,7 @@
60976097
"tags": [
60986098
"Settings"
60996099
],
6100-
"summary": "Adds child tags to a parent tag.",
6100+
"summary": "Removes child tags from mapping.",
61016101
"operationId": "putSettingsTagsMappingsChildRemove",
61026102
"requestBody": {
61036103
"$ref": "#/components/requestBodies/PutTagsBody"
@@ -6133,7 +6133,7 @@
61336133
"tags": [
61346134
"Settings"
61356135
],
6136-
"summary": "Removes child tags from mapping.",
6136+
"summary": "Adds child tags to a parent tag.",
61376137
"operationId": "putSettingsTagsMappingsParent",
61386138
"requestBody": {
61396139
"$ref": "#/components/requestBodies/PutTagsMappingBody"

koku/masu/database/sql/aws/aws_tag_mapping_update_daily_summary.sql

+7-7
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,11 @@ WITH cte_tag_key_mapping AS (
1313
cte_update_tag_keys as (
1414
SELECT
1515
lids.uuid as uuid,
16-
-- lids.tags as origianl_tags, --uncomment to compare
1716
CASE
18-
WHEN
19-
(EXISTS(SELECT 1
20-
FROM cte_tag_key_mapping
21-
WHERE child_key IN (SELECT jsonb_object_keys(lids.tags))
22-
AND parent_key = any(array(SELECT jsonb_object_keys(lids.tags)::text)))) = True
17+
WHEN EXISTS(
18+
SELECT 1 FROM cte_tag_key_mapping
19+
WHERE lids.tags ? child_key
20+
AND lids.tags ? parent_key)
2321
THEN
2422
(
2523
SELECT jsonb_object_agg(
@@ -56,4 +54,6 @@ cte_update_tag_keys as (
5654
UPDATE {{schema | sqlsafe}}.reporting_awscostentrylineitem_daily_summary AS lids
5755
SET tags = update_data.update_tags
5856
FROM cte_update_tag_keys as update_data
59-
WHERE lids.uuid = update_data.uuid;
57+
WHERE lids.uuid = update_data.uuid
58+
AND lids.usage_start >= DATE({{start_date}})
59+
AND lids.usage_start <= DATE({{end_date}});

koku/masu/database/sql/aws/openshift/ocpaws_tag_mapping_update_daily_summary.sql

+7-9
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,10 @@ cte_update_tag_keys as (
2121
-- lids.tags as origianl_tags,
2222
-- lids.pod_labels as original_pod_labels,
2323
CASE
24-
WHEN
25-
(
26-
EXISTS(
27-
SELECT 1 FROM cte_tag_key_mapping
28-
WHERE child_key IN (SELECT jsonb_object_keys(lids.tags))
29-
AND parent_key = any(array(SELECT jsonb_object_keys(lids.tags)::text))
30-
)
31-
) = True
24+
WHEN EXISTS(
25+
SELECT 1 FROM cte_tag_key_mapping
26+
WHERE lids.tags ? child_key
27+
AND lids.tags ? parent_key)
3228
THEN
3329
(
3430
SELECT jsonb_object_agg(
@@ -64,4 +60,6 @@ cte_update_tag_keys as (
6460
UPDATE {{schema | sqlsafe}}.reporting_ocpawscostlineitem_project_daily_summary_p AS lids
6561
SET tags = update_data.update_tags
6662
FROM cte_update_tag_keys as update_data
67-
WHERE lids.uuid = update_data.uuid;
63+
WHERE lids.uuid = update_data.uuid
64+
AND lids.usage_start >= DATE({{start_date}})
65+
AND lids.usage_start <= DATE({{end_date}});

0 commit comments

Comments
 (0)