From 491da4d40115858c8c2e423eb474b4bb0da40499 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 20 Nov 2024 00:43:57 +0000 Subject: [PATCH] New Deployment for Wed Nov 20 00:43:57 UTC 2024 --- docs/guide/advanced/custom_libs.mdx | 4 +- docs/guide/advanced/logging.mdx | 131 ++++++-------- docs/guide/data-quality/checks.mdx | 10 +- docs/guide/data-quality/reports.mdx | 36 ++-- docs/guide/data-quality/tests.mdx | 12 +- docs/guide/setup/io.mdx | 4 +- docs/guide/setup/workspaces.mdx | 3 - docs/integrations/aws/S3/s3-example.mdx | 4 +- .../bigquery/basic-materialization.mdx | 42 ++--- docs/integrations/dagster/getting-started.mdx | 2 +- docs/integrations/dbt/migrating.mdx | 40 ++--- .../snowflake/basic-materialization.mdx | 20 +-- .../snowflake/incremental-materialization.mdx | 20 +-- docs/introduction/getting-started.mdx | 10 +- docs/introduction/install.mdx | 2 - docs/reference/error-codes.mdx | 3 - docs/reference/sdf-cli.mdx | 162 ------------------ docs/reference/sdf-yml.mdx | 42 ++--- docs/reference/snowflake/window_functions.mdx | 2 - docs/tutorials/creating-a-model.mdx | 8 +- docs/tutorials/debugging.mdx | 8 +- docs/tutorials/deprecating-a-model.mdx | 6 +- docs/tutorials/enriching-your-warehouse.mdx | 75 ++++---- docs/tutorials/script_test.mdx | 26 +-- docs/tutorials/tutorials-intro.mdx | 12 +- 25 files changed, 243 insertions(+), 441 deletions(-) diff --git a/docs/guide/advanced/custom_libs.mdx b/docs/guide/advanced/custom_libs.mdx index bc199a46..c7dafe25 100644 --- a/docs/guide/advanced/custom_libs.mdx +++ b/docs/guide/advanced/custom_libs.mdx @@ -215,12 +215,12 @@ The following guide will explain how to do so, step by step. ``` We can look at the compiled tests query located in the file - `sdftarget/dbg/preprocessed/tests_workspace/pub/test_raw_inapp_events.sql`. + `sdftarget/dbg/preprocessed/sdftarget/dbg/tests/tests_workspace/pub/test_raw_inapp_events.sql`. Notice our custom logic in the compiled query: ``` run shell - cd tmp/tests && cat sdftarget/dbg/preprocessed/tests_workspace/pub/test_raw_inapp_events.sql + cd tmp/tests && cat sdftarget/dbg/preprocessed/sdftarget/dbg/tests/tests_workspace/pub/test_raw_inapp_events.sql ``` diff --git a/docs/guide/advanced/logging.mdx b/docs/guide/advanced/logging.mdx index 6890183b..fefd929b 100644 --- a/docs/guide/advanced/logging.mdx +++ b/docs/guide/advanced/logging.mdx @@ -32,16 +32,16 @@ The following guide will go through the different logging options available in S
 
-{"_ts":"2024-11-19T21:29:52.601843213+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/main.rs:105","ev":"sdf"}
-{"_ts":"2024-11-19T21:29:52.601887236+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/main.rs:106","ev":"sdf","set":"job_id","val_s":"0238b48f-6e9e-4e9c-949b-6c8a9aceee98"}
-{"_ts":"2024-11-19T21:29:52.601895180+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/main.rs:107","ev":"sdf","set":"args","val_as":["compile","moms_flower_shop.raw.raw_inapp_events","--log-level","info","--show","none"]}
-{"_ts":"2024-11-19T21:29:52.603178402+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:119","ev":"initialize"}
-{"_ts":"2024-11-19T21:29:52.603324485+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:298","ev":"initialize.load_workspace"}
-{"_ts":"2024-11-19T21:29:52.619870919+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:367","ev":"initialize.load_workspace","st_dur_ms":16}
-{"_ts":"2024-11-19T21:29:52.619884665+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:369","ev":"initialize.load_dependencies"}
-{"_ts":"2024-11-19T21:29:52.619890796+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:500","ev":"initialize.load_dependencies","st_dur_ms":0}
-{"_ts":"2024-11-19T21:29:52.619899242+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:502","ev":"initialize.load_prelude"}
-{"_ts":"2024-11-19T21:29:52.622389552+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:538","ev":"initialize.load_prelude","st_dur_ms":2}
+{"_ts":"2024-11-20T00:43:48.287724573+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/main.rs:105","ev":"sdf"}
+{"_ts":"2024-11-20T00:43:48.287769326+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/main.rs:106","ev":"sdf","set":"job_id","val_s":"b651c9ec-9577-45b9-99d4-6616c663cdfc"}
+{"_ts":"2024-11-20T00:43:48.287776670+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/main.rs:107","ev":"sdf","set":"args","val_as":["compile","moms_flower_shop.raw.raw_inapp_events","--log-level","info","--show","none"]}
+{"_ts":"2024-11-20T00:43:48.288827861+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:117","ev":"initialize"}
+{"_ts":"2024-11-20T00:43:48.289105399+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:301","ev":"initialize.load_workspace"}
+{"_ts":"2024-11-20T00:43:48.307162150+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:381","ev":"initialize.load_workspace","st_dur_ms":18}
+{"_ts":"2024-11-20T00:43:48.307180514+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:383","ev":"initialize.load_dependencies"}
+{"_ts":"2024-11-20T00:43:48.307198117+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:515","ev":"initialize.load_dependencies","st_dur_ms":0}
+{"_ts":"2024-11-20T00:43:48.307204739+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:517","ev":"initialize.load_prelude"}
+{"_ts":"2024-11-20T00:43:48.311144019+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:553","ev":"initialize.load_prelude","st_dur_ms":3}
 
 
 
@@ -63,58 +63,38 @@ The following guide will go through the different logging options available in S
 
-{"_ts":"2024-11-19T21:29:54.105258654+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:577","ev":"initialize.prep_env.resolve_env.build_env","st_dur_ms":495}
-{"_ts":"2024-11-19T21:29:54.105324126+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/context/env.rs:907","message":"Reading jinja file: sdf_test at sdftarget/dbg/.lib/sdf_test/macros/test.jinja"}
-{"_ts":"2024-11-19T21:29:54.105668032+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/context/env.rs:907","message":"Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/date_spine.jinja"}
-{"_ts":"2024-11-19T21:29:54.106038705+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/context/env.rs:907","message":"Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/generate_integer_values.jinja"}
-{"_ts":"2024-11-19T21:29:54.106085032+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/context/env.rs:907","message":"Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/generate_surrogate_key.jinja"}
-{"_ts":"2024-11-19T21:29:54.106128954+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/context/env.rs:907","message":"Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/group_by.jinja"}
-{"_ts":"2024-11-19T21:29:54.106173227+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/context/env.rs:907","message":"Reading jinja file: sdf_utils at sdftarget/dbg/.lib/sdf_utils/macros/generate_date_values.jinja"}
-{"_ts":"2024-11-19T21:29:54.106218662+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/context/env.rs:907","message":"Reading jinja file: sdf_mat at sdftarget/dbg/.lib/sdf_mat/macros/dialect/trino/materialize.jinja"}
-{"_ts":"2024-11-19T21:29:54.106676459+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/utils/initializing.rs:776","ev":"initialize.prep_env.resolve_env","st_dur_ms":497}
-
-{"_ts":"2024-11-19T21:29:54.107410262+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:517","ev":"cmd.prepare.read_makefile","set":"verdict","val_s":"full-rebuild"}
-{"_ts":"2024-11-19T21:29:54.107421854+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:573","ev":"cmd.prepare.read_makefile","set":"analyze_with_sources","val_b":false}
-{"_ts":"2024-11-19T21:29:54.107428897+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:578","ev":"cmd.prepare.read_makefile","set":"resolved_table_names","val_s":"[]"}
-{"_ts":"2024-11-19T21:29:54.107435910+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:584","ev":"cmd.prepare.read_makefile","set":"seen_these_files","val_s":"[]"}
-{"_ts":"2024-11-19T21:29:54.107442111+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:590","ev":"cmd.prepare.read_makefile","set":"sources","val_s":"[]"}
-{"_ts":"2024-11-19T21:29:54.107447932+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:601","ev":"cmd.prepare.read_makefile","st_dur_ms":0}
-
-{"_ts":"2024-11-19T21:29:54.114489359+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:1610","ev":"cmd.schedule.prep"}
-{"_ts":"2024-11-19T21:29:54.114520848+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:1632","ev":"cmd.schedule","set":"deps","val_as":{"moms_flower_shop.raw.raw_inapp_events":[]}}
-{"_ts":"2024-11-19T21:29:54.114554792+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:1712","ev":"cmd.schedule.prep","st_dur_ms":0}
-{"_ts":"2024-11-19T21:29:54.114563498+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:1809","ev":"cmd.schedule","set":"resolved_tables","val_as":{}}
-{"_ts":"2024-11-19T21:29:54.114569599+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:1815","ev":"cmd.schedule","set":"sources_defined_by_providers","val_as":[]}
-{"_ts":"2024-11-19T21:29:54.114579167+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:1861","ev":"cmd.schedule","set":"to_be_downloaded","val_as":[]}
-{"_ts":"2024-11-19T21:29:54.114616117+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:2040","ev":"cmd.schedule.dag"}
-{"_ts":"2024-11-19T21:29:54.114625604+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2042","ev":"cmd.schedule.dag","set":"dag.deps","val_s":"{\"moms_flower_shop.raw.raw_inapp_events\":[]}"}
-{"_ts":"2024-11-19T21:29:54.114640803+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2056","ev":"cmd.schedule.dag","set":"dag.initial","val_s":"{\"moms_flower_shop.raw.raw_inapp_events\":[]}"}
-{"_ts":"2024-11-19T21:29:54.114667971+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2068","ev":"cmd.schedule.dag","set":"dag.cleaned","val_s":"{\"moms_flower_shop.raw.raw_inapp_events\":[]}"}
-{"_ts":"2024-11-19T21:29:54.114683991+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2074","ev":"cmd.schedule.dag","set":"missing_defs","val_s":"[]"}
-{"_ts":"2024-11-19T21:29:54.114706203+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2152","ev":"cmd.schedule.dag","set":"dag.resolved_targets","val_s":"[\"moms_flower_shop.raw.raw_inapp_events\"]"}
-{"_ts":"2024-11-19T21:29:54.114725779+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2180","ev":"cmd.schedule.dag","set":"dag.targeted","val_s":"{\"moms_flower_shop.raw.raw_inapp_events\":[]}"}
-{"_ts":"2024-11-19T21:29:54.114766626+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2219","ev":"cmd.schedule.dag","set":"dag.acyclic","val_s":"{\"moms_flower_shop.raw.raw_inapp_events\":[]}"}
-{"_ts":"2024-11-19T21:29:54.114776364+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2225","ev":"cmd.schedule.dag","set":"cycles","val_s":"[]"}
-{"_ts":"2024-11-19T21:29:54.114782215+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2231","ev":"cmd.schedule.dag","set":"cut_points","val_s":"[]"}
-{"_ts":"2024-11-19T21:29:54.114792184+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2237","ev":"cmd.schedule.dag","set":"order.initial","val_s":"[\"moms_flower_shop.raw.raw_inapp_events\"]"}
-{"_ts":"2024-11-19T21:29:54.114816589+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2506","ev":"cmd.schedule.dag","set":"showable_root_tables","val_s":"[]"}
-{"_ts":"2024-11-19T21:29:54.114837659+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2795","ev":"cmd.schedule.dag","set":"order.without_providers","val_s":"[\"moms_flower_shop.raw.raw_inapp_events\"]"}
-{"_ts":"2024-11-19T21:29:54.114845213+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:2821","ev":"cmd.schedule.dag","st_dur_ms":0}
-
-{"_ts":"2024-11-19T21:29:54.114858217+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:2828","ev":"cmd.do"}
-{"_ts":"2024-11-19T21:29:54.114871051+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/subcommands/build.rs:2854","ev":"cmd.do","set":"order.without_providers_or_cached","val_s":"[\"moms_flower_shop.raw.raw_inapp_events\"]"}
-{"_ts":"2024-11-19T21:29:54.114880379+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:2871","ev":"cmd.do.sources"}
-
-{"_ts":"2024-11-19T21:29:54.115405511+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:4207","ev":"cmd.do.derived.wave_1.mat","ev_tb":"moms_flower_shop.raw.raw_inapp_events","ev_tb_catalog":"moms_flower_shop","ev_tb_schema":"raw","ev_tb_table":"raw_inapp_events"}
-{"_ts":"2024-11-19T21:29:54.116342615+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/describe.rs:262","ev":"cmd.do.derived.wave_1.meta_analysis","ev_tb":"moms_flower_shop.raw.raw_inapp_events","ev_tb_catalog":"moms_flower_shop","ev_tb_schema":"raw","ev_tb_table":"raw_inapp_events"}
-{"_ts":"2024-11-19T21:29:54.116391737+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/describe.rs:307","ev":"cmd.do.derived.wave_1.meta_analysis","ev_tb":"moms_flower_shop.raw.raw_inapp_events","ev_tb_catalog":"moms_flower_shop","ev_tb_schema":"raw","ev_tb_table":"raw_inapp_events","st_dur_ms":0}
-{"_ts":"2024-11-19T21:29:54.116409831+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:4331","ev":"cmd.do.derived.wave_1.mat","ev_tb":"moms_flower_shop.raw.raw_inapp_events","ev_tb_catalog":"moms_flower_shop","ev_tb_purpose":"model","ev_tb_schema":"raw","ev_tb_table":"raw_inapp_events","st_code":"succeeded","st_done":"executed","st_dur_ms":1}
-
-{"_ts":"2024-11-19T21:29:54.116448794+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:4191","ev":"cmd.do.derived","st_dur_ms":1}
-{"_ts":"2024-11-19T21:29:54.116806015+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/utils/dep_cache.rs:1888","message":"Saving table cache: moms_flower_shop.raw.raw_inapp_events, sdftarget/dbg/table/moms_flower_shop/raw/raw_inapp_events.sdf.yml"}
-{"_ts":"2024-11-19T21:29:54.117088230+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:3465","ev":"cmd.do.gen_makefile"}
-{"_ts":"2024-11-19T21:29:54.117305998+00:00","_ll":"TRACE","_fn":"crates/sdf-cli/src/utils/dep_cache.rs:2298","ev":"written_makefile","set":"makefile","val_m":{"contents":{"cli_vars":"99914b932bd37a50b983c5e7c90ae93b","credentials":"99914b932bd37a50b983c5e7c90ae93b","env_vars":"d751713988987e9331980363e24189ce"},"prelude":[{"file":"workspace.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/analytics/dim_marketing_campaigns.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/raw/raw_customers.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/staging/app_installs.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/raw/raw_marketing_campaign_events.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/staging/inapp_events.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/raw/raw_inapp_events.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/analytics/agg_installs_and_campaigns.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/raw/raw_addresses.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"classifications/column_classifiers.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"classifications/table_classifiers.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/analytics/dim_marketing_campaigns.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/raw/raw_customers.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/staging/app_installs.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/raw/raw_marketing_campaign_events.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/staging/inapp_events.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/raw/raw_inapp_events.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/analytics/agg_installs_and_campaigns.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"metadata/raw/raw_addresses.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"sdftarget/dbg/.lib/sdf_test/workspace.sdf.yml","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_utils/workspace.sdf.yml","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_mat/workspace.sdf.yml","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_test/macros/test.jinja","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_utils/macros/date_spine.jinja","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_utils/macros/generate_integer_values.jinja","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_utils/macros/generate_surrogate_key.jinja","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_utils/macros/group_by.jinja","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_utils/macros/generate_date_values.jinja","mtime":"2024-11-19T21:29:53.601921182Z"},{"file":"sdftarget/dbg/.lib/sdf_mat/macros/dialect/trino/materialize.jinja","mtime":"2024-11-19T21:29:53.601921182Z"}],"deps":[{"target":"moms_flower_shop.raw.raw_inapp_events","deps":[]}],"source_files":{"values":{"moms_flower_shop.raw.raw_inapp_events":[{"file":"metadata/raw/raw_inapp_events.sdf.yml","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"models/raw/raw_inapp_events.sql","mtime":"2024-11-19T21:29:52.357915207Z"},{"file":"seeds/parquet/inapp_events.parquet","mtime":"2024-11-19T21:29:52.357915207Z"}]}},"incomplete_source_files":{"values":[]},"target_status":{"values":{"moms_flower_shop.raw.raw_inapp_events":{"purpose":"model","status":"succeeded","draft":false}}}}}
-{"_ts":"2024-11-19T21:29:54.117461501+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:3479","ev":"cmd.do.gen_makefile","st_dur_ms":0}
+{"_ts":"2024-11-20T00:43:49.776447775+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:521","ev":"cmd.prepare.read_makefile","set":"verdict","val_s":"full-rebuild"}
+{"_ts":"2024-11-20T00:43:49.776455008+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:574","ev":"cmd.prepare.read_makefile","set":"analyze_with_sources","val_b":false}
+{"_ts":"2024-11-20T00:43:49.776462352+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:579","ev":"cmd.prepare.read_makefile","message":"Exceeds limit; use log-level trace","set":"resolved_table_names"}
+{"_ts":"2024-11-20T00:43:49.776469154+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:585","ev":"cmd.prepare.read_makefile","message":"Exceeds limit; use log-level trace","set":"seen_these_files"}
+{"_ts":"2024-11-20T00:43:49.776476648+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:591","ev":"cmd.prepare.read_makefile","message":"Exceeds limit; use log-level trace","set":"sources"}
+{"_ts":"2024-11-20T00:43:49.776481287+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:601","ev":"cmd.prepare.read_makefile","st_dur_ms":0}
+
+{"_ts":"2024-11-20T00:43:49.783300487+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:1896","ev":"cmd.schedule.dag"}
+{"_ts":"2024-11-20T00:43:49.783314554+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:1906","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"dag.initial"}
+{"_ts":"2024-11-20T00:43:49.783323390+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:1918","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"dag.cleaned"}
+{"_ts":"2024-11-20T00:43:49.783332958+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:1924","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"missing_defs"}
+{"_ts":"2024-11-20T00:43:49.783347215+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:2002","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"dag.resolved_targets"}
+{"_ts":"2024-11-20T00:43:49.783365629+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:2031","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"dag.targeted"}
+{"_ts":"2024-11-20T00:43:49.783400414+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:2072","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"dag.acyclic"}
+{"_ts":"2024-11-20T00:43:49.783409872+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:2078","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"cycles"}
+{"_ts":"2024-11-20T00:43:49.783415602+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:2084","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"cut_points"}
+{"_ts":"2024-11-20T00:43:49.783425040+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:2090","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"order.initial"}
+{"_ts":"2024-11-20T00:43:49.783458111+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:2590","ev":"cmd.schedule.dag","message":"Exceeds limit; use log-level trace","set":"order.without_providers"}
+{"_ts":"2024-11-20T00:43:49.783465645+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:2616","ev":"cmd.schedule.dag","st_dur_ms":0}
+
+{"_ts":"2024-11-20T00:43:49.783480112+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:2623","ev":"cmd.do"}
+{"_ts":"2024-11-20T00:43:49.783487827+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/build.rs:2649","ev":"cmd.do","message":"Exceeds limit; use log-level trace","set":"order.without_providers_or_cached"}
+{"_ts":"2024-11-20T00:43:49.783497315+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:2666","ev":"cmd.do.sources"}
+
+{"_ts":"2024-11-20T00:43:49.784133395+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:3926","ev":"cmd.do.derived.wave_1.mat","ev_tb":"moms_flower_shop.raw.raw_inapp_events","ev_tb_catalog":"moms_flower_shop","ev_tb_schema":"raw","ev_tb_table":"raw_inapp_events"}
+{"_ts":"2024-11-20T00:43:49.784901855+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/describe.rs:255","ev":"cmd.do.derived.wave_1.meta_analysis","ev_tb":"moms_flower_shop.raw.raw_inapp_events","ev_tb_catalog":"moms_flower_shop","ev_tb_schema":"raw","ev_tb_table":"raw_inapp_events"}
+{"_ts":"2024-11-20T00:43:49.784954824+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/subcommands/describe.rs:296","ev":"cmd.do.derived.wave_1.meta_analysis","ev_tb":"moms_flower_shop.raw.raw_inapp_events","ev_tb_catalog":"moms_flower_shop","ev_tb_schema":"raw","ev_tb_table":"raw_inapp_events","st_dur_ms":0}
+{"_ts":"2024-11-20T00:43:49.784973629+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:4054","ev":"cmd.do.derived.wave_1.mat","ev_tb":"moms_flower_shop.raw.raw_inapp_events","ev_tb_catalog":"moms_flower_shop","ev_tb_purpose":"model","ev_tb_schema":"raw","ev_tb_table":"raw_inapp_events","st_code":"succeeded","st_done":"executed","st_dur_ms":0}
+
+{"_ts":"2024-11-20T00:43:49.785636005+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:3202","ev":"cmd.do.gen_makefile"}
+{"_ts":"2024-11-20T00:43:49.785857899+00:00","_ll":"DEBUG","_fn":"crates/sdf-cli/src/utils/dep_cache.rs:2277","ev":"written_makefile","message":"Exceeds limit; use log-level trace","set":"makefile"}
+{"_ts":"2024-11-20T00:43:49.785955755+00:00","_ll":"INFO","_fn":"crates/sdf-cli/src/subcommands/build.rs:3216","ev":"cmd.do.gen_makefile","st_dur_ms":0}
 
 
 
@@ -172,7 +152,7 @@ The following guide will go through the different logging options available in S
 
 Working set 12 model files, 1 seed file, 19 .sdf files
-   Finished 1 model [1 succeeded] in 0.803 secs
+   Finished 1 model [1 succeeded] in 0.724 secs
 
 Schema moms_flower_shop.pub.compile_info
 ┌───────────────┬────────────────┬────────────┬─────────────┐
@@ -188,6 +168,7 @@ Schema moms_flower_shop.pub.compile_info
 │ st_dur_ms     ┆ bigint         ┆            ┆             │
 │ ev_fn         ┆ varchar        ┆            ┆             │
 │ st_code       ┆ varchar        ┆            ┆             │
+│ message       ┆ varchar        ┆            ┆             │
 │ ev_tb         ┆ varchar        ┆            ┆             │
 │ ev_tb_catalog ┆ varchar        ┆            ┆             │
 │ ev_tb_schema  ┆ varchar        ┆            ┆             │
@@ -213,24 +194,24 @@ Schema moms_flower_shop.pub.compile_info
 
 Working set 13 model files, 1 seed file, 19 .sdf files
     Running moms_flower_shop.pub.query (./sdftarget/dbg/query.sql)
-   Finished 2 models [2 succeeded] in 0.736 secs
+   Finished 2 models [2 succeeded] in 0.756 secs
 
 Table moms_flower_shop.pub.query
 ┌─────────────────────────────────────┬──────────────────────────────┬────────────────┐
 │ timestamp                           ┆ event                        ┆ duration_in_ms │
 ╞═════════════════════════════════════╪══════════════════════════════╪════════════════╡
-│ 2024-11-19T21:29:55.342901067+00:00 ┆ sdf                          ┆                │
-│ 2024-11-19T21:29:55.343075935+00:00 ┆ sdf                          ┆                │
-│ 2024-11-19T21:29:55.343233139+00:00 ┆ sdf                          ┆                │
-│ 2024-11-19T21:29:55.344497535+00:00 ┆ initialize                   ┆                │
-│ 2024-11-19T21:29:55.344704082+00:00 ┆ initialize.load_workspace    ┆                │
-│ 2024-11-19T21:29:55.360797868+00:00 ┆ initialize.load_workspace    ┆ 16             │
-│ 2024-11-19T21:29:55.360897965+00:00 ┆ initialize.load_dependencies ┆                │
-│ 2024-11-19T21:29:55.360975671+00:00 ┆ initialize.load_dependencies ┆ 0              │
-│ 2024-11-19T21:29:55.361066942+00:00 ┆ initialize.load_prelude      ┆                │
-│ 2024-11-19T21:29:55.363674892+00:00 ┆ initialize.load_prelude      ┆ 2              │
+│ 2024-11-20T00:43:51.002603474+00:00 ┆ sdf                          ┆                │
+│ 2024-11-20T00:43:51.003016345+00:00 ┆ sdf                          ┆                │
+│ 2024-11-20T00:43:51.003174650+00:00 ┆ sdf                          ┆                │
+│ 2024-11-20T00:43:51.004345024+00:00 ┆ initialize                   ┆                │
+│ 2024-11-20T00:43:51.004547662+00:00 ┆ initialize.load_workspace    ┆                │
+│ 2024-11-20T00:43:51.022059312+00:00 ┆ initialize.load_workspace    ┆ 17             │
+│ 2024-11-20T00:43:51.022160551+00:00 ┆ initialize.load_dependencies ┆                │
+│ 2024-11-20T00:43:51.022247373+00:00 ┆ initialize.load_dependencies ┆ 0              │
+│ 2024-11-20T00:43:51.022338884+00:00 ┆ initialize.load_prelude      ┆                │
+│ 2024-11-20T00:43:51.025181798+00:00 ┆ initialize.load_prelude      ┆ 2              │
 └─────────────────────────────────────┴──────────────────────────────┴────────────────┘
-60 rows, showing only 10 rows.
+62 rows, showing only 10 rows.
   Run with --limit 0 to show all rows.
 
 
diff --git a/docs/guide/data-quality/checks.mdx b/docs/guide/data-quality/checks.mdx
index 1c839f0c..6300a837 100644
--- a/docs/guide/data-quality/checks.mdx
+++ b/docs/guide/data-quality/checks.mdx
@@ -36,7 +36,7 @@ Let's write and modify a check, starting with one of the sdf samples.
         
         📚 Read the Docs to Get Started -> https://docs.sdf.com/
         
-   Finished new in 0.220 secs
+   Finished new in 0.218 secs
 
 
 
@@ -78,7 +78,7 @@ Working set 1 model file, 1 .sdf file   Compiling hello.pub.main (./models/main.sql) Working set 1 check file, 1 .sdf file    Checking hello.pub.code_check (./checks/code_check.sql) -   Finished 1 model [1 succeeded], 1 check [1 passed] in 2.248 secs +   Finished 1 model [1 succeeded], 1 check [1 passed] in 1.287 secs [Pass] Check hello.pub.code_check @@ -122,7 +122,7 @@ Working set 1 model file, 1 .sdf file   Compiling hello.pub.main (./models/main.sql) Working set 1 check file, 1 .sdf file    Checking hello.pub.code_check (./checks/code_check.sql) -   Finished 1 model [1 succeeded], 1 check [1 failed] in 2.246 secs, for details see below. +   Finished 1 model [1 succeeded], 1 check [1 failed] in 1.238 secs, for details see below. [Fail] Check hello.pub.code_check ┌────────────┬─────────────┬─────────────┐ @@ -133,7 +133,7 @@ Working set 1 check file, 1 .sdf file 1 rows. ------- -Summary 1 model [1 succeeded], 1 check [1 failed] in 2.246 secs. +Summary 1 model [1 succeeded], 1 check [1 failed] in 1.238 secs. ------- @@ -195,7 +195,7 @@ Working set 2 model files, 1 .sdf file   Compiling hello.pub.sink (./models/sink.sql) Working set 1 check file, 1 .sdf file    Checking hello.pub.code_check (./checks/code_check.sql) -   Finished 2 models [2 succeeded], 1 check [1 passed] in 1.868 secs +   Finished 2 models [2 succeeded], 1 check [1 passed] in 1.251 secs [Pass] Check hello.pub.code_check diff --git a/docs/guide/data-quality/reports.mdx b/docs/guide/data-quality/reports.mdx index 7fbaf0d7..250145d3 100644 --- a/docs/guide/data-quality/reports.mdx +++ b/docs/guide/data-quality/reports.mdx @@ -50,7 +50,7 @@ Let's write and modify a report, starting with one of the sdf samples.                  📚 Read the Docs to Get Started -> https://docs.sdf.com/          -   Finished new in 0.226 secs +   Finished new in 0.207 secs @@ -111,30 +111,30 @@ Let's write and modify a report, starting with one of the sdf samples.
 
 Working set 12 model files, 3 .sdf files
-  Compiling payment.public.organizations (./ddls/payment/public/organizations.sql)
   Compiling payment.public.users (./ddls/payment/public/users.sql)
+  Compiling payment.public.organizations (./ddls/payment/public/organizations.sql)
   Compiling payment.public.invoices (./ddls/payment/public/invoices.sql)
   Compiling transformations.internal.invoice_payment_delay (./models/internal/invoice_payment_delay.sql)
   Compiling transformations.internal.mau_per_org (./models/internal/mau_per_org.sql)
   Compiling transformations.internal.total_revenue_per_org (./models/internal/total_revenue_per_org.sql)
   Compiling transformations.external.invoice_stats (./models/external/invoice_stats.sql)
-  Compiling transformations.internal.avg_invoice_amt (./models/internal/avg_invoice_amt.sql)
   Compiling transformations.external.org_invoice_stats (./models/external/org_invoice_stats.sql)
+  Compiling transformations.internal.avg_invoice_amt (./models/internal/avg_invoice_amt.sql)
   Compiling transformations.internal.users_per_domain (./models/internal/users_per_domain.sql)
   Compiling transformations.internal.most_frequent_payer (./models/internal/most_frequent_payer.sql)
   Compiling transformations.internal.users_per_org (./models/internal/users_per_org.sql)
 Working set 1 report file, 1 .sdf file
   Reporting sdf.reports.tables_with_pii (./reports/tables_with_pii.sql)
-   Finished 12 models [12 succeeded], 1 report [1 succeeded] in 1.821 secs
+   Finished 12 models [12 succeeded], 1 report [1 succeeded] in 1.777 secs
 
-Report sdf.reports.TABLES_WITH_PII
+Report sdf.reports.tables_with_pii
 ┌──────────────────────────────────────────────┬─────────────────────────┬───────────┐
 │ table_id                                     ┆ description             ┆ dialect   │
 ╞══════════════════════════════════════════════╪═════════════════════════╪═══════════╡
 │ TRANSFORMATIONS.INTERNAL.MOST_FREQUENT_PAYER ┆                         ┆ snowflake │
-│ payment.public.USERS                         ┆ DDL for the users table ┆ snowflake │
-│ TRANSFORMATIONS.EXTERNAL.INVOICE_STATS       ┆                         ┆ snowflake │
 │ TRANSFORMATIONS.INTERNAL.USERS_PER_DOMAIN    ┆                         ┆ snowflake │
+│ TRANSFORMATIONS.EXTERNAL.INVOICE_STATS       ┆                         ┆ snowflake │
+│ payment.public.USERS                         ┆ DDL for the users table ┆ snowflake │
 └──────────────────────────────────────────────┴─────────────────────────┴───────────┘
 4 rows.
 
@@ -167,16 +167,16 @@ Report sdf.reports.TABLES_WITH_PII
 Working set 12 model files, 3 .sdf files
 Working set 1 report file, 1 .sdf file
   Reporting sdf.reports.tables_with_pii (./reports/tables_with_pii.sql)
-   Finished 12 models [12 reused], 1 report [1 succeeded] in 1.592 secs
+   Finished 12 models [12 reused], 1 report [1 succeeded] in 1.571 secs
 
-Report sdf.reports.TABLES_WITH_PII
+Report sdf.reports.tables_with_pii
 ┌──────────────────────────────────────────────┬──────────────┬─────────────────────────┬───────────┐
 │ table_id                                     ┆ column_name  ┆ description             ┆ dialect   │
 ╞══════════════════════════════════════════════╪══════════════╪═════════════════════════╪═══════════╡
+│ TRANSFORMATIONS.INTERNAL.USERS_PER_DOMAIN    ┆ EMAIL_DOMAIN ┆                         ┆ snowflake │
+│ TRANSFORMATIONS.EXTERNAL.INVOICE_STATS       ┆ NAME         ┆                         ┆ snowflake │
 │ TRANSFORMATIONS.INTERNAL.MOST_FREQUENT_PAYER ┆ EMAIL        ┆                         ┆ snowflake │
 │ payment.public.USERS                         ┆ NAME         ┆ DDL for the users table ┆ snowflake │
-│ TRANSFORMATIONS.EXTERNAL.INVOICE_STATS       ┆ NAME         ┆                         ┆ snowflake │
-│ TRANSFORMATIONS.INTERNAL.USERS_PER_DOMAIN    ┆ EMAIL_DOMAIN ┆                         ┆ snowflake │
 │ payment.public.USERS                         ┆ EMAIL        ┆ DDL for the users table ┆ snowflake │
 │ payment.public.USERS                         ┆ PHONE        ┆ DDL for the users table ┆ snowflake │
 │ TRANSFORMATIONS.EXTERNAL.INVOICE_STATS       ┆ EMAIL        ┆                         ┆ snowflake │
@@ -208,23 +208,23 @@ Report sdf.reports.TABLES_WITH_PII
 Working set 12 model files, 3 .sdf files
 Working set 2 report files, 1 .sdf file
   Reporting sdf.reports.pii_datatypes (./reports/pii_datatypes.sql)
-   Finished 12 models [12 reused], 2 reports [1 succeeded, 1 reused] in 1.598 secs
+   Finished 12 models [12 reused], 2 reports [1 succeeded, 1 reused] in 1.564 secs
 
-Report sdf.reports.TABLES_WITH_PII
+Report sdf.reports.tables_with_pii
 ┌──────────────────────────────────────────────┬──────────────┬─────────────────────────┬───────────┐
 │ table_id                                     ┆ column_name  ┆ description             ┆ dialect   │
 ╞══════════════════════════════════════════════╪══════════════╪═════════════════════════╪═══════════╡
+│ TRANSFORMATIONS.INTERNAL.USERS_PER_DOMAIN    ┆ EMAIL_DOMAIN ┆                         ┆ snowflake │
+│ TRANSFORMATIONS.EXTERNAL.INVOICE_STATS       ┆ NAME         ┆                         ┆ snowflake │
+│ TRANSFORMATIONS.INTERNAL.MOST_FREQUENT_PAYER ┆ EMAIL        ┆                         ┆ snowflake │
+│ payment.public.USERS                         ┆ NAME         ┆ DDL for the users table ┆ snowflake │
 │ payment.public.USERS                         ┆ EMAIL        ┆ DDL for the users table ┆ snowflake │
 │ payment.public.USERS                         ┆ PHONE        ┆ DDL for the users table ┆ snowflake │
 │ TRANSFORMATIONS.EXTERNAL.INVOICE_STATS       ┆ EMAIL        ┆                         ┆ snowflake │
-│ TRANSFORMATIONS.INTERNAL.MOST_FREQUENT_PAYER ┆ EMAIL        ┆                         ┆ snowflake │
-│ payment.public.USERS                         ┆ NAME         ┆ DDL for the users table ┆ snowflake │
-│ TRANSFORMATIONS.EXTERNAL.INVOICE_STATS       ┆ NAME         ┆                         ┆ snowflake │
-│ TRANSFORMATIONS.INTERNAL.USERS_PER_DOMAIN    ┆ EMAIL_DOMAIN ┆                         ┆ snowflake │
 └──────────────────────────────────────────────┴──────────────┴─────────────────────────┴───────────┘
 7 rows.
 
-Report sdf.reports.PII_DATATYPES
+Report sdf.reports.pii_datatypes
 ┌──────────┬───────────┐
 │ datatype ┆ frequency │
 ╞══════════╪═══════════╡
diff --git a/docs/guide/data-quality/tests.mdx b/docs/guide/data-quality/tests.mdx
index a242166b..98ff5b3d 100644
--- a/docs/guide/data-quality/tests.mdx
+++ b/docs/guide/data-quality/tests.mdx
@@ -26,7 +26,7 @@ When `sdf test` runs this query, it will check if any data is returned and fail
 Working set 1 model file, 1 test file, 1 .sdf file
     Running hello.pub.main (./models/main.sql)
     Testing hello.pub.test_main (./sdftarget/dbg/tests/hello/pub/test_main.sql)
-   Finished 1 model [1 succeeded], 1 test [1 passed] in 0.778 secs
+   Finished 1 model [1 succeeded], 1 test [1 passed] in 0.758 secs
 [Pass] Test hello.pub.test_main
 
 
@@ -180,7 +180,7 @@ table:
 Working set 1 model file, 1 test file, 2 .sdf files
     Running tests_workspace.pub.raw_inapp_events (./models/raw_inapp_events.sql)
     Testing tests_workspace.pub.test_raw_inapp_events (./sdftarget/dbg/tests/tests_workspace/pub/test_raw_inapp_events.sql)
-   Finished 1 model [1 succeeded], 1 test [1 passed] in 0.760 secs
+   Finished 1 model [1 succeeded], 1 test [1 passed] in 0.765 secs
 [Pass] Test tests_workspace.pub.test_raw_inapp_events
 
 
@@ -189,7 +189,7 @@ Working set 1 model file, 1 test file, 2
   
   
     This step is not mandatory, but sometimes it can be helpful to view the compiled test query.
-    To access the query, navigate to the file located in `sdftarget/dbg/preprocessed/tests_workspace/pub/test_raw_inapp_events.sql`.
+    To access the query, navigate to the file located in `sdftarget/dbg/preprocessed/sdftarget/dbg/tests/tests_workspace/pub/test_raw_inapp_events.sql`.
 
     The file will hold the compiled tests query and will look like this:
 
@@ -347,7 +347,7 @@ to run custom testing macros.
 
     Cleaned sdftarget
-   Finished clean in 0.217 secs
+   Finished clean in 0.216 secs
 .
 ├── custom_tests
 ├── models
@@ -431,7 +431,7 @@ to run custom testing macros.
 Working set 1 model file, 1 test file, 2 .sdf files
     Running tests_workspace.pub.raw_inapp_events (./models/raw_inapp_events.sql)
     Testing tests_workspace.pub.test_raw_inapp_events (./sdftarget/dbg/tests/tests_workspace/pub/test_raw_inapp_events.sql)
-   Finished 1 model [1 succeeded], 1 test [1 passed] in 0.785 secs
+   Finished 1 model [1 succeeded], 1 test [1 passed] in 0.751 secs
 [Pass] Test tests_workspace.pub.test_raw_inapp_events
 
 
@@ -439,7 +439,7 @@ Working set 1 model file, 1 test file, 2
 
We can look at the compiled tests query located in the file - `sdftarget/dbg/preprocessed/tests_workspace/pub/test_raw_inapp_events.sql`. + `sdftarget/dbg/preprocessed/sdftarget/dbg/tests/tests_workspace/pub/test_raw_inapp_events.sql`. Notice our custom logic in the compiled query:
diff --git a/docs/guide/setup/io.mdx b/docs/guide/setup/io.mdx index fd77b070..3589ad0a 100644 --- a/docs/guide/setup/io.mdx +++ b/docs/guide/setup/io.mdx @@ -93,7 +93,7 @@ Let's try these options. Start by creating a new SDF workspace with a sample pro                  📚 Read the Docs to Get Started -> https://docs.sdf.com/          -   Finished new in 0.221 secs +   Finished new in 0.210 secs
@@ -124,7 +124,7 @@ Working set 4 model files, 1 .sdf file   Compiling lineage.pub.middle (./models/middle.sql)   Compiling lineage.pub.knis (./models/knis.sql)   Compiling lineage.pub.sink (./models/sink.sql) -   Finished 4 models [4 succeeded] in 0.778 secs +   Finished 4 models [4 succeeded] in 0.751 secs diff --git a/docs/guide/setup/workspaces.mdx b/docs/guide/setup/workspaces.mdx index 9db6fcb8..2f78abe8 100644 --- a/docs/guide/setup/workspaces.mdx +++ b/docs/guide/setup/workspaces.mdx @@ -306,7 +306,6 @@ Here's an example of a full-fledged table definition generated in the `sdftarget table:   name: moms_flower_shop.analytics.agg_installs_and_campaigns   dialect: trino -  casing-policy: preserve   materialization: view   purpose: model   dependencies: @@ -318,13 +317,11 @@ table:       modify:       - moms_flower_shop.staging.app_installs_v2.install_time   - name: campaign_name -    description: The campaign name associated with the campaign_id     datatype: varchar     lineage:       copy:       - moms_flower_shop.staging.app_installs_v2.campaign_name   - name: platform -    description: iOS or Android     datatype: varchar     lineage:       copy: diff --git a/docs/integrations/aws/S3/s3-example.mdx b/docs/integrations/aws/S3/s3-example.mdx index 49acaded..329d4748 100644 --- a/docs/integrations/aws/S3/s3-example.mdx +++ b/docs/integrations/aws/S3/s3-example.mdx @@ -57,7 +57,7 @@ integration with SDF to analyze world population data.
 
 Working set 1 .sdf file
-   Finished run in 0.731 secs
+   Finished run in 0.716 secs
 
 
 
@@ -116,7 +116,7 @@ Working set 2 model files, 1 .sdf file     Running hello_world.pub.un_pop_data (./remote/un_pop_data.sql) Downloading hello_world.pub.un_pop_data  (s3://sdfdatasets/hello-world/world_population_full.csv)     Running hello_world.pub.q1 (./remote/q1.sql) -   Finished 2 models [2 succeeded] in 1.651 secs +   Finished 2 models [2 succeeded] in 1.629 secs Table hello_world.pub.un_pop_data ┌───────┬───────────┬───────────────────┬───────────────┬─────────────────┬───────┬──────┬──────────────────────┬──────────────────────────────────┬────────────┐ diff --git a/docs/integrations/bigquery/basic-materialization.mdx b/docs/integrations/bigquery/basic-materialization.mdx index 448fc203..ee600d29 100644 --- a/docs/integrations/bigquery/basic-materialization.mdx +++ b/docs/integrations/bigquery/basic-materialization.mdx @@ -117,7 +117,7 @@ Downloading "integration-test-sdf".sdf_ecommerce_example. Downloading "integration-test-sdf".sdf_ecommerce_example.orders (schema)   Compiling integration-test-sdf.sdf_ecommerce_example.aggregate_orders (./models/aggregate_orders.sql)   Compiling integration-test-sdf.sdf_ecommerce_example.customers_over_100 (./models/customers_over_100.sql) -   Finished 5 models [5 succeeded] in 1.847 secs +   Finished 5 models [2 succeeded, 3 downloaded] in 2.027 secs @@ -156,12 +156,12 @@ Downloading "integration-test-sdf".sdf_ecommerce_example.
 
 Working set 2 model files, 1 .sdf file
+Downloading "integration-test-sdf".sdf_ecommerce_example.orders (schema)
 Downloading "integration-test-sdf".sdf_ecommerce_example.customers (schema)
 Downloading "integration-test-sdf".sdf_ecommerce_example.products (schema)
-Downloading "integration-test-sdf".sdf_ecommerce_example.orders (schema)
     Running integration-test-sdf.sdf_ecommerce_example.aggregate_orders (./models/aggregate_orders.sql)
     Running integration-test-sdf.sdf_ecommerce_example.customers_over_100 (./models/customers_over_100.sql)
-   Finished 5 models [5 succeeded] in 3.727 secs
+   Finished 5 models [2 succeeded, 3 downloaded] in 3.292 secs
 
 
 
@@ -178,21 +178,21 @@ Downloading "integration-test-sdf".sdf_ecommerce_example.
 
 Working set 2 model files, 1 .sdf file
+Downloading "integration-test-sdf".sdf_ecommerce_example.products (schema)
 Downloading "integration-test-sdf".sdf_ecommerce_example.orders (schema)
 Downloading "integration-test-sdf".sdf_ecommerce_example.customers (schema)
-Downloading "integration-test-sdf".sdf_ecommerce_example.products (schema)
     Running integration-test-sdf.sdf_ecommerce_example.aggregate_orders (./models/aggregate_orders.sql)
     Running integration-test-sdf.sdf_ecommerce_example.customers_over_100 (./models/customers_over_100.sql)
-   Finished 5 models [5 succeeded] in 6.825 secs
+   Finished 5 models [2 succeeded, 3 downloaded] in 6.416 secs
 
-Table "integration-test-sdf".sdf_ecommerce_example.customers
-┌─────────────┬───────────────┬───────────────────────┬─────────────────────┐
-│ customer_id ┆ customer_name ┆ email                 ┆ signup_date         │
-╞═════════════╪═══════════════╪═══════════════════════╪═════════════════════╡
-│ 1           ┆ John Doe      ┆ johndoe@example.com   ┆ 2023-01-15T00:00:00 │
-│ 2           ┆ Jane Smith    ┆ janesmith@example.com ┆ 2023-02-10T00:00:00 │
-│ 3           ┆ Sam Johnson   ┆ samj@example.com      ┆ 2023-03-05T00:00:00 │
-└─────────────┴───────────────┴───────────────────────┴─────────────────────┘
+Table "integration-test-sdf".sdf_ecommerce_example.products
+┌────────────┬──────────────┬────────┬─────────────┐
+│ product_id ┆ product_name ┆ price  ┆ category    │
+╞════════════╪══════════════╪════════╪═════════════╡
+│ 1          ┆ Laptop       ┆ 999.99 ┆ Electronics │
+│ 2          ┆ Headphones   ┆ 199.99 ┆ Electronics │
+│ 3          ┆ Coffee Maker ┆ 89.99  ┆ Appliances  │
+└────────────┴──────────────┴────────┴─────────────┘
 3 rows.
 
 Table "integration-test-sdf".sdf_ecommerce_example.orders
@@ -205,14 +205,14 @@ Table "integration-test-sdf".sdf_ecommerce_example.orders
 └──────────┴─────────────┴────────────┴─────────────────────┴──────────┘
 3 rows.
 
-Table "integration-test-sdf".sdf_ecommerce_example.products
-┌────────────┬──────────────┬────────┬─────────────┐
-│ product_id ┆ product_name ┆ price  ┆ category    │
-╞════════════╪══════════════╪════════╪═════════════╡
-│ 1          ┆ Laptop       ┆ 999.99 ┆ Electronics │
-│ 2          ┆ Headphones   ┆ 199.99 ┆ Electronics │
-│ 3          ┆ Coffee Maker ┆ 89.99  ┆ Appliances  │
-└────────────┴──────────────┴────────┴─────────────┘
+Table "integration-test-sdf".sdf_ecommerce_example.customers
+┌─────────────┬───────────────┬───────────────────────┬─────────────────────┐
+│ customer_id ┆ customer_name ┆ email                 ┆ signup_date         │
+╞═════════════╪═══════════════╪═══════════════════════╪═════════════════════╡
+│ 1           ┆ John Doe      ┆ johndoe@example.com   ┆ 2023-01-15T00:00:00 │
+│ 2           ┆ Jane Smith    ┆ janesmith@example.com ┆ 2023-02-10T00:00:00 │
+│ 3           ┆ Sam Johnson   ┆ samj@example.com      ┆ 2023-03-05T00:00:00 │
+└─────────────┴───────────────┴───────────────────────┴─────────────────────┘
 3 rows.
 
 Table "integration-test-sdf".sdf_ecommerce_example.aggregate_orders
diff --git a/docs/integrations/dagster/getting-started.mdx b/docs/integrations/dagster/getting-started.mdx
index e775449a..f2596f72 100644
--- a/docs/integrations/dagster/getting-started.mdx
+++ b/docs/integrations/dagster/getting-started.mdx
@@ -41,7 +41,7 @@ The following guide assumes you already have an active SDF workspace. If not, yo
 
 
-sdf 0.10.4-p
+sdf 0.5.15
 
 
 
diff --git a/docs/integrations/dbt/migrating.mdx b/docs/integrations/dbt/migrating.mdx index cf23bbf8..0a010162 100644 --- a/docs/integrations/dbt/migrating.mdx +++ b/docs/integrations/dbt/migrating.mdx @@ -153,7 +153,7 @@ workspace:
 
 Working set 3 .sdf files
-   Finished 3 models [3 succeeded] in 0.747 secs
+   Finished 3 models [3 succeeded] in 0.734 secs
 
 Schema jaffle_shop.raw.raw_customers
 ┌─────────────┬───────────┬────────────┬─────────────┐
@@ -413,10 +413,10 @@ tmp/jaffle_shop/
 
 
 Working set 3 model files, 3 .sdf files
-  Compiling jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql)
-  Compiling jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)
   Compiling jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)
-   Finished 6 models [6 succeeded] in 0.751 secs
+  Compiling jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)
+  Compiling jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql)
+   Finished 6 models [6 succeeded] in 0.761 secs
 
 
 
@@ -439,7 +439,7 @@ Working set 3 model files, 2 .sdf files     Running jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)     Running jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)     Running jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql) -   Finished 6 models [6 succeeded] in 0.770 secs +   Finished 6 models [6 succeeded] in 0.772 secs Table jaffle_shop.staging.stg_customers ┌─────────────┬────────────┬───────────┐ @@ -640,11 +640,11 @@ Table jaffle_shop.staging.stg_orders
 
 Working set 4 model files, 3 .sdf files
+  Compiling jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)
   Compiling jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)
   Compiling jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql)
-  Compiling jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)
   Compiling jaffle_shop.analytics.orders (./models/analytics/orders.sql)
-   Finished 7 models [7 succeeded] in 0.792 secs
+   Finished 7 models [7 succeeded] in 0.766 secs
 
 
 
@@ -663,7 +663,7 @@ Working set 4 model files, 2 .sdf files     Running jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql)     Running jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)     Running jaffle_shop.analytics.orders (./models/analytics/orders.sql) -   Finished 5 models [5 succeeded] in 0.814 secs +   Finished 5 models [5 succeeded] in 0.818 secs Table jaffle_shop.analytics.orders ┌──────────┬─────────────┬────────────┬───────────┬────────────────────┬───────────────┬──────────────────────┬──────────────────┬────────┐ @@ -721,11 +721,11 @@ Table jaffle_shop.analytics.orders
 
 Working set 4 model files, 4 .sdf files
-  Compiling jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)
   Compiling jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql)
   Compiling jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)
+  Compiling jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)
   Compiling jaffle_shop.analytics.orders (./models/analytics/orders.sql)
-   Finished 7 models [7 succeeded] in 0.861 secs
+   Finished 7 models [7 succeeded] in 0.781 secs
 
 
 
@@ -857,16 +857,16 @@ tmp/jaffle_shop/
 
 Working set 4 model files, 3 test files, 7 .sdf files
+    Running jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)
     Running jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql)
     Running jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)
-    Running jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)
     Testing jaffle_shop.staging.test_stg_orders (./sdftarget/dbg/tests/jaffle_shop/staging/test_stg_orders.sql)
-    Testing jaffle_shop.staging.test_stg_payments (./sdftarget/dbg/tests/jaffle_shop/staging/test_stg_payments.sql)
     Testing jaffle_shop.staging.test_stg_customers (./sdftarget/dbg/tests/jaffle_shop/staging/test_stg_customers.sql)
-   Finished 6 models [6 succeeded], 3 tests [3 passed] in 0.844 secs
+    Testing jaffle_shop.staging.test_stg_payments (./sdftarget/dbg/tests/jaffle_shop/staging/test_stg_payments.sql)
+   Finished 6 models [6 succeeded], 3 tests [3 passed] in 0.816 secs
+[Pass] Test jaffle_shop.staging.test_stg_customers
 [Pass] Test jaffle_shop.staging.test_stg_orders
 [Pass] Test jaffle_shop.staging.test_stg_payments
-[Pass] Test jaffle_shop.staging.test_stg_customers
 
 
 
@@ -918,12 +918,12 @@ tmp/jaffle_shop_complete/
 
 Working set 5 model files, 10 .sdf files
+  Compiling jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)
   Compiling jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql)
   Compiling jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)
-  Compiling jaffle_shop.staging.stg_customers (./models/staging/stg_customers.sql)
-  Compiling jaffle_shop.analytics.orders (./models/analytics/orders.sql)
   Compiling jaffle_shop.analytics.customers (./models/analytics/customers.sql)
-   Finished 8 models [8 succeeded] in 0.796 secs
+  Compiling jaffle_shop.analytics.orders (./models/analytics/orders.sql)
+   Finished 8 models [8 succeeded] in 0.789 secs
 
 
 
@@ -944,7 +944,7 @@ Working set 5 model files, 10 .sdf files     Running jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)     Running jaffle_shop.analytics.customers (./models/analytics/customers.sql)     Running jaffle_shop.analytics.orders (./models/analytics/orders.sql) -   Finished 8 models [8 succeeded] in 0.841 secs +   Finished 8 models [8 succeeded] in 0.827 secs
@@ -964,13 +964,13 @@ Working set 5 model files, 5 test files,      Running jaffle_shop.staging.stg_payments (./models/staging/stg_payments.sql)     Running jaffle_shop.staging.stg_orders (./models/staging/stg_orders.sql)     Testing jaffle_shop.staging.test_stg_customers (./sdftarget/dbg/tests/jaffle_shop/staging/test_stg_customers.sql) -    Running jaffle_shop.analytics.customers (./models/analytics/customers.sql)     Testing jaffle_shop.staging.test_stg_payments (./sdftarget/dbg/tests/jaffle_shop/staging/test_stg_payments.sql) +    Running jaffle_shop.analytics.customers (./models/analytics/customers.sql)     Running jaffle_shop.analytics.orders (./models/analytics/orders.sql)     Testing jaffle_shop.staging.test_stg_orders (./sdftarget/dbg/tests/jaffle_shop/staging/test_stg_orders.sql)     Testing jaffle_shop.analytics.test_customers (./sdftarget/dbg/tests/jaffle_shop/analytics/test_customers.sql)     Testing jaffle_shop.analytics.test_orders (./sdftarget/dbg/tests/jaffle_shop/analytics/test_orders.sql) -   Finished 8 models [8 succeeded], 5 tests [5 passed] in 0.909 secs +   Finished 8 models [8 succeeded], 5 tests [5 passed] in 0.918 secs [Pass] Test jaffle_shop.staging.test_stg_customers [Pass] Test jaffle_shop.staging.test_stg_payments [Pass] Test jaffle_shop.staging.test_stg_orders diff --git a/docs/integrations/snowflake/basic-materialization.mdx b/docs/integrations/snowflake/basic-materialization.mdx index 99508a8c..2e59768a 100644 --- a/docs/integrations/snowflake/basic-materialization.mdx +++ b/docs/integrations/snowflake/basic-materialization.mdx @@ -46,7 +46,7 @@ When installing the Cybersyn dataset, make sure to grant the Snowflake role you' Working set 3 model files, 1 .sdf file Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.OPENALEX_FUNDERS_INDEX (schema)   Compiling sdf_snowflake.cybersyn_tech_innovation.funder_aggregates (./models/sdf_snowflake/cybersyn_tech_innovation/funder_aggregates.sql) -   Finished 2 models [2 succeeded] in 1.628 secs +   Finished 2 models [1 succeeded, 1 downloaded] in 1.518 secs Schema sdf_snowflake.cybersyn_tech_innovation.FUNDER_AGGREGATES ┌──────────────────────┬────────────────┬────────────┬──────────────────────────────────────────────────────────────────┐ @@ -172,7 +172,7 @@ Schema sdf_snowflake.cybersyn_tech_innovation.FUNDER_AGGREGATES Working set 4 model files, 1 .sdf file Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_REPOS (schema)   Compiling sdf_snowflake.staging.latest_repo_name (./models/sdf_snowflake/staging/latest_repo_name.sql) -   Finished 2 models [2 succeeded] in 1.553 secs +   Finished 2 models [1 succeeded, 1 downloaded] in 1.530 secs Schema sdf_snowflake.staging.LATEST_REPO_NAME ┌─────────────┬────────────────┬────────────┬──────────────────────────────────────┐ @@ -216,7 +216,7 @@ Schema sdf_snowflake.staging.LATEST_REPO_NAME Working set 4 model files, 1 .sdf file Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_REPOS (schema)     Running sdf_snowflake.staging.latest_repo_name (./models/sdf_snowflake/staging/latest_repo_name.sql) -   Finished 2 models [2 succeeded] in 6.150 secs +   Finished 2 models [1 succeeded, 1 downloaded] in 5.166 secs Table sdf_snowflake.staging.LATEST_REPO_NAME ┌──────────────────────────────┬───────────┐ @@ -282,7 +282,7 @@ Table sdf_snowflake.staging.LATEST_REPO_NAME Working set 5 model files, 1 .sdf file Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_EVENTS (schema)   Compiling sdf_snowflake.staging.push_events (./models/sdf_snowflake/staging/push_events.sql) -   Finished 2 models [2 succeeded] in 1.536 secs +   Finished 2 models [1 succeeded, 1 downloaded] in 1.471 secs Schema sdf_snowflake.staging.PUSH_EVENTS ┌─────────────┬────────────────┬────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┐ @@ -348,20 +348,20 @@ Schema sdf_snowflake.staging.PUSH_EVENTS
 
 Working set 6 model files, 1 .sdf file
+Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.USPTO_PATENT_CONTRIBUTOR_RELATIONSHIPS (schema)
 Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.OPENALEX_FUNDERS_INDEX (schema)
-Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.USPTO_CONTRIBUTOR_INDEX (schema)
 Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.USPTO_PATENT_INDEX (schema)
-Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_STARS (schema)
+Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.USPTO_CONTRIBUTOR_INDEX (schema)
 Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_REPOS (schema)
-Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.USPTO_PATENT_CONTRIBUTOR_RELATIONSHIPS (schema)
 Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_EVENTS (schema)
+Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_STARS (schema)
   Compiling sdf_snowflake.staging.latest_repo_name (./models/sdf_snowflake/staging/latest_repo_name.sql)
-  Compiling sdf_snowflake.cybersyn_tech_innovation.funder_aggregates (./models/sdf_snowflake/cybersyn_tech_innovation/funder_aggregates.sql)
-  Compiling sdf_snowflake.cybersyn_tech_innovation.all_nvidia_patents (./models/sdf_snowflake/cybersyn_tech_innovation/all_nvidia_patents.sql)
   Compiling sdf_snowflake.cybersyn_tech_innovation.most_starred_repos (./models/sdf_snowflake/cybersyn_tech_innovation/most_starred_repos.sql)
+  Compiling sdf_snowflake.cybersyn_tech_innovation.all_nvidia_patents (./models/sdf_snowflake/cybersyn_tech_innovation/all_nvidia_patents.sql)
   Compiling sdf_snowflake.staging.push_events (./models/sdf_snowflake/staging/push_events.sql)
+  Compiling sdf_snowflake.cybersyn_tech_innovation.funder_aggregates (./models/sdf_snowflake/cybersyn_tech_innovation/funder_aggregates.sql)
   Compiling sdf_snowflake.cybersyn_tech_innovation.events_by_repo (./models/sdf_snowflake/cybersyn_tech_innovation/events_by_repo.sql)
-   Finished 13 models [13 succeeded] in 1.774 secs
+   Finished 13 models [6 succeeded, 7 downloaded] in 1.761 secs
 
 
 
diff --git a/docs/integrations/snowflake/incremental-materialization.mdx b/docs/integrations/snowflake/incremental-materialization.mdx index 34a60b77..658700d2 100644 --- a/docs/integrations/snowflake/incremental-materialization.mdx +++ b/docs/integrations/snowflake/incremental-materialization.mdx @@ -50,7 +50,7 @@ When installing the Cybersyn dataset, make sure to grant the Snowflake role you' Working set 3 model files, 1 .sdf file Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.OPENALEX_FUNDERS_INDEX (schema)   Compiling sdf_snowflake.cybersyn_tech_innovation.funder_aggregates (./models/sdf_snowflake/cybersyn_tech_innovation/funder_aggregates.sql) -   Finished 2 models [2 succeeded] in 1.685 secs +   Finished 2 models [1 succeeded, 1 downloaded] in 1.609 secs Schema sdf_snowflake.cybersyn_tech_innovation.FUNDER_AGGREGATES ┌──────────────────────┬────────────────┬────────────┬──────────────────────────────────────────────────────────────────┐ @@ -137,7 +137,7 @@ Working set 4 model files, 1 .sdf file Downloading SDF_SNOWFLAKE.STAGING.DATAFUSION_PUSH_EVENTS (exists_remotely) Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_EVENTS (schema)   Compiling sdf_snowflake.staging.datafusion_push_events (./models/sdf_snowflake/staging/datafusion_push_events.sql) -   Finished 2 models [2 succeeded] in 2.181 secs +   Finished 2 models [1 succeeded, 1 downloaded] in 1.981 secs Schema sdf_snowflake.staging.DATAFUSION_PUSH_EVENTS ┌────────────────────────────────┬────────────────┬────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┐ @@ -350,16 +350,16 @@ Downloading SDF_SNOWFLAKE.CYBERSYN_TECH_INNOVATION.TOP_DATAFUSION_CONTRIBUT Downloading TECH__INNOVATION_ESSENTIALS.CYBERSYN.GITHUB_EVENTS (schema)   Compiling sdf_snowflake.staging.datafusion_push_events (./models/sdf_snowflake/staging/datafusion_push_events.sql)   Compiling sdf_snowflake.cybersyn_tech_innovation.top_datafusion_contributors (./models/sdf_snowflake/cybersyn_tech_innovation/top_datafusion_contributors.sql) -   Finished 3 models [3 succeeded] in 2.194 secs +   Finished 3 models [2 succeeded, 1 downloaded] in 2.059 secs Schema sdf_snowflake.cybersyn_tech_innovation.TOP_DATAFUSION_CONTRIBUTORS -┌─────────────────────┬────────────────┬────────────┬──────────────────────────────────────────────────────────────┐ -│ column_name         ┆ data_type      ┆ classifier ┆ description                                                  │ -╞═════════════════════╪════════════════╪════════════╪══════════════════════════════════════════════════════════════╡ -│ ACTOR_ID            ┆ decimal(38, 0) ┆            ┆ Unique identifier of the user or actor involved in the event │ -│ ACTOR_DISPLAY_LOGIN ┆ varchar        ┆            ┆ Display name of the user or actor involved in the event      │ -│ CONTRIBUTION_COUNT  ┆ decimal(38, 0) ┆            ┆                                                              │ -└─────────────────────┴────────────────┴────────────┴──────────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────┬────────────┬─────────────┐ +│ column_name         ┆ data_type      ┆ classifier ┆ description │ +╞═════════════════════╪════════════════╪════════════╪═════════════╡ +│ ACTOR_ID            ┆ decimal(38, 0) ┆            ┆             │ +│ ACTOR_DISPLAY_LOGIN ┆ varchar        ┆            ┆             │ +│ CONTRIBUTION_COUNT  ┆ decimal(38, 0) ┆            ┆             │ +└─────────────────────┴────────────────┴────────────┴─────────────┘
diff --git a/docs/introduction/getting-started.mdx b/docs/introduction/getting-started.mdx index 1260a31e..f0e63538 100644 --- a/docs/introduction/getting-started.mdx +++ b/docs/introduction/getting-started.mdx @@ -31,8 +31,6 @@ Commands:   new      Create a new sdf workspace   clean    Remove artifacts that sdf has generated in the past   compile  Compile models -  lint     Lint models -  format   Format models   run      Run models   test     Test your models   stats    Statistics for your data @@ -81,7 +79,7 @@ After running the command, you will see the following output:                  📚 Read the Docs to Get Started -> https://docs.sdf.com/          -   Finished new in 0.221 secs +   Finished new in 0.208 secs @@ -169,7 +167,7 @@ Let's see just how easy it is to set up SDF and run your first query. Working set 1 model file, 1 .sdf file   Compiling hello.pub.main (./models/main.sql) -   Finished 1 model [1 succeeded] in 0.767 secs +   Finished 1 model [1 succeeded] in 0.716 secs Schema hello.pub.main ┌─────────────┬──────────────────┬────────────┬─────────────┐ @@ -206,7 +204,7 @@ Schema hello.pub.main Working set 2 model files, 1 .sdf file   Compiling hello.pub.main (./models/main.sql)   Compiling hello.pub.main2 (./models/main2.sql) -   Finished 2 models [2 succeeded] in 0.767 secs +   Finished 2 models [2 succeeded] in 0.724 secs hello.pub.main2.message │ │ copy @@ -231,7 +229,7 @@ hello.pub.main2.message Working set 2 model files, 1 .sdf file     Running hello.pub.main (./models/main.sql)     Running hello.pub.main2 (./models/main2.sql) -   Finished 2 models [2 succeeded] in 0.745 secs +   Finished 2 models [2 succeeded] in 0.822 secs Table hello.pub.main ┌──────────────┐ diff --git a/docs/introduction/install.mdx b/docs/introduction/install.mdx index 0d50cd9b..94deda24 100644 --- a/docs/introduction/install.mdx +++ b/docs/introduction/install.mdx @@ -34,8 +34,6 @@ Commands:   new      Create a new sdf workspace   clean    Remove artifacts that sdf has generated in the past   compile  Compile models -  lint     Lint models -  format   Format models   run      Run models   test     Test your models   stats    Statistics for your data diff --git a/docs/reference/error-codes.mdx b/docs/reference/error-codes.mdx index 892d13c1..2b7adae1 100644 --- a/docs/reference/error-codes.mdx +++ b/docs/reference/error-codes.mdx @@ -62,8 +62,6 @@ These codes are grouped into ranges. Error codes pertain **only** to SQL stateme | 1043 | BuildError | | 1044 | UnimplementedFunction | | 1045 | NoTableFoundForPrefix | -| 1046 | AmbiguousSourceSchema | -| 1047 | UnsupportedLogicalPlanForLocalExecution | | 1500 | MacroUnsupportedValueType | | 1501 | JinjaError | | 1502 | MacroSyntaxError | @@ -74,7 +72,6 @@ These codes are grouped into ranges. Error codes pertain **only** to SQL stateme | 2001 | UnsupportedLocalExecutionDialect | | 3000 | SltParse | | 3001 | SltLimits | -| 3002 | SltConfig | | 8998 | InvalidDialect | | 8999 | RuntimeError | | 8997 | InvalidUserInput | diff --git a/docs/reference/sdf-cli.mdx b/docs/reference/sdf-cli.mdx index 1dbf0b36..9d0fac7b 100644 --- a/docs/reference/sdf-cli.mdx +++ b/docs/reference/sdf-cli.mdx @@ -13,8 +13,6 @@ This document contains the help content for the `sdf` command-line program. * [`sdf new`↴](#sdf-new) * [`sdf clean`↴](#sdf-clean) * [`sdf compile`↴](#sdf-compile) -* [`sdf lint`↴](#sdf-lint) -* [`sdf format`↴](#sdf-format) * [`sdf run`↴](#sdf-run) * [`sdf test`↴](#sdf-test) * [`sdf stats`↴](#sdf-stats) @@ -60,8 +58,6 @@ SDF: A fast SQL compiler, local development framework, and in-memory analytical * `new` — Create a new sdf workspace * `clean` — Remove artifacts that sdf has generated in the past * `compile` — Compile models -* `lint` — Lint models -* `format` — Format models * `run` — Run models * `test` — Test your models * `stats` — Statistics for your data @@ -208,168 +204,10 @@ Available warnings: - `capitalization-aliases=upper|lower|pascal|snake|camel|consistent`: Set capitalization style for aliases. - `type-implicit-conversions`: Warn about implicit type conversions. - `references-consistent`: Warn about consistent references. -- `inconsistent-schema`: Warn about schema inconsistency between local and remote schema. Default: on. -All warnings are by default turned off, unless specified. -## `sdf lint` - -Lint models - -**Usage:** `sdf lint [OPTIONS] [TARGETS]...` - -###### **Arguments:** - -* ` TARGETS ` — Lint only the given source dirs, and files with .sql extension [default: all model .sql files in workspace] - -###### **Options:** - -* `-e`, `--environment ENVIRONMENT ` — Use this environment -* `-s`, `--show SHOW ` — Display messages [default: progress if TARGETS is empty, all otherwise] - - Possible values: `all`, `progress`, `result`, `none` - -* `-q`, `--query QUERY ` — Supply a .sql file or provide a sql snippet on the cmd line, e.g. 'select * from t' -* `--stage STAGE ` — Run the following stages [default: all stages] - - Possible values: `preprocess`, `parse`, `lint`, `resolve`, `classify`, `execute` - -* `--cache CACHE ` — Controls cache use - - Default value: `read-write` - - Possible values: `read-write`, `write-only`, `read-only`, `none` - -* `--save SAVE ` — Controls which assets to save [default: none] - - Possible values: `info-schema`, `assembly`, `table-deps` - -* `--targets-only` — Processes only specified targets assuming that all the non-target dependencies already exist - - Default value: `false` -* `--vars VARS ` — Supply var bindings as a yml file or provide them as string e.g. '(key: value)' -* `--env-vars ENV_VARS ` — Supply env var bindings as a yml file or provide them as string e.g. '(key: value)' -* `--downstream` — Execute cmd not only the given targets but also for all its downstream artifacts - - Default value: `false` -* `--format FORMAT ` — Show error tables in this format - - Default value: `table` - - Possible values: `table`, `csv`, `tsv`, `json`, `nd-json`, `yml` - -* `--limit LIMIT ` — Limiting number of shown rows. Run with --limit 0 to remove limit -* `--prefer-local` — When set will minimize remote DB accesses and will rely on local schema information in .sdf.yml files - - Default value: `false` -* `--fix` — Fix the linting issues - - Default value: `false` -* `-w`, `--warnings WARNINGS ` — -Specify the warnings to apply. Example: `-w warning1 -w warning2`. Later options override former ones. - Legend: (*) This warning can be automatically fixed by sdf. - -Available Warnings -- `all`: Turn on all warnings. -- `none`: Turn off all warnings. -- `error`: Treat warnings as errors. - -Capitalization Settings -- `capitalization-keywords=upper|lower|pascal|snake|camel|consistent`: Set capitalization style for keywords. Default: consistent (*) -- `capitalization-literals=upper|lower|pascal|snake|camel|consistent`: Set capitalization style for literals. Default: consistent (*) -- `capitalization-types=upper|lower|pascal|snake|camel|consistent`: Set capitalization style for types. Default: consistent (*) -- `capitalization-functions=upper|lower|pascal|snake|camel|consistent`: Set capitalization style for functions. Default: consistent (*) - -Convention and Reference Settings: -- `convention-blocked-words= word `: Specify blocked words. -- `convention-terminator`: Warn about terminator conventions. (*) -- `references-keywords`: Warn about keyword references. -- `references-special-chars= char `: Warn about special character references. -- `references-quoting`: Warn about quoting references. (*) -- `references-qualification`: Warn about qualification references. -- `references-columns`: Warn about ambiguous column references. - -Structure-Specific Warnings: -- `structure-else-null`: Warn about ELSE NULL in structures. (*) -- `structure-simple-case`: Warn about simple CASE structures. (*) -- `structure-unused-cte`: Warn about unused CTEs. (*) -- `structure-nested-case`: Warn about nested CASE structures. -- `structure-distinct`: Warn about DISTINCT usage. (*) -- `structure-subquery`: Warn about subquery structures. -- `structure-join-condition-order`: Warn about join condition order. -- `structure-column-order`: Warn about column order in structures. - -More warnings available as part of sdf compile ... - - - - -## `sdf format` - -Format models - -**Usage:** `sdf format [OPTIONS] [TARGETS]...` - -###### **Arguments:** - -* ` TARGETS ` — Format the given .sql files or directories [default: all .sql files from the workspace/environment] - -###### **Options:** - -* `-e`, `--environment ENVIRONMENT ` — Use this environment -* `-s`, `--show SHOW ` — Display messages [default: progress if TARGETS is empty, all otherwise] - - Possible values: `all`, `progress`, `result`, `none` - -* `-q`, `--query QUERY ` — Supply a .sql file or provide a sql snippet on the cmd line, e.g. 'select * from t' -* `--stage STAGE ` — Run the following stages [default: all stages] - - Possible values: `preprocess`, `parse`, `lint`, `resolve`, `classify`, `execute` - -* `--cache CACHE ` — Controls cache use - - Default value: `read-write` - - Possible values: `read-write`, `write-only`, `read-only`, `none` - -* `--save SAVE ` — Controls which assets to save [default: none] - - Possible values: `info-schema`, `assembly`, `table-deps` - -* `--targets-only` — Processes only specified targets assuming that all the non-target dependencies already exist - - Default value: `false` -* `--vars VARS ` — Supply var bindings as a yml file or provide them as string e.g. '(key: value)' -* `--env-vars ENV_VARS ` — Supply env var bindings as a yml file or provide them as string e.g. '(key: value)' -* `--downstream` — Execute cmd not only the given targets but also for all its downstream artifacts - - Default value: `false` -* `--format FORMAT ` — Show error tables in this format - - Default value: `table` - - Possible values: `table`, `csv`, `tsv`, `json`, `nd-json`, `yml` - -* `--limit LIMIT ` — Limiting number of shown rows. Run with --limit 0 to remove limit -* `--prefer-local` — When set will minimize remote DB accesses and will rely on local schema information in .sdf.yml files - - Default value: `false` -* `-l`, `--layout LAYOUT ` — -Specify the layout options. Example: `-l layout1 -l layout2` - -Available layout options: -- `indent= number `: Set the number of spaces to indent. -- `commas=leading|trailing`: Set the comma layout. -- `line-length= number `: Set the line length. - -* `--check` - - Default value: `false` - - - ## `sdf run` Run models diff --git a/docs/reference/sdf-yml.mdx b/docs/reference/sdf-yml.mdx index 2375e466..50b48992 100644 --- a/docs/reference/sdf-yml.mdx +++ b/docs/reference/sdf-yml.mdx @@ -24,13 +24,11 @@ title: "SDF YML Schema" `name:` | [`String`](#nested-element-string)| The name of the table (syntax: [[catalog.]schema].table)

Note: this field is typed as a [QualifiedName] for serialization. In almost all cases you should use the [Self::fqn()] method to get the fully qualified [TableName] instead of accessing this field directly.| `description:` | `string?`| A description of this table| `dialect:` | [`Dialect?`](#enum-dialect)| The dialect of this table, defaults to undefinedtrinoundefined| -`casing-policy:` | [`CasingPolicy?`](#enum-casingpolicy)| Case normalization policy for names specified in this table| `materialization:` | [`Materialization?`](#enum-materialization)| The table-type of this table (new version)| `warehouse:` | `string?`| The warehouse where this table is computed| `purpose:` | [`TablePurpose?`](#enum-tablepurpose)| Specify what kind of table or view this is| `origin:` | [`TableOrigin`](#enum-tableorigin)| The origin of this table <remote> or <local>| `exists-remotely:` | `boolean?`| Whether the table exists in the remote DB (used for is_incremental macro)| -`exists-draft-remotely:` | `boolean?`| Whether the table exists in the remote DB (used for is_incremental macro)| `table-location:` | [`TableLocation?`](#enum-tablelocation)| Specify table ,location, defaults to none if not set| `creation-flags:` | [`TableCreationFlags?`](#enum-tablecreationflags)| Defines the table creation options, defaults to none if not set| `incremental-options:` | [`IncrementalOptions?`](#nested-element-incrementaloptions)| Options governing incremental table evaluation (only for incremental tables)| @@ -153,7 +151,6 @@ title: "SDF YML Schema" `vars:` | `object`| A map of named values for setting SQL variables from your environment Ex. -dt: dt, used in SQL as @dt, and in Jinja as | `source-locations:` | `array`| Workspace defined by these set of files| `preprocessor:` | [`PreprocessorType?`](#enum-preprocessortype)| Experimental: This project has jinja| -`dbt:` | [`DbtConfig?`](#nested-element-dbtconfig)| Configuration for dbt integration| ## Enum: `IncludeType` Value | Description| | :--- | :------- | @@ -177,26 +174,27 @@ Value | Description| `schema-table-name` | Table name is inferred from the file name without the extension. Schema is inferred from the directory name in which the file resides. Catalog is inferred from the `defaults` configuration. SDF assumes that a referenced table will reside in the directory/file with the corresponding schema/table name. As a result, only the required subset of files is parsed. This option is also fast, and it allows the schema to vary based on the directory name, but it still requires catalog to use the default values| `catalog-schema-table-name` | Table name is inferred from the file name without the extension. Schema is inferred from the directory name in which the file resides. Catalog is inferred from the directory name in which the schema directory resides. Defaults are not used. SDF assumes that a referenced table will reside in the catalog/schema/table file with the corresponding schema/catalog/table names. As a result, only the required subset of files is parsed. This option is also fast, and it provides the most flexibility as catalog, schema and table names can all vary| ## Enum: `Dialect` -Supported dialects in YAML files +Value | Description| +| :--- | :------- | +`trino` | undefined| +`snowflake` | Snowflake dialect with unnormalized column names -Note: this [Dialect] type is *only* meant for serializing to and from `.sdf.yml` files. For internal use, you should almost always use the semantic dialect type ([types::Dialect]) instead. +When this dialect is specified, column names will be automatically converted to uppercase. Use this dialect if - *all* column names in your database are case-normalized to uppercase, and - you want the column names in your YAML files to be case-insensitive. -Note specifically that the lack of a `.to_string()` method (i.e. [!Display]) on this type is intentional -- you must first convert this type to a [types::Dialect], by using either [Dialect::to_semantic_dialect] or [types::Dialect::from], before you can convert it to a string.. -Values | -| :--- | -`snowflake` -`trino` -`bigquery` -`redshift` -`spark-lp` -`sdf` -`databricks` -## Enum: `CasingPolicy` -Values | -| :--- | -`preserve` -`to-upper` -`to-lower` +If your table has lower-case or mixed-case column names, then this dialect will not work -- you *must* use [Dialect::Snowflake] instead. + +Note that the difference between this dialect and [Dialect::Snowflake] is limited to non-SQL sources *only* (e.g. `.sdf.yml` files, parquet/CSV files). For SQL files, these two dialects are identical. + +NOTE: the serialized form of this dialect is `snowflake`, for backward compatibility's sake:| +`snowflake_normalized` | Snowflake dialect with semantically accurate column names + +When this dialect is specified, column names will be left as-is. + +Users should be encouraged to use this dialect, as it is more accurate, with less potential for surprises. + +Note that the difference between this dialect and [Dialect::Snowflake] is limited to non-SQL sources *only* (e.g. `.sdf.yml` files, parquet/CSV files). For SQL files, these two dialects are identical. + +NOTE: the serialized form of this dialect is `snowflake_normalized`, for backward compatibility's sake:| ## Enum: `PreprocessorType` Values | | :--- | @@ -373,7 +371,6 @@ Values | | :---- | :--- | :------- | `environment:` | [`String?`](#nested-element-string)| The default environment (can only be set on the level of the workspace)| `dialect:` | [`Dialect?`](#enum-dialect)| The dialect of this environment. If not set, defaults to trino| -`casing-policy:` | [`CasingPolicy?`](#enum-casingpolicy)| Case normalization policy for names| `preprocessor:` | [`PreprocessorType?`](#enum-preprocessortype)| The preprocessor for this environment. If not set, defaults to local| `catalog:` | [`String?`](#nested-element-string)| Defines a default catalog. If not set, defaults to the (catalog/workspace) name in an outer scope| `schema:` | [`String?`](#nested-element-string)| Defines a default schema, If not set, defaults to the schema name in an outer scope, if not set, defaults to 'pub'| @@ -463,7 +460,6 @@ Values | `profile:` | [`String?`](#nested-element-string)| The dbt profile to use| `target:` | [`String?`](#nested-element-string)| The dbt target for the profile| `auto-parse:` | `boolean`| Automatically Run Parse in-between commands (default: true)| -`disable-introspection:` | `boolean`| Disable introspection (default: false)| ### Nested element: `IncrementalOptions` |Field | Type | Description| | :---- | :--- | :------- | diff --git a/docs/reference/snowflake/window_functions.mdx b/docs/reference/snowflake/window_functions.mdx index 3b417b62..09e483bf 100644 --- a/docs/reference/snowflake/window_functions.mdx +++ b/docs/reference/snowflake/window_functions.mdx @@ -46,7 +46,6 @@ Returns the first value of a column *Supported Signatures* ```sql function first_value($1) returns $1 -function first_value($1, integer) returns $1 ``` [🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/first_value) @@ -67,7 +66,6 @@ Returns the last value of a column *Supported Signatures* ```sql function last_value($1) returns $1 -function last_value($1, integer) returns $1 ``` [🔗 Official Documentation](https://docs.snowflake.com/en/sql-reference/functions/last_value) diff --git a/docs/tutorials/creating-a-model.mdx b/docs/tutorials/creating-a-model.mdx index dc84cefc..95978501 100644 --- a/docs/tutorials/creating-a-model.mdx +++ b/docs/tutorials/creating-a-model.mdx @@ -104,8 +104,8 @@ Init for run commands: Working set 11 model files, 22 .sdf files   Compiling moms_flower_shop.raw.raw_addresses (./models/raw/raw_addresses.sql)   Compiling moms_flower_shop.raw.raw_inapp_events (./models/raw/raw_inapp_events.sql) -  Compiling moms_flower_shop.raw.raw_customers (./models/raw/raw_customers.sql)   Compiling moms_flower_shop.raw.raw_marketing_campaign_events (./models/raw/raw_marketing_campaign_events.sql) +  Compiling moms_flower_shop.raw.raw_customers (./models/raw/raw_customers.sql)   Compiling moms_flower_shop.staging.inapp_events (./models/staging/inapp_events.sql)   Compiling moms_flower_shop.staging.marketing_campaigns (./models/staging/marketing_campaigns.sql)   Compiling moms_flower_shop.staging.app_installs (./models/staging/app_installs.sql) @@ -113,7 +113,7 @@ Working set 11 model files, 22 .sdf files   Compiling moms_flower_shop.analytics.agg_installs_and_campaigns (./models/analytics/agg_installs_and_campaigns.sql)   Compiling moms_flower_shop.staging.customers (./models/staging/customers.sql)   Compiling moms_flower_shop.staging.stg_installs_per_campaign (./models/staging/stg_installs_per_campaign.sql) -   Finished 11 models [11 succeeded] in 0.807 secs +   Finished 11 models [11 succeeded] in 0.779 secs
@@ -138,14 +138,14 @@ Working set 11 model files, 22 .sdf files
 
 Working set 12 model files, 15 .sdf files
-    Running moms_flower_shop.raw.raw_inapp_events (./models/raw/raw_inapp_events.sql)
     Running moms_flower_shop.raw.raw_marketing_campaign_events (./models/raw/raw_marketing_campaign_events.sql)
+    Running moms_flower_shop.raw.raw_inapp_events (./models/raw/raw_inapp_events.sql)
     Running moms_flower_shop.staging.marketing_campaigns (./models/staging/marketing_campaigns.sql)
     Running moms_flower_shop.staging.inapp_events (./models/staging/inapp_events.sql)
     Running moms_flower_shop.staging.app_installs (./models/staging/app_installs.sql)
     Running moms_flower_shop.staging.stg_installs_per_campaign (./models/staging/stg_installs_per_campaign.sql)
     Running moms_flower_shop.analytics.dim_marketing_campaigns (./models/analytics/dim_marketing_campaigns.sql)
-   Finished 7 models [7 succeeded] in 0.869 secs
+   Finished 7 models [7 succeeded] in 0.883 secs
 
 Table moms_flower_shop.analytics.dim_marketing_campaigns
 ┌─────────────┬─────────────────────────────────┬────────────────────┬───────────────────────────────┬────────────────────────┐
diff --git a/docs/tutorials/debugging.mdx b/docs/tutorials/debugging.mdx
index 9fd58811..1e8f1ae9 100644
--- a/docs/tutorials/debugging.mdx
+++ b/docs/tutorials/debugging.mdx
@@ -153,7 +153,7 @@ moms_flower_shop.staging.customers.campaign_id
 Working set 12 model files, 15 .sdf files
   Compiling moms_flower_shop.staging.stg_installs_per_campaign (./models/staging/stg_installs_per_campaign.sql)
   Compiling moms_flower_shop.analytics.dim_marketing_campaigns (./models/analytics/dim_marketing_campaigns.sql)
-   Finished 11 models [2 succeeded, 9 reused] in 0.802 secs
+   Finished 11 models [2 succeeded, 9 reused] in 0.747 secs
 
 
 
@@ -204,14 +204,14 @@ moms_flower_shop.staging.stg_installs_per_campaign.total_num_installs
 
 Working set 12 model files, 15 .sdf files
-    Running moms_flower_shop.raw.raw_marketing_campaign_events (./models/raw/raw_marketing_campaign_events.sql)
     Running moms_flower_shop.raw.raw_inapp_events (./models/raw/raw_inapp_events.sql)
+    Running moms_flower_shop.raw.raw_marketing_campaign_events (./models/raw/raw_marketing_campaign_events.sql)
     Running moms_flower_shop.staging.marketing_campaigns (./models/staging/marketing_campaigns.sql)
     Running moms_flower_shop.staging.inapp_events (./models/staging/inapp_events.sql)
     Running moms_flower_shop.staging.app_installs_v2 (./models/staging/app_installs_v2.sql)
     Running moms_flower_shop.staging.stg_installs_per_campaign (./models/staging/stg_installs_per_campaign.sql)
     Running moms_flower_shop.analytics.dim_marketing_campaigns (./models/analytics/dim_marketing_campaigns.sql)
-   Finished 7 models [7 succeeded] in 0.878 secs
+   Finished 7 models [7 succeeded] in 0.889 secs
 
 Table moms_flower_shop.analytics.dim_marketing_campaigns
 ┌─────────────┬─────────────────────────────────┬────────────────────┬───────────────────────────────┬────────────────────────┐
@@ -225,8 +225,8 @@ Table moms_flower_shop.analytics.dim_marketing_campaigns
 │ 19          ┆ friends_referrals_19_3f4a9d9fc3 ┆ 26                 ┆ 59.38710281622366             ┆ 0                      │
 │ 11          ┆ google_search_11_56e2a09ed5     ┆ 19                 ┆ 58.38329050623466             ┆ 0                      │
 │ 4           ┆ friends_referrals_4_c554b77114  ┆ 17                 ┆ 163.69881288433993            ┆ 1                      │
-│ 17          ┆ google_search_17_a400715565     ┆ 15                 ┆ 147.1283543422433             ┆ 1                      │
 │ 22          ┆ friends_referrals_22_69b6886d4a ┆ 15                 ┆ 116.4817634058549             ┆ 0                      │
+│ 17          ┆ google_search_17_a400715565     ┆ 15                 ┆ 147.1283543422433             ┆ 1                      │
 └─────────────┴─────────────────────────────────┴────────────────────┴───────────────────────────────┴────────────────────────┘
 114 rows, showing only 10 rows.
   Run with --limit 0 to show all rows.
diff --git a/docs/tutorials/deprecating-a-model.mdx b/docs/tutorials/deprecating-a-model.mdx
index e81ea7d8..254fc584 100644
--- a/docs/tutorials/deprecating-a-model.mdx
+++ b/docs/tutorials/deprecating-a-model.mdx
@@ -135,10 +135,10 @@ Schema moms_flower_shop.staging.app_installs
 ┌───────────────┬───────────┬────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │ column_name   ┆ data_type ┆ classifier ┆ description                                                                                                                                  │
 ╞═══════════════╪═══════════╪════════════╪══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
-│ event_id      ┆ bigint    ┆            ┆                                                                                                                                              │
-│ customer_id   ┆ bigint    ┆            ┆ The identifier of the customer that performed the event                                                                                      │
+│ event_id      ┆ bigint    ┆            ┆ A unique identifier of the marketing campaign event                                                                                          │
+│ customer_id   ┆ bigint    ┆            ┆                                                                                                                                              │
 │ install_time  ┆ timestamp ┆            ┆                                                                                                                                              │
-│ platform      ┆ varchar   ┆            ┆ iOS or Android                                                                                                                               │
+│ platform      ┆ varchar   ┆            ┆                                                                                                                                              │
 │ campaign_id   ┆ bigint    ┆            ┆ The identifier of the campaign that is associated with the event                                                                             │
 │ campaign_name ┆ varchar   ┆            ┆ The campaign name associated with the campaign_id                                                                                            │
 │ campaign_type ┆ varchar   ┆            ┆ A substring of the campaign name contain the campaign type.  Supported types - instagram_ads, friends_referrals, facebook_ads, google_search │
diff --git a/docs/tutorials/enriching-your-warehouse.mdx b/docs/tutorials/enriching-your-warehouse.mdx
index 84de3987..88739bf5 100644
--- a/docs/tutorials/enriching-your-warehouse.mdx
+++ b/docs/tutorials/enriching-your-warehouse.mdx
@@ -132,15 +132,15 @@ Init for run commands:
 
 
 Schema moms_flower_shop.analytics.dim_marketing_campaigns
-┌───────────────────────────────┬───────────┬─────────────┬──────────────────────────────────────────────────────────────────┐
-│ column_name                   ┆ data_type ┆ classifier  ┆ description                                                      │
-╞═══════════════════════════════╪═══════════╪═════════════╪══════════════════════════════════════════════════════════════════╡
-│ campaign_id                   ┆ bigint    ┆             ┆ The identifier of the campaign that is associated with the event │
-│ campaign_name                 ┆ varchar   ┆             ┆ The campaign name associated with the campaign_id                │
-│ total_num_installs            ┆ bigint    ┆ EVENT.inapp ┆                                                                  │
-│ avg_customer_acquisition_cost ┆ double    ┆ EVENT.inapp ┆                                                                  │
-│ install_duration_ratio        ┆ bigint    ┆ EVENT.inapp ┆                                                                  │
-└───────────────────────────────┴───────────┴─────────────┴──────────────────────────────────────────────────────────────────┘
+┌───────────────────────────────┬───────────┬─────────────┬─────────────┐
+│ column_name                   ┆ data_type ┆ classifier  ┆ description │
+╞═══════════════════════════════╪═══════════╪═════════════╪═════════════╡
+│ campaign_id                   ┆ bigint    ┆             ┆             │
+│ campaign_name                 ┆ varchar   ┆             ┆             │
+│ total_num_installs            ┆ bigint    ┆ EVENT.inapp ┆             │
+│ avg_customer_acquisition_cost ┆ double    ┆ EVENT.inapp ┆             │
+│ install_duration_ratio        ┆ bigint    ┆ EVENT.inapp ┆             │
+└───────────────────────────────┴───────────┴─────────────┴─────────────┘
 
 
 
@@ -162,10 +162,10 @@ Schema moms_flower_shop.staging.app_installs ┌───────────────┬───────────┬─────────────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ column_name   ┆ data_type ┆ classifier                  ┆ description                                                                                                                                  │ ╞═══════════════╪═══════════╪═════════════════════════════╪══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡ -│ event_id      ┆ bigint    ┆ EVENT.inapp EVENT.marketing ┆                                                                                                                                              │ -│ customer_id   ┆ bigint    ┆                             ┆ The identifier of the customer that performed the event                                                                                      │ +│ event_id      ┆ bigint    ┆ EVENT.inapp EVENT.marketing ┆ A unique identifier of the marketing campaign event                                                                                          │ +│ customer_id   ┆ bigint    ┆                             ┆                                                                                                                                              │ │ install_time  ┆ timestamp ┆                             ┆                                                                                                                                              │ -│ platform      ┆ varchar   ┆                             ┆ iOS or Android                                                                                                                               │ +│ platform      ┆ varchar   ┆                             ┆                                                                                                                                              │ │ campaign_id   ┆ bigint    ┆                             ┆ The identifier of the campaign that is associated with the event                                                                             │ │ campaign_name ┆ varchar   ┆                             ┆ The campaign name associated with the campaign_id                                                                                            │ │ campaign_type ┆ varchar   ┆                             ┆ A substring of the campaign name contain the campaign type.  Supported types - instagram_ads, friends_referrals, facebook_ads, google_search │ @@ -267,23 +267,22 @@ to monitor your warehouse's health and compliance. Schema moms_flower_shop.staging.customers -┌───────────────┬───────────┬─────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ column_name   ┆ data_type ┆ classifier  ┆ description                                                                                                                                  │ -╞═══════════════╪═══════════╪═════════════╪══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╡ -│ customer_id   ┆ bigint    ┆             ┆ A unique identifier of a mom's floewr shop customer                                                                                          │ -│ first_name    ┆ varchar   ┆ PII.name    ┆ The first name of the customer                                                                                                               │ -│ last_name     ┆ varchar   ┆ PII.name    ┆ The last name of the customer                                                                                                                │ -│ full_name     ┆ varchar   ┆ PII.name    ┆                                                                                                                                              │ -│ email         ┆ varchar   ┆ PII.email   ┆ The emial of the customer                                                                                                                    │ -│ gender        ┆ varchar   ┆ PII.gender  ┆ The gender of the customer                                                                                                                   │ -│ campaign_id   ┆ bigint    ┆             ┆ The identifier of the campaign that is associated with the event                                                                             │ -│ campaign_name ┆ varchar   ┆             ┆ The campaign name associated with the campaign_id                                                                                            │ -│ campaign_type ┆ varchar   ┆             ┆ A substring of the campaign name contain the campaign type.  Supported types - instagram_ads, friends_referrals, facebook_ads, google_search │ -│               ┆           ┆             ┆                                                                                                                                              │ -│ address_id    ┆ bigint    ┆ PII.address ┆ The address_id of the address associated with the customer                                                                                   │ -│ full_address  ┆ varchar   ┆             ┆ The full address associated with the address_id                                                                                              │ -│ state         ┆ varchar   ┆             ┆ The address US state associated with the address_id                                                                                          │ -└───────────────┴───────────┴─────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ +┌───────────────┬───────────┬─────────────┬────────────────────────────────────────────────────────────┐ +│ column_name   ┆ data_type ┆ classifier  ┆ description                                                │ +╞═══════════════╪═══════════╪═════════════╪════════════════════════════════════════════════════════════╡ +│ customer_id   ┆ bigint    ┆             ┆ A unique identifier of a mom's floewr shop customer        │ +│ first_name    ┆ varchar   ┆ PII.name    ┆ The first name of the customer                             │ +│ last_name     ┆ varchar   ┆ PII.name    ┆ The last name of the customer                              │ +│ full_name     ┆ varchar   ┆ PII.name    ┆                                                            │ +│ email         ┆ varchar   ┆ PII.email   ┆ The emial of the customer                                  │ +│ gender        ┆ varchar   ┆ PII.gender  ┆ The gender of the customer                                 │ +│ campaign_id   ┆ bigint    ┆             ┆                                                            │ +│ campaign_name ┆ varchar   ┆             ┆                                                            │ +│ campaign_type ┆ varchar   ┆             ┆                                                            │ +│ address_id    ┆ bigint    ┆ PII.address ┆ The address_id of the address associated with the customer │ +│ full_address  ┆ varchar   ┆             ┆ The full address associated with the address_id            │ +│ state         ┆ varchar   ┆             ┆ The address US state associated with the address_id        │ +└───────────────┴───────────┴─────────────┴────────────────────────────────────────────────────────────┘ @@ -376,15 +375,15 @@ Schema moms_flower_shop.raw.raw_addresses Schema moms_flower_shop.analytics.dim_marketing_campaigns        [RETENTION.infinity] -┌───────────────────────────────┬───────────┬─────────────┬──────────────────────────────────────────────────────────────────┐ -│ column_name                   ┆ data_type ┆ classifier  ┆ description                                                      │ -╞═══════════════════════════════╪═══════════╪═════════════╪══════════════════════════════════════════════════════════════════╡ -│ campaign_id                   ┆ bigint    ┆             ┆ The identifier of the campaign that is associated with the event │ -│ campaign_name                 ┆ varchar   ┆             ┆ The campaign name associated with the campaign_id                │ -│ total_num_installs            ┆ bigint    ┆ EVENT.inapp ┆                                                                  │ -│ avg_customer_acquisition_cost ┆ double    ┆ EVENT.inapp ┆                                                                  │ -│ install_duration_ratio        ┆ bigint    ┆ EVENT.inapp ┆                                                                  │ -└───────────────────────────────┴───────────┴─────────────┴──────────────────────────────────────────────────────────────────┘ +┌───────────────────────────────┬───────────┬─────────────┬─────────────┐ +│ column_name                   ┆ data_type ┆ classifier  ┆ description │ +╞═══════════════════════════════╪═══════════╪═════════════╪═════════════╡ +│ campaign_id                   ┆ bigint    ┆             ┆             │ +│ campaign_name                 ┆ varchar   ┆             ┆             │ +│ total_num_installs            ┆ bigint    ┆ EVENT.inapp ┆             │ +│ avg_customer_acquisition_cost ┆ double    ┆ EVENT.inapp ┆             │ +│ install_duration_ratio        ┆ bigint    ┆ EVENT.inapp ┆             │ +└───────────────────────────────┴───────────┴─────────────┴─────────────┘ diff --git a/docs/tutorials/script_test.mdx b/docs/tutorials/script_test.mdx index 8df0e318..ddef197a 100644 --- a/docs/tutorials/script_test.mdx +++ b/docs/tutorials/script_test.mdx @@ -10,19 +10,19 @@ Not an error:
 
 Working set 12 model files, 24 .sdf files
-    Running moms_flower_shop.raw.raw_customers (./models/raw/raw_customers.sql)
+    Running moms_flower_shop.raw.raw_marketing_campaign_events (./models/raw/raw_marketing_campaign_events.sql)
     Running moms_flower_shop.raw.raw_inapp_events (./models/raw/raw_inapp_events.sql)
     Running moms_flower_shop.raw.raw_addresses (./models/raw/raw_addresses.sql)
-    Running moms_flower_shop.raw.raw_marketing_campaign_events (./models/raw/raw_marketing_campaign_events.sql)
+    Running moms_flower_shop.raw.raw_customers (./models/raw/raw_customers.sql)
     Running moms_flower_shop.staging.inapp_events (./models/staging/inapp_events.sql)
     Running moms_flower_shop.staging.marketing_campaigns (./models/staging/marketing_campaigns.sql)
     Running moms_flower_shop.staging.app_installs (./models/staging/app_installs.sql)
     Running moms_flower_shop.staging.app_installs_v2 (./models/staging/app_installs_v2.sql)
     Running moms_flower_shop.analytics.agg_installs_and_campaigns (./models/analytics/agg_installs_and_campaigns.sql)
-    Running moms_flower_shop.staging.stg_installs_per_campaign (./models/staging/stg_installs_per_campaign.sql)
     Running moms_flower_shop.staging.customers (./models/staging/customers.sql)
+    Running moms_flower_shop.staging.stg_installs_per_campaign (./models/staging/stg_installs_per_campaign.sql)
     Running moms_flower_shop.analytics.dim_marketing_campaigns (./models/analytics/dim_marketing_campaigns.sql)
-   Finished 12 models [12 succeeded] in 0.942 secs
+   Finished 12 models [12 succeeded] in 0.981 secs
 
 
 
@@ -33,15 +33,15 @@ Working set 12 model files, 24 .sdf files Schema moms_flower_shop.analytics.dim_marketing_campaigns -┌───────────────────────────────┬───────────┬────────────┬──────────────────────────────────────────────────────────────────┐ -│ column_name                   ┆ data_type ┆ classifier ┆ description                                                      │ -╞═══════════════════════════════╪═══════════╪════════════╪══════════════════════════════════════════════════════════════════╡ -│ campaign_id                   ┆ bigint    ┆            ┆ The identifier of the campaign that is associated with the event │ -│ campaign_name                 ┆ varchar   ┆            ┆ The campaign name associated with the campaign_id                │ -│ total_num_installs            ┆ bigint    ┆            ┆                                                                  │ -│ avg_customer_acquisition_cost ┆ double    ┆            ┆                                                                  │ -│ install_duration_ratio        ┆ bigint    ┆            ┆                                                                  │ -└───────────────────────────────┴───────────┴────────────┴──────────────────────────────────────────────────────────────────┘ +┌───────────────────────────────┬───────────┬────────────┬─────────────┐ +│ column_name                   ┆ data_type ┆ classifier ┆ description │ +╞═══════════════════════════════╪═══════════╪════════════╪═════════════╡ +│ campaign_id                   ┆ bigint    ┆            ┆             │ +│ campaign_name                 ┆ varchar   ┆            ┆             │ +│ total_num_installs            ┆ bigint    ┆            ┆             │ +│ avg_customer_acquisition_cost ┆ double    ┆            ┆             │ +│ install_duration_ratio        ┆ bigint    ┆            ┆             │ +└───────────────────────────────┴───────────┴────────────┴─────────────┘ diff --git a/docs/tutorials/tutorials-intro.mdx b/docs/tutorials/tutorials-intro.mdx index bb0dc7bb..d7396469 100644 --- a/docs/tutorials/tutorials-intro.mdx +++ b/docs/tutorials/tutorials-intro.mdx @@ -227,12 +227,12 @@ Table moms_flower_shop.raw.raw_customers Working set 11 model files, 22 .sdf files   Compiling moms_flower_shop.staging.inapp_events (./models/staging/inapp_events.sql)   Compiling moms_flower_shop.staging.marketing_campaigns (./models/staging/marketing_campaigns.sql) -  Compiling moms_flower_shop.staging.app_installs_v2 (./models/staging/app_installs_v2.sql)   Compiling moms_flower_shop.staging.app_installs (./models/staging/app_installs.sql) +  Compiling moms_flower_shop.staging.app_installs_v2 (./models/staging/app_installs_v2.sql)   Compiling moms_flower_shop.analytics.agg_installs_and_campaigns (./models/analytics/agg_installs_and_campaigns.sql)   Compiling moms_flower_shop.staging.customers (./models/staging/customers.sql)   Compiling moms_flower_shop.staging.stg_installs_per_campaign (./models/staging/stg_installs_per_campaign.sql) -   Finished 11 models [7 succeeded, 4 reused] in 0.843 secs +   Finished 11 models [7 succeeded, 4 reused] in 0.851 secs @@ -258,10 +258,10 @@ Working set 11 model files, 22 .sdf files
 
 Working set 11 model files, 22 .sdf files
-  Compiling moms_flower_shop.raw.raw_addresses (./models/raw/raw_addresses.sql)
-  Compiling moms_flower_shop.raw.raw_customers (./models/raw/raw_customers.sql)
-  Compiling moms_flower_shop.raw.raw_marketing_campaign_events (./models/raw/raw_marketing_campaign_events.sql)
   Compiling moms_flower_shop.raw.raw_inapp_events (./models/raw/raw_inapp_events.sql)
+  Compiling moms_flower_shop.raw.raw_marketing_campaign_events (./models/raw/raw_marketing_campaign_events.sql)
+  Compiling moms_flower_shop.raw.raw_customers (./models/raw/raw_customers.sql)
+  Compiling moms_flower_shop.raw.raw_addresses (./models/raw/raw_addresses.sql)
   Compiling moms_flower_shop.staging.inapp_events (./models/staging/inapp_events.sql)
   Compiling moms_flower_shop.staging.marketing_campaigns (./models/staging/marketing_campaigns.sql)
   Compiling moms_flower_shop.staging.app_installs (./models/staging/app_installs.sql)
@@ -269,7 +269,7 @@ Working set 11 model files, 22 .sdf files
   Compiling moms_flower_shop.analytics.agg_installs_and_campaigns (./models/analytics/agg_installs_and_campaigns.sql)
   Compiling moms_flower_shop.staging.customers (./models/staging/customers.sql)
   Compiling moms_flower_shop.staging.stg_installs_per_campaign (./models/staging/stg_installs_per_campaign.sql)
-   Finished 11 models [11 succeeded] in 0.815 secs
+   Finished 11 models [11 succeeded] in 0.797 secs