mirror of
https://github.com/FlipsideCrypto/optimism-models.git
synced 2026-02-06 15:46:43 +00:00
120 lines
3.1 KiB
SQL
120 lines
3.1 KiB
SQL
{% macro streamline_external_table_query(
|
|
model,
|
|
partition_function,
|
|
partition_name,
|
|
unique_key
|
|
) %}
|
|
WITH meta AS (
|
|
SELECT
|
|
last_modified AS _inserted_timestamp,
|
|
file_name,
|
|
{{ partition_function }} AS {{ partition_name }}
|
|
FROM
|
|
TABLE(
|
|
information_schema.external_table_file_registration_history(
|
|
start_time => DATEADD('day', -3, CURRENT_TIMESTAMP()),
|
|
table_name => '{{ source( "bronze_streamline", model) }}')
|
|
) A
|
|
)
|
|
SELECT
|
|
{{ unique_key }},
|
|
DATA,
|
|
_inserted_timestamp,
|
|
MD5(
|
|
CAST(
|
|
COALESCE(CAST({{ unique_key }} AS text), '' :: STRING) AS text
|
|
)
|
|
) AS id,
|
|
s.{{ partition_name }},
|
|
s.value AS VALUE,
|
|
file_name
|
|
FROM
|
|
{{ source(
|
|
"bronze_streamline",
|
|
model
|
|
) }}
|
|
s
|
|
JOIN meta b
|
|
ON b.file_name = metadata$filename
|
|
AND b.{{ partition_name }} = s.{{ partition_name }}
|
|
WHERE
|
|
b.{{ partition_name }} = s.{{ partition_name }}
|
|
AND (
|
|
DATA :error :code IS NULL
|
|
OR DATA :error :code NOT IN (
|
|
'-32000',
|
|
'-32001',
|
|
'-32002',
|
|
'-32003',
|
|
'-32004',
|
|
'-32005',
|
|
'-32006',
|
|
'-32007',
|
|
'-32008',
|
|
'-32009',
|
|
'-32010',
|
|
'-32608'
|
|
)
|
|
)
|
|
{% endmacro %}
|
|
|
|
{% macro streamline_external_table_fr_query(
|
|
model,
|
|
partition_function,
|
|
partition_name,
|
|
unique_key
|
|
) %}
|
|
WITH meta AS (
|
|
SELECT
|
|
registered_on AS _inserted_timestamp,
|
|
file_name,
|
|
{{ partition_function }} AS {{ partition_name }}
|
|
FROM
|
|
TABLE(
|
|
information_schema.external_table_files(
|
|
table_name => '{{ source( "bronze_streamline", model) }}'
|
|
)
|
|
) A
|
|
)
|
|
SELECT
|
|
{{ unique_key }},
|
|
DATA,
|
|
_inserted_timestamp,
|
|
MD5(
|
|
CAST(
|
|
COALESCE(CAST({{ unique_key }} AS text), '' :: STRING) AS text
|
|
)
|
|
) AS id,
|
|
s.{{ partition_name }},
|
|
s.value AS VALUE,
|
|
file_name
|
|
FROM
|
|
{{ source(
|
|
"bronze_streamline",
|
|
model
|
|
) }}
|
|
s
|
|
JOIN meta b
|
|
ON b.file_name = metadata$filename
|
|
AND b.{{ partition_name }} = s.{{ partition_name }}
|
|
WHERE
|
|
b.{{ partition_name }} = s.{{ partition_name }}
|
|
AND (
|
|
DATA :error :code IS NULL
|
|
OR DATA :error :code NOT IN (
|
|
'-32000',
|
|
'-32001',
|
|
'-32002',
|
|
'-32003',
|
|
'-32004',
|
|
'-32005',
|
|
'-32006',
|
|
'-32007',
|
|
'-32008',
|
|
'-32009',
|
|
'-32010',
|
|
'-32608'
|
|
)
|
|
)
|
|
{% endmacro %}
|