dbt-adapters 1.1.0__tar.gz → 1.1.0rc1__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 (155) hide show
  1. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/.gitignore +1 -1
  2. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/PKG-INFO +1 -2
  3. dbt_adapters-1.1.0rc1/dbt/adapters/__about__.py +1 -0
  4. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/__init__.py +0 -1
  5. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/connections.py +1 -3
  6. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/impl.py +8 -9
  7. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/relation.py +2 -13
  8. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/contracts/relation.py +4 -2
  9. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/events/README.md +1 -1
  10. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/factory.py +9 -6
  11. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/protocol.py +52 -26
  12. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/relation_configs/README.md +1 -1
  13. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/relation_configs/config_change.py +1 -3
  14. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/columns.sql +1 -1
  15. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/tests/helpers.sql +1 -1
  16. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql +1 -1
  17. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/pyproject.toml +54 -7
  18. dbt_adapters-1.1.0/dbt/adapters/__about__.py +0 -1
  19. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/LICENSE +0 -0
  20. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/README.md +0 -0
  21. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/__init__.py +0 -0
  22. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/README.md +0 -0
  23. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/__init__.py +0 -0
  24. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/column.py +0 -0
  25. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/meta.py +0 -0
  26. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/plugin.py +0 -0
  27. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/base/query_headers.py +0 -0
  28. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/cache.py +0 -0
  29. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/capability.py +0 -0
  30. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/clients/__init__.py +0 -0
  31. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/clients/jinja.py +0 -0
  32. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/contracts/__init__.py +0 -0
  33. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/contracts/connection.py +0 -0
  34. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/contracts/macros.py +0 -0
  35. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/events/__init__.py +0 -0
  36. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/events/adapter_types.proto +0 -0
  37. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/events/adapter_types_pb2.py +0 -0
  38. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/events/base_types.py +0 -0
  39. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/events/logging.py +0 -0
  40. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/events/types.py +0 -0
  41. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/exceptions/__init__.py +0 -0
  42. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/exceptions/alias.py +0 -0
  43. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/exceptions/cache.py +0 -0
  44. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/exceptions/compilation.py +0 -0
  45. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/exceptions/connection.py +0 -0
  46. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/exceptions/database.py +0 -0
  47. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/py.typed +0 -0
  48. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/reference_keys.py +0 -0
  49. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/relation_configs/__init__.py +0 -0
  50. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/relation_configs/config_base.py +0 -0
  51. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/relation_configs/config_validation.py +0 -0
  52. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/sql/__init__.py +0 -0
  53. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/sql/connections.py +0 -0
  54. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/sql/impl.py +0 -0
  55. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/adapters/utils.py +0 -0
  56. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/__init__.py +0 -0
  57. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/__init__.py +0 -0
  58. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/dbt_project.yml +0 -0
  59. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/docs/overview.md +0 -0
  60. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/apply_grants.sql +0 -0
  61. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/freshness.sql +0 -0
  62. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/indexes.sql +0 -0
  63. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/metadata.sql +0 -0
  64. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/persist_docs.sql +0 -0
  65. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/relation.sql +0 -0
  66. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/schema.sql +0 -0
  67. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/show.sql +0 -0
  68. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/timestamps.sql +0 -0
  69. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/adapters/validate_sql.sql +0 -0
  70. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/etc/datetime.sql +0 -0
  71. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/etc/statement.sql +0 -0
  72. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/generic_test_sql/accepted_values.sql +0 -0
  73. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/generic_test_sql/not_null.sql +0 -0
  74. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/generic_test_sql/relationships.sql +0 -0
  75. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/generic_test_sql/unique.sql +0 -0
  76. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/get_custom_name/get_custom_alias.sql +0 -0
  77. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/get_custom_name/get_custom_database.sql +0 -0
  78. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/get_custom_name/get_custom_schema.sql +0 -0
  79. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/configs.sql +0 -0
  80. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/hooks.sql +0 -0
  81. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/clone/can_clone_table.sql +0 -0
  82. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/clone/clone.sql +0 -0
  83. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql +0 -0
  84. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql +0 -0
  85. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/incremental/incremental.sql +0 -0
  86. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql +0 -0
  87. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/incremental/merge.sql +0 -0
  88. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql +0 -0
  89. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/incremental/strategies.sql +0 -0
  90. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/materialized_view.sql +0 -0
  91. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/table.sql +0 -0
  92. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/models/view.sql +0 -0
  93. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/seeds/helpers.sql +0 -0
  94. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/seeds/seed.sql +0 -0
  95. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/snapshots/helpers.sql +0 -0
  96. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/snapshots/snapshot.sql +0 -0
  97. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql +0 -0
  98. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/snapshots/strategies.sql +0 -0
  99. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/tests/test.sql +0 -0
  100. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/tests/unit.sql +0 -0
  101. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/materializations/tests/where_subquery.sql +0 -0
  102. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/python_model/python.sql +0 -0
  103. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/column/columns_spec_ddl.sql +0 -0
  104. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/create.sql +0 -0
  105. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/create_backup.sql +0 -0
  106. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/create_intermediate.sql +0 -0
  107. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/drop.sql +0 -0
  108. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/drop_backup.sql +0 -0
  109. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/materialized_view/alter.sql +0 -0
  110. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/materialized_view/create.sql +0 -0
  111. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/materialized_view/drop.sql +0 -0
  112. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/materialized_view/refresh.sql +0 -0
  113. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/materialized_view/rename.sql +0 -0
  114. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/materialized_view/replace.sql +0 -0
  115. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/rename.sql +0 -0
  116. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/rename_intermediate.sql +0 -0
  117. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/replace.sql +0 -0
  118. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/schema.sql +0 -0
  119. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/table/create.sql +0 -0
  120. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/table/drop.sql +0 -0
  121. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/table/rename.sql +0 -0
  122. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/table/replace.sql +0 -0
  123. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/view/create.sql +0 -0
  124. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/view/drop.sql +0 -0
  125. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/view/rename.sql +0 -0
  126. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/relations/view/replace.sql +0 -0
  127. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/any_value.sql +0 -0
  128. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/array_append.sql +0 -0
  129. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/array_concat.sql +0 -0
  130. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/array_construct.sql +0 -0
  131. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/bool_or.sql +0 -0
  132. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/cast.sql +0 -0
  133. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/cast_bool_to_text.sql +0 -0
  134. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/concat.sql +0 -0
  135. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/data_types.sql +0 -0
  136. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/date_spine.sql +0 -0
  137. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/date_trunc.sql +0 -0
  138. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/dateadd.sql +0 -0
  139. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/datediff.sql +0 -0
  140. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/escape_single_quotes.sql +0 -0
  141. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/except.sql +0 -0
  142. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/generate_series.sql +0 -0
  143. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/hash.sql +0 -0
  144. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/intersect.sql +0 -0
  145. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/last_day.sql +0 -0
  146. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/length.sql +0 -0
  147. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/listagg.sql +0 -0
  148. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/literal.sql +0 -0
  149. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/position.sql +0 -0
  150. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/replace.sql +0 -0
  151. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/right.sql +0 -0
  152. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/safe_cast.sql +0 -0
  153. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/macros/utils/split_part.sql +0 -0
  154. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/global_project/tests/generic/builtin.sql +0 -0
  155. {dbt_adapters-1.1.0 → dbt_adapters-1.1.0rc1}/dbt/include/py.typed +0 -0
@@ -153,4 +153,4 @@ dmypy.json
153
153
  cython_debug/
154
154
 
155
155
  # PyCharm
156
- .idea/
156
+ .idea/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dbt-adapters
3
- Version: 1.1.0
3
+ Version: 1.1.0rc1
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
@@ -20,7 +20,6 @@ Classifier: Programming Language :: Python :: 3.8
20
20
  Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
- Classifier: Programming Language :: Python :: 3.12
24
23
  Requires-Python: >=3.8.0
25
24
  Requires-Dist: agate<2.0,>=1.0
26
25
  Requires-Dist: dbt-common<2.0
@@ -0,0 +1 @@
1
+ version = "1.1.0rc1"
@@ -2,7 +2,6 @@
2
2
  This adds all subdirectories of directories on `sys.path` to this package’s `__path__` .
3
3
  It effectively combines all adapters into a single namespace (dbt.adapter).
4
4
  """
5
-
6
5
  from pkgutil import extend_path
7
6
 
8
7
  __path__ = extend_path(__path__, __name__)
@@ -165,9 +165,7 @@ class BaseConnectionManager(metaclass=abc.ABCMeta):
165
165
  conn.handle = LazyHandle(self.open)
166
166
  # Add the connection to thread_connections for this thread
167
167
  self.set_thread_connection(conn)
168
- fire_event(
169
- NewConnection(conn_name=conn_name, conn_type=self.TYPE, node_info=get_node_info())
170
- )
168
+ fire_event(NewConnection(conn_name=conn_name, conn_type=self.TYPE, node_info=get_node_info()))
171
169
  else: # existing connection either wasn't open or didn't have the right name
172
170
  if conn.state != "open":
173
171
  conn.handle = LazyHandle(self.open)
@@ -1328,16 +1328,14 @@ class BaseAdapter(metaclass=AdapterMeta):
1328
1328
  # Track schema, identifiers of sources for lookup from batch query
1329
1329
  schema_identifier_to_source = {
1330
1330
  (
1331
- source.path.get_lowered_part(ComponentName.Schema), # type: ignore
1332
- source.path.get_lowered_part(ComponentName.Identifier), # type: ignore
1331
+ source.path.get_lowered_part(ComponentName.Schema),
1332
+ source.path.get_lowered_part(ComponentName.Identifier),
1333
1333
  ): source
1334
1334
  for source in sources
1335
1335
  }
1336
1336
 
1337
1337
  # Group metadata sources by information schema -- one query per information schema will be necessary
1338
- sources_by_info_schema: Dict[InformationSchema, List[BaseRelation]] = (
1339
- self._get_catalog_relations_by_info_schema(sources)
1340
- )
1338
+ sources_by_info_schema: Dict[InformationSchema, List[BaseRelation]] = self._get_catalog_relations_by_info_schema(sources)
1341
1339
 
1342
1340
  freshness_responses: Dict[BaseRelation, FreshnessResponse] = {}
1343
1341
  adapter_responses: List[Optional[AdapterResponse]] = []
@@ -1395,9 +1393,7 @@ class BaseAdapter(metaclass=AdapterMeta):
1395
1393
 
1396
1394
  return freshness
1397
1395
 
1398
- def _parse_freshness_row(
1399
- self, row: "agate.Row", table: "agate.Table"
1400
- ) -> Tuple[Any, FreshnessResponse]:
1396
+ def _parse_freshness_row(self, row: "agate.Row", table: "agate.Table") -> Tuple[Any, FreshnessResponse]:
1401
1397
  from dbt_common.clients.agate_helper import get_column_value_uncased
1402
1398
 
1403
1399
  try:
@@ -1408,7 +1404,10 @@ class BaseAdapter(metaclass=AdapterMeta):
1408
1404
  except Exception:
1409
1405
  raise MacroResultError(GET_RELATION_LAST_MODIFIED_MACRO_NAME, table)
1410
1406
 
1411
- freshness_response = self._create_freshness_response(last_modified_val, snapshotted_at_val)
1407
+ freshness_response = self._create_freshness_response(
1408
+ last_modified_val,
1409
+ snapshotted_at_val
1410
+ )
1412
1411
  raw_relation = schema.lower().strip(), identifier.lower().strip()
1413
1412
  return raw_relation, freshness_response
1414
1413
 
@@ -47,9 +47,6 @@ class BaseRelation(FakeAPIObject, Hashable):
47
47
  quote_policy: Policy = field(default_factory=lambda: Policy())
48
48
  dbt_created: bool = False
49
49
  limit: Optional[int] = None
50
- require_alias: bool = (
51
- True # used to govern whether to add an alias when render_limited is called
52
- )
53
50
 
54
51
  # register relation types that can be renamed for the purpose of replacing relations using stages and backups
55
52
  # adding a relation type here also requires defining the associated rename macro
@@ -208,22 +205,14 @@ class BaseRelation(FakeAPIObject, Hashable):
208
205
  # if there is nothing set, this will return the empty string.
209
206
  return ".".join(part for _, part in self._render_iterator() if part is not None)
210
207
 
211
- def _render_limited_alias(self) -> str:
212
- """Some databases require an alias for subqueries (postgres, mysql) for all others we want to avoid adding
213
- an alias as it has the potential to introduce issues with the query if the user also defines an alias.
214
- """
215
- if self.require_alias:
216
- return f" _dbt_limit_subq_{self.table}"
217
- return ""
218
-
219
208
  def render_limited(self) -> str:
220
209
  rendered = self.render()
221
210
  if self.limit is None:
222
211
  return rendered
223
212
  elif self.limit == 0:
224
- return f"(select * from {rendered} where false limit 0){self._render_limited_alias()}"
213
+ return f"(select * from {rendered} where false limit 0) _dbt_limit_subq"
225
214
  else:
226
- return f"(select * from {rendered} limit {self.limit}){self._render_limited_alias()}"
215
+ return f"(select * from {rendered} limit {self.limit}) _dbt_limit_subq"
227
216
 
228
217
  def quoted(self, identifier):
229
218
  return "{quote_char}{identifier}{quote_char}".format(
@@ -40,9 +40,11 @@ class MaterializationConfig(Mapping, ABC):
40
40
  contract: MaterializationContract
41
41
  extra: Dict[str, Any]
42
42
 
43
- def __contains__(self, item): ...
43
+ def __contains__(self, item):
44
+ ...
44
45
 
45
- def __delitem__(self, key): ...
46
+ def __delitem__(self, key):
47
+ ...
46
48
 
47
49
 
48
50
  class RelationConfig(Protocol):
@@ -14,7 +14,7 @@ When events are processed via `fire_event`, nearly everything is logged. Whether
14
14
 
15
15
  We have switched from using betterproto to using google protobuf, because of a lack of support for Struct fields in betterproto.
16
16
 
17
- The google protobuf interface is janky and very much non-Pythonic. The "generated" classes in types_pb2.py do not resemble regular Python classes. They do not have normal constructors; they can only be constructed empty. They can be "filled" by setting fields individually or using a json_format method like ParseDict. We have wrapped the logging events with a class (in types.py) which allows using a constructor -- keywords only, no positional parameters.
17
+ The google protobuf interface is janky and very much non-Pythonic. The "generated" classes in types_pb2.py do not resemble regular Python classes. They do not have normal constructors; they can only be constructed empty. They can be "filled" by setting fields individually or using a json_format method like ParseDict. We have wrapped the logging events with a class (in types.py) which allows using a constructor -- keywords only, no positional parameters.
18
18
 
19
19
  ## Required for Every Event
20
20
 
@@ -101,14 +101,17 @@ class AdapterContainer:
101
101
  self,
102
102
  config: AdapterRequiredConfig,
103
103
  mp_context: SpawnContext,
104
- adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO,
104
+ adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO
105
105
  ) -> None:
106
106
  adapter_name = config.credentials.type
107
107
  adapter_type = self.get_adapter_class_by_name(adapter_name)
108
108
  adapter_version = self._adapter_version(adapter_name)
109
109
  fire_event(
110
- AdapterRegistered(adapter_name=adapter_name, adapter_version=adapter_version),
111
- level=adapter_registered_log_level,
110
+ AdapterRegistered(
111
+ adapter_name=adapter_name,
112
+ adapter_version=adapter_version
113
+ ),
114
+ level=adapter_registered_log_level
112
115
  )
113
116
  with self.lock:
114
117
  if adapter_name in self.adapters:
@@ -196,9 +199,9 @@ FACTORY: AdapterContainer = AdapterContainer()
196
199
 
197
200
 
198
201
  def register_adapter(
199
- config: AdapterRequiredConfig,
200
- mp_context: SpawnContext,
201
- adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO,
202
+ config: AdapterRequiredConfig,
203
+ mp_context: SpawnContext,
204
+ adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO
202
205
  ) -> None:
203
206
  FACTORY.register_adapter(config, mp_context, adapter_registered_log_level)
204
207
 
@@ -47,7 +47,8 @@ Self = TypeVar("Self", bound="RelationProtocol")
47
47
 
48
48
  class RelationProtocol(Protocol):
49
49
  @classmethod
50
- def get_default_quote_policy(cls) -> Policy: ...
50
+ def get_default_quote_policy(cls) -> Policy:
51
+ ...
51
52
 
52
53
  @classmethod
53
54
  def create_from(
@@ -55,7 +56,8 @@ class RelationProtocol(Protocol):
55
56
  quoting: HasQuoting,
56
57
  relation_config: RelationConfig,
57
58
  **kwargs: Any,
58
- ) -> Self: ...
59
+ ) -> Self:
60
+ ...
59
61
 
60
62
 
61
63
  AdapterConfig_T = TypeVar("AdapterConfig_T", bound=AdapterConfig)
@@ -71,7 +73,8 @@ class MacroContextGeneratorCallable(Protocol):
71
73
  config: AdapterRequiredConfig,
72
74
  macro_resolver: MacroResolverProtocol,
73
75
  package_name: Optional[str],
74
- ) -> Dict[str, Any]: ...
76
+ ) -> Dict[str, Any]:
77
+ ...
75
78
 
76
79
 
77
80
  # TODO CT-211
@@ -93,58 +96,81 @@ class AdapterProtocol( # type: ignore[misc]
93
96
  ConnectionManager: Type[ConnectionManager_T]
94
97
  connections: ConnectionManager_T
95
98
 
96
- def __init__(self, config: AdapterRequiredConfig) -> None: ...
99
+ def __init__(self, config: AdapterRequiredConfig) -> None:
100
+ ...
97
101
 
98
- def set_macro_resolver(self, macro_resolver: MacroResolverProtocol) -> None: ...
102
+ def set_macro_resolver(self, macro_resolver: MacroResolverProtocol) -> None:
103
+ ...
99
104
 
100
- def get_macro_resolver(self) -> Optional[MacroResolverProtocol]: ...
105
+ def get_macro_resolver(self) -> Optional[MacroResolverProtocol]:
106
+ ...
101
107
 
102
- def clear_macro_resolver(self) -> None: ...
108
+ def clear_macro_resolver(self) -> None:
109
+ ...
103
110
 
104
111
  def set_macro_context_generator(
105
112
  self,
106
113
  macro_context_generator: MacroContextGeneratorCallable,
107
- ) -> None: ...
114
+ ) -> None:
115
+ ...
108
116
 
109
117
  @classmethod
110
118
  def type(cls) -> str:
111
119
  pass
112
120
 
113
- def set_query_header(self, query_header_context: Dict[str, Any]) -> None: ...
121
+ def set_query_header(self, query_header_context: Dict[str, Any]) -> None:
122
+ ...
114
123
 
115
124
  @staticmethod
116
- def get_thread_identifier() -> Hashable: ...
125
+ def get_thread_identifier() -> Hashable:
126
+ ...
117
127
 
118
- def get_thread_connection(self) -> Connection: ...
128
+ def get_thread_connection(self) -> Connection:
129
+ ...
119
130
 
120
- def set_thread_connection(self, conn: Connection) -> None: ...
131
+ def set_thread_connection(self, conn: Connection) -> None:
132
+ ...
121
133
 
122
- def get_if_exists(self) -> Optional[Connection]: ...
134
+ def get_if_exists(self) -> Optional[Connection]:
135
+ ...
123
136
 
124
- def clear_thread_connection(self) -> None: ...
137
+ def clear_thread_connection(self) -> None:
138
+ ...
125
139
 
126
- def clear_transaction(self) -> None: ...
140
+ def clear_transaction(self) -> None:
141
+ ...
127
142
 
128
- def exception_handler(self, sql: str) -> ContextManager: ...
143
+ def exception_handler(self, sql: str) -> ContextManager:
144
+ ...
129
145
 
130
- def set_connection_name(self, name: Optional[str] = None) -> Connection: ...
146
+ def set_connection_name(self, name: Optional[str] = None) -> Connection:
147
+ ...
131
148
 
132
- def cancel_open(self) -> Optional[List[str]]: ...
149
+ def cancel_open(self) -> Optional[List[str]]:
150
+ ...
133
151
 
134
- def open(cls, connection: Connection) -> Connection: ...
152
+ def open(cls, connection: Connection) -> Connection:
153
+ ...
135
154
 
136
- def release(self) -> None: ...
155
+ def release(self) -> None:
156
+ ...
137
157
 
138
- def cleanup_all(self) -> None: ...
158
+ def cleanup_all(self) -> None:
159
+ ...
139
160
 
140
- def begin(self) -> None: ...
161
+ def begin(self) -> None:
162
+ ...
141
163
 
142
- def commit(self) -> None: ...
164
+ def commit(self) -> None:
165
+ ...
143
166
 
144
- def close(cls, connection: Connection) -> Connection: ...
167
+ def close(cls, connection: Connection) -> Connection:
168
+ ...
145
169
 
146
- def commit_if_has_connection(self) -> None: ...
170
+ def commit_if_has_connection(self) -> None:
171
+ ...
147
172
 
148
173
  def execute(
149
174
  self, sql: str, auto_begin: bool = False, fetch: bool = False
150
- ) -> Tuple[AdapterResponse, "agate.Table"]: ...
175
+ ) -> Tuple[AdapterResponse, "agate.Table"]:
176
+ ...
@@ -1,6 +1,6 @@
1
1
  # RelationConfig
2
2
  This package serves as an initial abstraction for managing the inspection of existing relations and determining
3
- changes on those relations. It arose from the materialized view work and is currently only supporting
3
+ changes on those relations. It arose from the materialized view work and is currently only supporting
4
4
  materialized views for Postgres and Redshift as well as dynamic tables for Snowflake. There are three main
5
5
  classes in this package.
6
6
 
@@ -16,9 +16,7 @@ class RelationConfigChangeAction(StrEnum):
16
16
  @dataclass(frozen=True, eq=True, unsafe_hash=True)
17
17
  class RelationConfigChange(RelationConfigBase, ABC):
18
18
  action: RelationConfigChangeAction
19
- context: (
20
- Hashable # this is usually a RelationConfig, e.g. IndexConfig, but shouldn't be limited
21
- )
19
+ context: Hashable # this is usually a RelationConfig, e.g. IndexConfig, but shouldn't be limited
22
20
 
23
21
  @property
24
22
  @abstractmethod
@@ -53,7 +53,7 @@
53
53
  {%- do col_naked_numeric.append(col['name']) -%}
54
54
  {%- endif -%}
55
55
  {% set col_name = adapter.quote(col['name']) if col.get('quote') else col['name'] %}
56
- {{ cast('null', col['data_type']) }} as {{ col_name }}{{ ", " if not loop.last }}
56
+ cast(null as {{ col['data_type'] }}) as {{ col_name }}{{ ", " if not loop.last }}
57
57
  {%- endfor -%}
58
58
  {%- if (col_err | length) > 0 -%}
59
59
  {{ exceptions.column_type_missing(column_names=col_err) }}
@@ -41,4 +41,4 @@ dbt_internal_unit_test_expected as (
41
41
  select * from dbt_internal_unit_test_actual
42
42
  union all
43
43
  select * from dbt_internal_unit_test_expected
44
- {%- endmacro %}
44
+ {%- endmacro %}
@@ -79,7 +79,7 @@ union all
79
79
  {%- endif -%}
80
80
 
81
81
  {%- set column_type = column_name_to_data_types[column_name] %}
82
-
82
+
83
83
  {#-- sanitize column_value: wrap yaml strings in quotes, apply cast --#}
84
84
  {%- set column_value_clean = column_value -%}
85
85
  {%- if column_value is string -%}
@@ -21,7 +21,6 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.9",
22
22
  "Programming Language :: Python :: 3.10",
23
23
  "Programming Language :: Python :: 3.11",
24
- "Programming Language :: Python :: 3.12",
25
24
  ]
26
25
  dependencies = [
27
26
  "dbt-common<2.0",
@@ -55,16 +54,35 @@ include = ["dbt/adapters", "dbt/include", "dbt/__init__.py"]
55
54
  [tool.hatch.envs.default]
56
55
  dependencies = [
57
56
  "dbt_common @ git+https://github.com/dbt-labs/dbt-common.git",
58
- 'pre-commit==3.7.0;python_version>="3.9"',
59
- 'pre-commit==3.5.0;python_version=="3.8"',
60
57
  ]
61
- [tool.hatch.envs.default.scripts]
62
- dev = "pre-commit install"
63
- code-quality = "pre-commit run --all-files"
58
+
59
+ [tool.hatch.envs.lint]
60
+ detached = true
61
+ dependencies = [
62
+ "black>=24.3",
63
+ "flake8",
64
+ "Flake8-pyproject",
65
+ ]
66
+ [tool.hatch.envs.lint.scripts]
67
+ all = [
68
+ "- black-only",
69
+ "- flake8-only",
70
+ ]
71
+ black-only = "python -m black ."
72
+ flake8-only = "python -m flake8 ."
73
+
74
+ [tool.hatch.envs.typecheck]
75
+ dependencies = [
76
+ "mypy",
77
+ "types-PyYAML",
78
+ "types-protobuf",
79
+ "types-pytz",
80
+ ]
81
+ [tool.hatch.envs.typecheck.scripts]
82
+ all = "python -m mypy ."
64
83
 
65
84
  [tool.hatch.envs.unit-tests]
66
85
  dependencies = [
67
- "dbt_common @ git+https://github.com/dbt-labs/dbt-common.git",
68
86
  "pytest",
69
87
  "pytest-dotenv",
70
88
  "pytest-xdist",
@@ -96,8 +114,37 @@ check-sdist = [
96
114
  ]
97
115
  protobuf = "protoc -I=./dbt/adapters/events --python_out=./dbt/adapters/events ./dbt/adapters/events/adapter_types.proto"
98
116
 
117
+ [tool.black]
118
+ extend-exclude = "dbt/adapters/events/adapter_types_pb2.py"
119
+ line-length = 99
120
+ target-version = ['py38']
121
+
122
+ [tool.flake8]
123
+ select = ["E", "W", "F"]
124
+ ignore = ["E203", "E501", "E741", "W503", "W504"]
125
+ exclude = [
126
+ "dbt/adapters/events/adapter_types_pb2.py",
127
+ "tests/functional",
128
+ "venv",
129
+ ]
130
+ per-file-ignores = ["*/__init__.py: F401"]
131
+
99
132
  [tool.mypy]
133
+ namespace_packages = true
134
+ show_error_codes = true
135
+ explicit_package_bases = true
136
+ ignore_missing_imports = true
137
+ pretty = true
100
138
  mypy_path = "third-party-stubs/"
139
+ files = [
140
+ "dbt",
141
+ "tests/unit",
142
+ ]
143
+ exclude = [
144
+ "dbt/adapters/events/adapter_types_pb2.py",
145
+ "dbt-tests-adapter/dbt/__init__.py", # overlaps with `dbt/__init__.py` as expected for namespaces
146
+ "venv",
147
+ ]
101
148
  [[tool.mypy.overrides]]
102
149
  module = ["dbt.adapters.events.adapter_types_pb2"]
103
150
  follow_imports = "skip"
@@ -1 +0,0 @@
1
- version = "1.1.0"
File without changes
File without changes