dbt-adapters 1.12.0__tar.gz → 1.13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dbt-adapters might be problematic. Click here for more details.

Files changed (166) hide show
  1. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/PKG-INFO +1 -1
  2. dbt_adapters-1.13.0/dbt/adapters/__about__.py +1 -0
  3. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/impl.py +40 -37
  4. dbt_adapters-1.13.0/dbt/include/global_project/macros/adapters/freshness.sql +32 -0
  5. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/show.sql +1 -1
  6. dbt_adapters-1.12.0/dbt/adapters/__about__.py +0 -1
  7. dbt_adapters-1.12.0/dbt/include/global_project/macros/adapters/freshness.sql +0 -16
  8. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/.gitignore +0 -0
  9. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/LICENSE +0 -0
  10. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/README.md +0 -0
  11. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/__init__.py +0 -0
  12. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/__init__.py +0 -0
  13. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/README.md +0 -0
  14. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/__init__.py +0 -0
  15. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/column.py +0 -0
  16. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/connections.py +0 -0
  17. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/meta.py +0 -0
  18. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/plugin.py +0 -0
  19. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/query_headers.py +0 -0
  20. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/base/relation.py +0 -0
  21. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/cache.py +0 -0
  22. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/capability.py +0 -0
  23. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/clients/__init__.py +0 -0
  24. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/clients/jinja.py +0 -0
  25. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/contracts/__init__.py +0 -0
  26. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/contracts/connection.py +0 -0
  27. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/contracts/macros.py +0 -0
  28. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/contracts/relation.py +0 -0
  29. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/events/README.md +0 -0
  30. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/events/__init__.py +0 -0
  31. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/events/adapter_types.proto +0 -0
  32. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/events/adapter_types_pb2.py +0 -0
  33. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/events/base_types.py +0 -0
  34. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/events/logging.py +0 -0
  35. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/events/types.py +0 -0
  36. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/exceptions/__init__.py +0 -0
  37. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/exceptions/alias.py +0 -0
  38. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/exceptions/cache.py +0 -0
  39. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/exceptions/compilation.py +0 -0
  40. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/exceptions/connection.py +0 -0
  41. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/exceptions/database.py +0 -0
  42. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/factory.py +0 -0
  43. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/protocol.py +0 -0
  44. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/py.typed +0 -0
  45. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/__init__.py +0 -0
  46. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/cursor/cursor.py +0 -0
  47. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/cursor/description.py +0 -0
  48. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/cursor/execute.py +0 -0
  49. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/cursor/fetchall.py +0 -0
  50. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/cursor/fetchmany.py +0 -0
  51. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/cursor/fetchone.py +0 -0
  52. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/cursor/rowcount.py +0 -0
  53. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/record/handle.py +0 -0
  54. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/reference_keys.py +0 -0
  55. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/relation_configs/README.md +0 -0
  56. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/relation_configs/__init__.py +0 -0
  57. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/relation_configs/config_base.py +0 -0
  58. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/relation_configs/config_change.py +0 -0
  59. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/relation_configs/config_validation.py +0 -0
  60. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/sql/__init__.py +0 -0
  61. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/sql/connections.py +0 -0
  62. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/sql/impl.py +0 -0
  63. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/adapters/utils.py +0 -0
  64. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/__init__.py +0 -0
  65. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/__init__.py +0 -0
  66. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/dbt_project.yml +0 -0
  67. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/docs/overview.md +0 -0
  68. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/apply_grants.sql +0 -0
  69. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/columns.sql +0 -0
  70. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/indexes.sql +0 -0
  71. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/metadata.sql +0 -0
  72. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/persist_docs.sql +0 -0
  73. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/relation.sql +0 -0
  74. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/schema.sql +0 -0
  75. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/timestamps.sql +0 -0
  76. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/adapters/validate_sql.sql +0 -0
  77. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/etc/datetime.sql +0 -0
  78. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/etc/statement.sql +0 -0
  79. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/generic_test_sql/accepted_values.sql +0 -0
  80. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/generic_test_sql/not_null.sql +0 -0
  81. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/generic_test_sql/relationships.sql +0 -0
  82. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/generic_test_sql/unique.sql +0 -0
  83. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/get_custom_name/get_custom_alias.sql +0 -0
  84. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/get_custom_name/get_custom_database.sql +0 -0
  85. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/get_custom_name/get_custom_schema.sql +0 -0
  86. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/configs.sql +0 -0
  87. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/hooks.sql +0 -0
  88. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/clone/can_clone_table.sql +0 -0
  89. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/clone/clone.sql +0 -0
  90. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql +0 -0
  91. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql +0 -0
  92. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/incremental/incremental.sql +0 -0
  93. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql +0 -0
  94. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/incremental/merge.sql +0 -0
  95. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql +0 -0
  96. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/incremental/strategies.sql +0 -0
  97. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/materialized_view.sql +0 -0
  98. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/table.sql +0 -0
  99. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/models/view.sql +0 -0
  100. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/seeds/helpers.sql +0 -0
  101. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/seeds/seed.sql +0 -0
  102. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/snapshots/helpers.sql +0 -0
  103. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/snapshots/snapshot.sql +0 -0
  104. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql +0 -0
  105. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/snapshots/strategies.sql +0 -0
  106. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/tests/helpers.sql +0 -0
  107. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/tests/test.sql +0 -0
  108. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/tests/unit.sql +0 -0
  109. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/materializations/tests/where_subquery.sql +0 -0
  110. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/python_model/python.sql +0 -0
  111. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/column/columns_spec_ddl.sql +0 -0
  112. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/create.sql +0 -0
  113. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/create_backup.sql +0 -0
  114. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/create_intermediate.sql +0 -0
  115. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/drop.sql +0 -0
  116. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/drop_backup.sql +0 -0
  117. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/materialized_view/alter.sql +0 -0
  118. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/materialized_view/create.sql +0 -0
  119. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/materialized_view/drop.sql +0 -0
  120. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/materialized_view/refresh.sql +0 -0
  121. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/materialized_view/rename.sql +0 -0
  122. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/materialized_view/replace.sql +0 -0
  123. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/rename.sql +0 -0
  124. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/rename_intermediate.sql +0 -0
  125. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/replace.sql +0 -0
  126. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/schema.sql +0 -0
  127. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/table/create.sql +0 -0
  128. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/table/drop.sql +0 -0
  129. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/table/rename.sql +0 -0
  130. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/table/replace.sql +0 -0
  131. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/view/create.sql +0 -0
  132. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/view/drop.sql +0 -0
  133. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/view/rename.sql +0 -0
  134. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/relations/view/replace.sql +0 -0
  135. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql +0 -0
  136. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/any_value.sql +0 -0
  137. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/array_append.sql +0 -0
  138. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/array_concat.sql +0 -0
  139. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/array_construct.sql +0 -0
  140. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/bool_or.sql +0 -0
  141. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/cast.sql +0 -0
  142. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/cast_bool_to_text.sql +0 -0
  143. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/concat.sql +0 -0
  144. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/data_types.sql +0 -0
  145. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/date.sql +0 -0
  146. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/date_spine.sql +0 -0
  147. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/date_trunc.sql +0 -0
  148. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/dateadd.sql +0 -0
  149. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/datediff.sql +0 -0
  150. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/escape_single_quotes.sql +0 -0
  151. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/except.sql +0 -0
  152. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/generate_series.sql +0 -0
  153. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/hash.sql +0 -0
  154. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/intersect.sql +0 -0
  155. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/last_day.sql +0 -0
  156. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/length.sql +0 -0
  157. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/listagg.sql +0 -0
  158. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/literal.sql +0 -0
  159. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/position.sql +0 -0
  160. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/replace.sql +0 -0
  161. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/right.sql +0 -0
  162. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/safe_cast.sql +0 -0
  163. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/macros/utils/split_part.sql +0 -0
  164. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/global_project/tests/generic/builtin.sql +0 -0
  165. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/dbt/include/py.typed +0 -0
  166. {dbt_adapters-1.12.0 → dbt_adapters-1.13.0}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbt-adapters
3
- Version: 1.12.0
3
+ Version: 1.13.0
4
4
  Summary: The set of adapter protocols and base functionality that supports integration with dbt-core
5
5
  Project-URL: Homepage, https://github.com/dbt-labs/dbt-adapters
6
6
  Project-URL: Documentation, https://docs.getdbt.com
@@ -0,0 +1 @@
1
+ version = "1.13.0"
@@ -97,6 +97,7 @@ if TYPE_CHECKING:
97
97
  GET_CATALOG_MACRO_NAME = "get_catalog"
98
98
  GET_CATALOG_RELATIONS_MACRO_NAME = "get_catalog_relations"
99
99
  FRESHNESS_MACRO_NAME = "collect_freshness"
100
+ CUSTOM_SQL_FRESHNESS_MACRO_NAME = "collect_freshness_custom_sql"
100
101
  GET_RELATION_LAST_MODIFIED_MACRO_NAME = "get_relation_last_modified"
101
102
  DEFAULT_BASE_BEHAVIOR_FLAGS = [
102
103
  {
@@ -1327,6 +1328,31 @@ class BaseAdapter(metaclass=AdapterMeta):
1327
1328
  """Cancel all open connections."""
1328
1329
  return self.connections.cancel_open()
1329
1330
 
1331
+ def _process_freshness_execution(
1332
+ self,
1333
+ macro_name: str,
1334
+ kwargs: Dict[str, Any],
1335
+ macro_resolver: Optional[MacroResolverProtocol] = None,
1336
+ ) -> Tuple[Optional[AdapterResponse], FreshnessResponse]:
1337
+ """Execute and process a freshness macro to generate a FreshnessResponse"""
1338
+ import agate
1339
+
1340
+ result = self.execute_macro(macro_name, kwargs=kwargs, macro_resolver=macro_resolver)
1341
+
1342
+ if isinstance(result, agate.Table):
1343
+ warn_or_error(CollectFreshnessReturnSignature())
1344
+ table = result
1345
+ adapter_response = None
1346
+ else:
1347
+ adapter_response, table = result.response, result.table
1348
+
1349
+ # Process the results table
1350
+ if len(table) != 1 or len(table[0]) != 2:
1351
+ raise MacroResultError(macro_name, table)
1352
+
1353
+ freshness_response = self._create_freshness_response(table[0][0], table[0][1])
1354
+ return adapter_response, freshness_response
1355
+
1330
1356
  def calculate_freshness(
1331
1357
  self,
1332
1358
  source: BaseRelation,
@@ -1335,49 +1361,26 @@ class BaseAdapter(metaclass=AdapterMeta):
1335
1361
  macro_resolver: Optional[MacroResolverProtocol] = None,
1336
1362
  ) -> Tuple[Optional[AdapterResponse], FreshnessResponse]:
1337
1363
  """Calculate the freshness of sources in dbt, and return it"""
1338
- import agate
1339
-
1340
- kwargs: Dict[str, Any] = {
1364
+ kwargs = {
1341
1365
  "source": source,
1342
1366
  "loaded_at_field": loaded_at_field,
1343
1367
  "filter": filter,
1344
1368
  }
1369
+ return self._process_freshness_execution(FRESHNESS_MACRO_NAME, kwargs, macro_resolver)
1345
1370
 
1346
- # run the macro
1347
- # in older versions of dbt-core, the 'collect_freshness' macro returned the table of results directly
1348
- # starting in v1.5, by default, we return both the table and the adapter response (metadata about the query)
1349
- result: Union[
1350
- AttrDict, # current: contains AdapterResponse + "agate.Table"
1351
- "agate.Table", # previous: just table
1352
- ]
1353
- result = self.execute_macro(
1354
- FRESHNESS_MACRO_NAME, kwargs=kwargs, macro_resolver=macro_resolver
1355
- )
1356
- if isinstance(result, agate.Table):
1357
- warn_or_error(CollectFreshnessReturnSignature())
1358
- adapter_response = None
1359
- table = result
1360
- else:
1361
- adapter_response, table = result.response, result.table # type: ignore[attr-defined]
1362
- # now we have a 1-row table of the maximum `loaded_at_field` value and
1363
- # the current time according to the db.
1364
- if len(table) != 1 or len(table[0]) != 2:
1365
- raise MacroResultError(FRESHNESS_MACRO_NAME, table)
1366
- if table[0][0] is None:
1367
- # no records in the table, so really the max_loaded_at was
1368
- # infinitely long ago. Just call it 0:00 January 1 year UTC
1369
- max_loaded_at = datetime(1, 1, 1, 0, 0, 0, tzinfo=pytz.UTC)
1370
- else:
1371
- max_loaded_at = _utc(table[0][0], source, loaded_at_field)
1372
-
1373
- snapshotted_at = _utc(table[0][1], source, loaded_at_field)
1374
- age = (snapshotted_at - max_loaded_at).total_seconds()
1375
- freshness: FreshnessResponse = {
1376
- "max_loaded_at": max_loaded_at,
1377
- "snapshotted_at": snapshotted_at,
1378
- "age": age,
1371
+ def calculate_freshness_from_custom_sql(
1372
+ self,
1373
+ source: BaseRelation,
1374
+ sql: str,
1375
+ macro_resolver: Optional[MacroResolverProtocol] = None,
1376
+ ) -> Tuple[Optional[AdapterResponse], FreshnessResponse]:
1377
+ kwargs = {
1378
+ "source": source,
1379
+ "loaded_at_query": sql,
1379
1380
  }
1380
- return adapter_response, freshness
1381
+ return self._process_freshness_execution(
1382
+ CUSTOM_SQL_FRESHNESS_MACRO_NAME, kwargs, macro_resolver
1383
+ )
1381
1384
 
1382
1385
  def calculate_freshness_from_metadata_batch(
1383
1386
  self,
@@ -0,0 +1,32 @@
1
+ {% macro collect_freshness(source, loaded_at_field, filter) %}
2
+ {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}
3
+ {% endmacro %}
4
+
5
+ {% macro default__collect_freshness(source, loaded_at_field, filter) %}
6
+ {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}
7
+ select
8
+ max({{ loaded_at_field }}) as max_loaded_at,
9
+ {{ current_timestamp() }} as snapshotted_at
10
+ from {{ source }}
11
+ {% if filter %}
12
+ where {{ filter }}
13
+ {% endif %}
14
+ {% endcall %}
15
+ {{ return(load_result('collect_freshness')) }}
16
+ {% endmacro %}
17
+
18
+ {% macro collect_freshness_custom_sql(source, loaded_at_query) %}
19
+ {{ return(adapter.dispatch('collect_freshness_custom_sql', 'dbt')(source, loaded_at_query))}}
20
+ {% endmacro %}
21
+
22
+ {% macro default__collect_freshness_custom_sql(source, loaded_at_query) %}
23
+ {% call statement('collect_freshness_custom_sql', fetch_result=True, auto_begin=False) -%}
24
+ with source_query as (
25
+ {{ loaded_at_query }}
26
+ )
27
+ select
28
+ (select * from source_query) as max_loaded_at,
29
+ {{ current_timestamp() }} as snapshotted_at
30
+ {% endcall %}
31
+ {{ return(load_result('collect_freshness_custom_sql')) }}
32
+ {% endmacro %}
@@ -19,7 +19,7 @@
19
19
  {%- endmacro -%}
20
20
 
21
21
  {% macro default__get_limit_sql(sql, limit) %}
22
- {{ compiled_code }}
22
+ {{ sql }}
23
23
  {% if limit is not none %}
24
24
  limit {{ limit }}
25
25
  {%- endif -%}
@@ -1 +0,0 @@
1
- version = "1.12.0"
@@ -1,16 +0,0 @@
1
- {% macro collect_freshness(source, loaded_at_field, filter) %}
2
- {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}
3
- {% endmacro %}
4
-
5
- {% macro default__collect_freshness(source, loaded_at_field, filter) %}
6
- {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}
7
- select
8
- max({{ loaded_at_field }}) as max_loaded_at,
9
- {{ current_timestamp() }} as snapshotted_at
10
- from {{ source }}
11
- {% if filter %}
12
- where {{ filter }}
13
- {% endif %}
14
- {% endcall %}
15
- {{ return(load_result('collect_freshness')) }}
16
- {% endmacro %}
File without changes
File without changes
File without changes