Is it possible to configure the test run so that "...
# ask-elementary-ai
a
Is it possible to configure the test run so that "temporary" tables are created instead of "transient" ones?
k
A message from kapa.ai
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:
Copy code
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.