Clean package repo for Gitea installs via packages.yml git URL. Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
1.8 KiB
SQL
54 lines
1.8 KiB
SQL
{%- macro order_by_if_time_filter(time_filter) -%}
|
|
{%- if time_filter is not none -%}
|
|
order by {{ time_filter }} desc
|
|
{%- endif -%}
|
|
{%- endmacro -%}
|
|
|
|
|
|
{% macro f2dq_last_table_samples() %}
|
|
{{ f2dq.generate_depends(['f2dq_selected', 'f2dq_monitored', 'f2dq_columns', 'f2dq_run_started_at', 'f2dq_last_table_samples_part']) }}
|
|
|
|
{{
|
|
config(
|
|
materialized='table',
|
|
)
|
|
}}
|
|
|
|
{% set store_samples = f2dq.f2dq_var('store_table_samples', false) %}
|
|
{% if not f2dq.in_compile() and store_samples is sameas true %}
|
|
{%- set tables = run_query(f2dq.get_tables()) %}
|
|
|
|
{% set samples_list = [] %}
|
|
{%- for sample_table in tables %}
|
|
|
|
{% set model = get_model_config(sample_table) %}
|
|
{% set columns_to_sample = [] %}
|
|
{% for key, value in model.columns_info.items() | sort %}
|
|
{% if value.data_type in ['numeric', 'text'] %}
|
|
{% do columns_to_sample.append(key) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% set samples_query %}
|
|
select {{ print_list(columns_to_sample)}} from {{ model.table_name }}
|
|
{{ order_by_if_time_filter(model.time_filter) }}
|
|
limit 10
|
|
{% endset %}
|
|
|
|
{% set samples = f2dq.agate_to_list(run_query(samples_query)) %}
|
|
{% do samples_list.append({
|
|
'table_name': model.model_name,
|
|
'sample_data': samples,
|
|
}) %}
|
|
|
|
{% endfor %}
|
|
{% do f2dq.insert_list_to_table(
|
|
ref('f2dq_last_table_samples_part'),
|
|
samples_list,
|
|
['table_name', 'sample_data']
|
|
) %}
|
|
{% endif %}
|
|
|
|
{{ f2dq.empty_last_table_samples() }}
|
|
|
|
{% endmacro %} |