Based on the knowledge sources, I need to clarify that Elementary creates different types of tables depending on your data warehouse, and the terminology can vary: ## Current Behavior Elementary creates temporary test tables during test runs. However, the implementation differs by warehouse: -
Snowflake: The tables are created as
transient tables (not temporary tables in the SQL sense), which is why you're seeing them persist [as discussed in this Slack thread](
https://slack.com/archives/C02CTC89LAX/p1706195110444749). -
Databricks: Only permanent managed tables can be created since [Databricks doesn't support temp tables](
https://slack.com/archives/C02CTC89LAX/p1685097367889679), only temp views. -
BigQuery: Temporary tables are created with expiration times [as mentioned here](
https://slack.com/archives/C02CTC89LAX/p1684349983650899). ## Configuration Options The knowledge sources do not explicitly mention a configuration option to change from "transient" to "temporary" tables in Snowflake. However, there is a configuration to control whether temp tables are used at all:
yaml vars: tests_use_temp_tables: false
This was mentioned in [this Slack discussion](
https://slack.com/archives/C02CTC89LAX/p1690793904162039) where a user disabled temp table usage entirely. ## Cleanup Elementary is designed to automatically delete these temporary/transient tables during the
on_run_end
hook, though [there have been issues where this doesn't always happen](
https://slack.com/archives/C02CTC89LAX/p1706195110444749). According to the knowledge sources, [this cleanup functionality has been implemented](
https://github.com/elementary-data/elementary/issues/937) and you can safely delete these tables after runs complete. The knowledge sources do not contain information about a specific configuration to force SQL temporary tables instead of transient tables in Snowflake.