68
68
69
69
SELECT json_agg(json_build_object(' file_name' , file_name || ' .sql' , ' query' , query ))
70
70
INTO v_source_queries
71
- FROM _sources;
71
+ FROM _sources
72
+ WHERE query NOT LIKE ' QUERY GENERATION ERROR:%' ;
73
+
74
+ INSERT INTO log .actor_log (log_id, message, actor_path, severity, insert_datetime)
75
+ SELECT v_imp .log_id , format(' Error generating query for source `%s`: %s' , source_name, replace(query,' QUERY GENERATION ERROR:' ,' ' )),' svc_generate_queries' , ' E' , clock_timestamp()
76
+ FROM _sources
77
+ WHERE query LIKE ' QUERY GENERATION ERROR:%' ;
78
+
79
+ GET DIAGNOSTICS v_count = ROW_COUNT;
80
+
81
+ IF v_count > 0 THEN
82
+ RETURN json_build_object(' source' , v_source_queries, ' error' , ' Error generating source queries' );
83
+ END IF;
72
84
73
85
SELECT string_agg(query,E' \n\n ' ORDER BY level)
74
86
INTO v_all_source_query
@@ -94,15 +106,26 @@ BEGIN
94
106
95
107
SELECT json_agg(json_build_object(' file_name' , file_name || ' .sql' , ' query' , query))
96
108
INTO v_output_queries
97
- FROM _outputs;
109
+ FROM _outputs
110
+ WHERE query NOT LIKE ' QUERY GENERATION ERROR:%' ;
111
+
112
+ INSERT INTO log .actor_log (log_id, message, actor_path, severity, insert_datetime)
113
+ SELECT v_imp .log_id , format(' Error generating query for output `%s`: %s' , output_name, replace(query,' QUERY GENERATION ERROR:' ,' ' )),' svc_generate_queries' , ' E' , clock_timestamp()
114
+ FROM _outputs
115
+ WHERE query LIKE ' QUERY GENERATION ERROR:%' ;
116
+
117
+ GET DIAGNOSTICS v_count = ROW_COUNT;
118
+
119
+ IF v_count > 0 THEN
120
+ RETURN json_build_object(' source' , v_source_queries, ' output' ,v_output_queries, ' error' , ' Error generating output queries' );
121
+ END IF;
98
122
99
123
SELECT string_agg(query,E' \n\n ' ORDER BY level)
100
124
INTO v_all_output_query
101
125
FROM _outputs;
102
126
103
127
RETURN json_build_object(' source' , v_source_queries, ' output' ,v_output_queries, ' run' , E' /*SOURCES*/\n ' || v_all_source_query || COALESCE( E' \n /*OUTPUTs*/\n ' || v_all_output_query, ' ' ));
104
128
105
-
106
129
END;
107
130
108
131
$function$;
0 commit comments