dbt-adapters 1.16.5__tar.gz → 1.16.7__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 (248) hide show
  1. dbt_adapters-1.16.7/.changes/1.16.7.md +21 -0
  2. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/CHANGELOG.md +9 -37
  3. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/PKG-INFO +1 -1
  4. dbt_adapters-1.16.7/src/dbt/adapters/__about__.py +1 -0
  5. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/impl.py +8 -13
  6. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/catalogs/__init__.py +1 -0
  7. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/catalogs/_exceptions.py +7 -0
  8. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/exceptions/compilation.py +12 -0
  9. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/base.py +85 -2
  10. dbt_adapters-1.16.7/src/dbt/adapters/record/serialization.py +63 -0
  11. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/sql/impl.py +4 -1
  12. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/snapshots/helpers.sql +1 -1
  13. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/tests/unit.sql +3 -10
  14. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql +4 -7
  15. dbt_adapters-1.16.5/.changes/1.16.1.md +0 -8
  16. dbt_adapters-1.16.5/.changes/1.16.2.md +0 -9
  17. dbt_adapters-1.16.5/.changes/1.16.3.md +0 -10
  18. dbt_adapters-1.16.5/.changes/1.16.4.md +0 -12
  19. dbt_adapters-1.16.5/.changes/1.16.5.md +0 -5
  20. dbt_adapters-1.16.5/src/dbt/adapters/__about__.py +0 -1
  21. dbt_adapters-1.16.5/src/dbt/adapters/record/serialization.py +0 -31
  22. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.0.0.md +0 -0
  23. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.1.0.md +0 -0
  24. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.1.1.md +0 -0
  25. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.10.0.md +0 -0
  26. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.10.1.md +0 -0
  27. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.10.2.md +0 -0
  28. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.10.3.md +0 -0
  29. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.10.4.md +0 -0
  30. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.11.0.md +0 -0
  31. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.12.0.md +0 -0
  32. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.13.0.md +0 -0
  33. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.13.1.md +0 -0
  34. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.13.2.md +0 -0
  35. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.14.0.md +0 -0
  36. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.14.1.md +0 -0
  37. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.14.3.md +0 -0
  38. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.14.4.md +0 -0
  39. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.14.5.md +0 -0
  40. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.14.6.md +0 -0
  41. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.14.7.md +0 -0
  42. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.14.8.md +0 -0
  43. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.15.1.md +0 -0
  44. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.15.2.md +0 -0
  45. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.15.3.md +0 -0
  46. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.15.md +0 -0
  47. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.16.0.md +0 -0
  48. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.2.1.md +0 -0
  49. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.3.0.md +0 -0
  50. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.3.1.md +0 -0
  51. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.3.2.md +0 -0
  52. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.3.3.md +0 -0
  53. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.4.0.md +0 -0
  54. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.4.1.md +0 -0
  55. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.5.0.md +0 -0
  56. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.6.0.md +0 -0
  57. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.6.1.md +0 -0
  58. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.7.0.md +0 -0
  59. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.7.1.md +0 -0
  60. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.7.2.md +0 -0
  61. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.8.0.md +0 -0
  62. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/1.9.0.md +0 -0
  63. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/header.tpl.md +0 -0
  64. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changes/unreleased/.gitkeep +0 -0
  65. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.changie.yaml +0 -0
  66. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/.gitignore +0 -0
  67. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/CONTRIBUTING.md +0 -0
  68. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/LICENSE +0 -0
  69. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/README.md +0 -0
  70. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/hatch.toml +0 -0
  71. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/pyproject.toml +0 -0
  72. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/__init__.py +0 -0
  73. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/__init__.py +0 -0
  74. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/README.md +0 -0
  75. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/__init__.py +0 -0
  76. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/column.py +0 -0
  77. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/connections.py +0 -0
  78. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/meta.py +0 -0
  79. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/plugin.py +0 -0
  80. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/query_headers.py +0 -0
  81. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/base/relation.py +0 -0
  82. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/cache.py +0 -0
  83. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/capability.py +0 -0
  84. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/catalogs/_client.py +0 -0
  85. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/catalogs/_constants.py +0 -0
  86. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/catalogs/_integration.py +0 -0
  87. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/clients/__init__.py +0 -0
  88. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/clients/jinja.py +0 -0
  89. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/contracts/__init__.py +0 -0
  90. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/contracts/connection.py +0 -0
  91. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/contracts/macros.py +0 -0
  92. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/contracts/relation.py +0 -0
  93. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/events/README.md +0 -0
  94. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/events/__init__.py +0 -0
  95. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/events/adapter_types_pb2.py +0 -0
  96. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/events/base_types.py +0 -0
  97. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/events/logging.py +0 -0
  98. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/events/types.py +0 -0
  99. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/exceptions/__init__.py +0 -0
  100. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/exceptions/alias.py +0 -0
  101. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/exceptions/cache.py +0 -0
  102. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/exceptions/connection.py +0 -0
  103. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/exceptions/database.py +0 -0
  104. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/factory.py +0 -0
  105. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/protocol.py +0 -0
  106. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/py.typed +0 -0
  107. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/__init__.py +0 -0
  108. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/cursor/cursor.py +0 -0
  109. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/cursor/description.py +0 -0
  110. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/cursor/execute.py +0 -0
  111. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/cursor/fetchall.py +0 -0
  112. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/cursor/fetchmany.py +0 -0
  113. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/cursor/fetchone.py +0 -0
  114. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/cursor/rowcount.py +0 -0
  115. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/record/handle.py +0 -0
  116. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/reference_keys.py +0 -0
  117. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/relation_configs/README.md +0 -0
  118. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/relation_configs/__init__.py +0 -0
  119. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/relation_configs/config_base.py +0 -0
  120. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/relation_configs/config_change.py +0 -0
  121. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/relation_configs/config_validation.py +0 -0
  122. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/sql/__init__.py +0 -0
  123. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/sql/connections.py +0 -0
  124. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/adapters/utils.py +0 -0
  125. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/__init__.py +0 -0
  126. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/__init__.py +0 -0
  127. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/dbt_project.yml +0 -0
  128. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/docs/overview.md +0 -0
  129. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/apply_grants.sql +0 -0
  130. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/columns.sql +0 -0
  131. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/freshness.sql +0 -0
  132. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/indexes.sql +0 -0
  133. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/metadata.sql +0 -0
  134. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/persist_docs.sql +0 -0
  135. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/relation.sql +0 -0
  136. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/schema.sql +0 -0
  137. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/show.sql +0 -0
  138. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/timestamps.sql +0 -0
  139. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/adapters/validate_sql.sql +0 -0
  140. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/etc/datetime.sql +0 -0
  141. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/etc/statement.sql +0 -0
  142. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/generic_test_sql/accepted_values.sql +0 -0
  143. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/generic_test_sql/not_null.sql +0 -0
  144. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/generic_test_sql/relationships.sql +0 -0
  145. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/generic_test_sql/unique.sql +0 -0
  146. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/get_custom_name/get_custom_alias.sql +0 -0
  147. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/get_custom_name/get_custom_database.sql +0 -0
  148. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/get_custom_name/get_custom_schema.sql +0 -0
  149. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/configs.sql +0 -0
  150. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/hooks.sql +0 -0
  151. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/clone/can_clone_table.sql +0 -0
  152. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/clone/clone.sql +0 -0
  153. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql +0 -0
  154. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql +0 -0
  155. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/incremental/incremental.sql +0 -0
  156. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql +0 -0
  157. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/incremental/merge.sql +0 -0
  158. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql +0 -0
  159. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/incremental/strategies.sql +0 -0
  160. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/materialized_view.sql +0 -0
  161. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/table.sql +0 -0
  162. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/models/view.sql +0 -0
  163. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/seeds/helpers.sql +0 -0
  164. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/seeds/seed.sql +0 -0
  165. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/snapshots/snapshot.sql +0 -0
  166. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql +0 -0
  167. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/snapshots/strategies.sql +0 -0
  168. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/tests/helpers.sql +0 -0
  169. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/tests/test.sql +0 -0
  170. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/materializations/tests/where_subquery.sql +0 -0
  171. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/python_model/python.sql +0 -0
  172. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/column/columns_spec_ddl.sql +0 -0
  173. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/create.sql +0 -0
  174. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/create_backup.sql +0 -0
  175. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/create_intermediate.sql +0 -0
  176. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/drop.sql +0 -0
  177. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/drop_backup.sql +0 -0
  178. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/materialized_view/alter.sql +0 -0
  179. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/materialized_view/create.sql +0 -0
  180. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/materialized_view/drop.sql +0 -0
  181. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/materialized_view/refresh.sql +0 -0
  182. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/materialized_view/rename.sql +0 -0
  183. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/materialized_view/replace.sql +0 -0
  184. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/rename.sql +0 -0
  185. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/rename_intermediate.sql +0 -0
  186. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/replace.sql +0 -0
  187. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/schema.sql +0 -0
  188. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/table/create.sql +0 -0
  189. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/table/drop.sql +0 -0
  190. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/table/rename.sql +0 -0
  191. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/table/replace.sql +0 -0
  192. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/view/create.sql +0 -0
  193. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/view/drop.sql +0 -0
  194. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/view/rename.sql +0 -0
  195. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/relations/view/replace.sql +0 -0
  196. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/any_value.sql +0 -0
  197. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/array_append.sql +0 -0
  198. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/array_concat.sql +0 -0
  199. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/array_construct.sql +0 -0
  200. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/bool_or.sql +0 -0
  201. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/cast.sql +0 -0
  202. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/cast_bool_to_text.sql +0 -0
  203. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/concat.sql +0 -0
  204. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/data_types.sql +0 -0
  205. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/date.sql +0 -0
  206. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/date_spine.sql +0 -0
  207. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/date_trunc.sql +0 -0
  208. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/dateadd.sql +0 -0
  209. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/datediff.sql +0 -0
  210. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/equals.sql +0 -0
  211. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/escape_single_quotes.sql +0 -0
  212. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/except.sql +0 -0
  213. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/generate_series.sql +0 -0
  214. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/hash.sql +0 -0
  215. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/intersect.sql +0 -0
  216. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/last_day.sql +0 -0
  217. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/length.sql +0 -0
  218. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/listagg.sql +0 -0
  219. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/literal.sql +0 -0
  220. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/position.sql +0 -0
  221. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/replace.sql +0 -0
  222. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/right.sql +0 -0
  223. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/safe_cast.sql +0 -0
  224. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/macros/utils/split_part.sql +0 -0
  225. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/global_project/tests/generic/builtin.sql +0 -0
  226. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/src/dbt/include/py.typed +0 -0
  227. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/__init__.py +0 -0
  228. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/behavior_flag_tests/__init__.py +0 -0
  229. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/behavior_flag_tests/test_behavior_flags.py +0 -0
  230. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/behavior_flag_tests/test_empty_project.py +0 -0
  231. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/conftest.py +0 -0
  232. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/fixtures/__init__.py +0 -0
  233. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/fixtures/adapter.py +0 -0
  234. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/fixtures/catalog_integration.py +0 -0
  235. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/fixtures/connection_manager.py +0 -0
  236. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/fixtures/credentials.py +0 -0
  237. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/record/__init__.py +0 -0
  238. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/record/test_record_cursor.py +0 -0
  239. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/record/test_record_handle.py +0 -0
  240. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_adapter_factory.py +0 -0
  241. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_adapter_telemetry.py +0 -0
  242. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_base_adapter.py +0 -0
  243. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_cache.py +0 -0
  244. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_catalogs.py +0 -0
  245. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_column.py +0 -0
  246. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_events.py +0 -0
  247. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_relation.py +0 -0
  248. {dbt_adapters-1.16.5 → dbt_adapters-1.16.7}/tests/unit/test_sql_result.py +0 -0
@@ -0,0 +1,21 @@
1
+ ## dbt-adapters 1.16.7 - September 10, 2025
2
+
3
+ ### Fixes
4
+
5
+ - Fix Snapshot to avoid inserting redundant entries for records already marked as deleted ([#654](https://github.com/dbt-labs/dbt-adapters/issues/654))
6
+ - Skip cloning objects if the target and defferal are the same ([#1198](https://github.com/dbt-labs/dbt-adapters/issues/1198))
7
+ - Update dbt snapshot staging table creation to handle new source columns when using hard_deletes == 'new_record' ([#852](https://github.com/dbt-labs/dbt-adapters/issues/852))
8
+ - update alter_relation_add_remove_columns to quote column names ([#63](https://github.com/dbt-labs/dbt-adapters/issues/63))
9
+
10
+ ### Under the Hood
11
+
12
+ - Record adapter.add_query as Available record ([#1285](https://github.com/dbt-labs/dbt-adapters/issues/1285))
13
+ - Record adapter.list_relations_without_caching as Available record ([#1308](https://github.com/dbt-labs/dbt-adapters/issues/1308))
14
+
15
+ ### Dependencies
16
+
17
+ - upgrade protobuf to 6.0 ([#1259](https://github.com/dbt-labs/dbt-adapters/pull/1259))
18
+
19
+ ### Contributors
20
+ - [@jasonlin45](https://github.com/jasonlin45) ([#1308](https://github.com/dbt-labs/dbt-adapters/issues/1308))
21
+ - [@lpillmann](https://github.com/lpillmann) ([#654](https://github.com/dbt-labs/dbt-adapters/issues/654))
@@ -10,57 +10,29 @@ and is generated by [Changie](https://github.com/miniscruff/changie)
10
10
  - Do not edit this file directly. This file is auto-generated using [changie](https://github.com/miniscruff/changie)
11
11
  - For details on how to document a change, see the [contributing guide](/CONTRIBUTING.md#changelog-entry)
12
12
 
13
- ## dbt-adapters 1.16.5 - August 19, 2025
14
-
15
- ### Fixes
16
-
17
- - Correct column mapping lookup in unit test macro ([#1273](https://github.com/dbt-labs/dbt-adapters/issues/1273))
18
-
19
-
20
-
21
- ## dbt-adapters 1.16.4 - August 15, 2025
22
-
23
- ### Fixes
24
-
25
- - Apply column quoting to unit tests ([#205](https://github.com/dbt-labs/dbt-adapters/issues/205))
26
-
27
- ### Dependencies
28
-
29
- - upgrade protobuf to 6.0 ([#1259](https://github.com/dbt-labs/dbt-adapters/pull/1259))
30
-
31
- ### Contributors
32
- - [@mpatek](https://github.com/mpatek) ([#205](https://github.com/dbt-labs/dbt-adapters/issues/205))
33
-
34
- ## dbt-adapters 1.16.3 - July 21, 2025
13
+ ## dbt-adapters 1.16.7 - September 10, 2025
35
14
 
36
15
  ### Fixes
37
16
 
17
+ - Fix Snapshot to avoid inserting redundant entries for records already marked as deleted ([#654](https://github.com/dbt-labs/dbt-adapters/issues/654))
18
+ - Skip cloning objects if the target and defferal are the same ([#1198](https://github.com/dbt-labs/dbt-adapters/issues/1198))
38
19
  - Update dbt snapshot staging table creation to handle new source columns when using hard_deletes == 'new_record' ([#852](https://github.com/dbt-labs/dbt-adapters/issues/852))
39
20
  - update alter_relation_add_remove_columns to quote column names ([#63](https://github.com/dbt-labs/dbt-adapters/issues/63))
40
21
 
41
22
  ### Under the Hood
42
23
 
43
- - gracefully handle null database in _catalog_filter_schemas ([#1216](https://github.com/dbt-labs/dbt-adapters/issues/1216))
44
-
45
- ## dbt-adapters 1.16.2 - July 14, 2025
46
-
47
- ### Fixes
48
-
49
- - Fixed hard-coded quoting issue in snapshots. ([#1118](https://github.com/dbt-labs/dbt-adapters/issues/1118))
50
- - Skip cloning objects if the target and defferal are the same ([#1198](https://github.com/dbt-labs/dbt-adapters/issues/1198))
24
+ - Record adapter.add_query as Available record ([#1285](https://github.com/dbt-labs/dbt-adapters/issues/1285))
25
+ - Record adapter.list_relations_without_caching as Available record ([#1308](https://github.com/dbt-labs/dbt-adapters/issues/1308))
51
26
 
52
- ### Contributors
53
- - [@stevetracvc](https://github.com/stevetracvc) ([#1118](https://github.com/dbt-labs/dbt-adapters/issues/1118))
54
-
55
- ## dbt-adapters 1.16.1 - July 10, 2025
56
-
57
- ### Fixes
27
+ ### Dependencies
58
28
 
59
- - Fix Snapshot to avoid inserting redundant entries for records already marked as deleted ([#654](https://github.com/dbt-labs/dbt-adapters/issues/654))
29
+ - upgrade protobuf to 6.0 ([#1259](https://github.com/dbt-labs/dbt-adapters/pull/1259))
60
30
 
61
31
  ### Contributors
32
+ - [@jasonlin45](https://github.com/jasonlin45) ([#1308](https://github.com/dbt-labs/dbt-adapters/issues/1308))
62
33
  - [@lpillmann](https://github.com/lpillmann) ([#654](https://github.com/dbt-labs/dbt-adapters/issues/654))
63
34
 
35
+
64
36
  ## dbt-adapters 1.16.0 - June 04, 2025
65
37
 
66
38
  ### Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbt-adapters
3
- Version: 1.16.5
3
+ Version: 1.16.7
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/tree/main/dbt-adapters
6
6
  Project-URL: Documentation, https://docs.getdbt.com
@@ -0,0 +1 @@
1
+ version = "1.16.7"
@@ -30,6 +30,7 @@ from dbt.adapters.record.base import (
30
30
  AdapterGetPartitionsMetadataRecord,
31
31
  AdapterConvertTypeRecord,
32
32
  AdapterStandardizeGrantsDictRecord,
33
+ AdapterListRelationsWithoutCachingRecord,
33
34
  )
34
35
  from dbt_common.behavior_flags import Behavior, BehaviorFlag
35
36
  from dbt_common.clients.jinja import CallableMacroGenerator
@@ -103,9 +104,7 @@ from dbt.adapters.exceptions import (
103
104
  UnexpectedNonTimestampError,
104
105
  )
105
106
  from dbt.adapters.protocol import AdapterConfig, MacroContextGeneratorCallable
106
- from dbt.adapters.events.logging import AdapterLogger
107
107
 
108
- logger = AdapterLogger(__name__)
109
108
  if TYPE_CHECKING:
110
109
  import agate
111
110
 
@@ -155,25 +154,15 @@ def _catalog_filter_schemas(
155
154
  """Return a function that takes a row and decides if the row should be
156
155
  included in the catalog output.
157
156
  """
158
- schemas = frozenset(
159
- (d.lower(), s.lower()) for d, s in used_schemas if d is not None and s is not None
160
- )
161
- if null_schemas := [d for d, s in used_schemas if d is None or s is None]:
162
- logger.debug(
163
- f"used_schemas contains None for either database or schema, skipping {null_schemas}"
164
- )
157
+ schemas = frozenset((d.lower(), s.lower()) for d, s in used_schemas)
165
158
 
166
159
  def test(row: "agate.Row") -> bool:
167
160
  table_database = _expect_row_value("table_database", row)
168
161
  table_schema = _expect_row_value("table_schema", row)
169
162
  # the schema may be present but None, which is not an error and should
170
163
  # be filtered out
171
-
172
164
  if table_schema is None:
173
165
  return False
174
- if table_database is None:
175
- logger.debug(f"table_database is None, skipping {table_schema}")
176
- return False
177
166
  return (table_database.lower(), table_schema.lower()) in schemas
178
167
 
179
168
  return test
@@ -772,6 +761,12 @@ class BaseAdapter(metaclass=AdapterMeta):
772
761
  "`expand_target_column_types` is not implemented for this adapter!"
773
762
  )
774
763
 
764
+ @record_function(
765
+ AdapterListRelationsWithoutCachingRecord,
766
+ method=True,
767
+ index_on_thread_id=True,
768
+ id_field_name="thread_id",
769
+ )
775
770
  @abc.abstractmethod
776
771
  def list_relations_without_caching(self, schema_relation: BaseRelation) -> List[BaseRelation]:
777
772
  """List relations in the given schema, bypassing the cache.
@@ -3,6 +3,7 @@ from dbt.adapters.catalogs._exceptions import (
3
3
  DbtCatalogIntegrationAlreadyExistsError,
4
4
  DbtCatalogIntegrationNotFoundError,
5
5
  DbtCatalogIntegrationNotSupportedError,
6
+ InvalidCatalogIntegrationConfigError,
6
7
  )
7
8
  from dbt.adapters.catalogs._integration import (
8
9
  CatalogIntegration,
@@ -30,3 +30,10 @@ class DbtCatalogIntegrationNotSupportedError(DbtConfigError):
30
30
  f"Expected one of: {', '.join(supported_catalog_types)}"
31
31
  )
32
32
  super().__init__(msg)
33
+
34
+
35
+ class InvalidCatalogIntegrationConfigError(DbtConfigError):
36
+ def __init__(self, catalog_name: str, msg: str) -> None:
37
+ self.catalog_name = catalog_name
38
+ msg = f"Invalid catalog integration config: {self.catalog_name}. {msg}"
39
+ super().__init__(msg)
@@ -255,3 +255,15 @@ class RelationWrongTypeError(CompilationError):
255
255
  )
256
256
 
257
257
  return msg
258
+
259
+
260
+ class InvalidRelationConfigError(CompilationError):
261
+ def __init__(self, relation, config, msg):
262
+ self.relation = relation
263
+ self.config = config
264
+ self.msg = msg
265
+ super().__init__(msg=self.get_message())
266
+
267
+ def get_message(self) -> str:
268
+ msg = f"Invalid relation config: {self.config}"
269
+ return msg
@@ -2,14 +2,15 @@
2
2
 
3
3
  import dataclasses
4
4
 
5
- from typing import Optional, Tuple, Dict, Any, TYPE_CHECKING
5
+ from typing import Optional, Tuple, Dict, Any, TYPE_CHECKING, List
6
6
 
7
7
  from dbt.adapters.contracts.connection import AdapterResponse
8
- from dbt.adapters.record.serialization import serialize_agate_table
8
+ from dbt.adapters.record.serialization import serialize_agate_table, serialize_bindings
9
9
  from dbt_common.record import Record, Recorder
10
10
 
11
11
  if TYPE_CHECKING:
12
12
  from agate import Table
13
+ from dbt.adapters.base.relation import BaseRelation
13
14
 
14
15
 
15
16
  @dataclasses.dataclass
@@ -161,3 +162,85 @@ class AdapterStandardizeGrantsDictRecord(Record):
161
162
  params_cls = AdapterStandardizeGrantsDictParams
162
163
  result_cls = AdapterStandardizeGrantsDictResult
163
164
  group = "Available"
165
+
166
+
167
+ @dataclasses.dataclass
168
+ class AdapterAddQueryParams:
169
+ thread_id: str
170
+ sql: str
171
+ auto_begin: bool = True
172
+ bindings: Optional[Any] = None
173
+ abridge_sql_log: bool = False
174
+
175
+ def _to_dict(self):
176
+ return {
177
+ "thread_id": self.thread_id,
178
+ "sql": self.sql,
179
+ "auto_begin": self.auto_begin,
180
+ "bindings": serialize_bindings(self.bindings),
181
+ "abridge_sql_log": self.abridge_sql_log,
182
+ }
183
+
184
+
185
+ @dataclasses.dataclass
186
+ class AdapterAddQueryResult:
187
+ return_val: Tuple[str, str]
188
+
189
+ def _to_dict(self):
190
+ return {
191
+ "return_val": {
192
+ "conn": "conn",
193
+ "cursor": "cursor",
194
+ }
195
+ }
196
+
197
+
198
+ @Recorder.register_record_type
199
+ class AdapterAddQueryRecord(Record):
200
+ params_cls = AdapterAddQueryParams
201
+ result_cls = AdapterAddQueryResult
202
+ group = "Available"
203
+
204
+
205
+ @dataclasses.dataclass
206
+ class AdapterListRelationsWithoutCachingParams:
207
+ thread_id: str
208
+ schema_relation: "BaseRelation"
209
+
210
+ def _to_dict(self):
211
+ from dbt.adapters.record.serialization import serialize_base_relation
212
+
213
+ return {
214
+ "thread_id": self.thread_id,
215
+ "schema_relation": serialize_base_relation(self.schema_relation),
216
+ }
217
+
218
+ def _from_dict(self, data: Dict[str, Any]):
219
+ from dbt.adapters.record.serialization import deserialize_base_relation
220
+
221
+ self.thread_id = data["thread_id"]
222
+ self.schema_relation = deserialize_base_relation(data["schema_relation"])
223
+
224
+
225
+ @dataclasses.dataclass
226
+ class AdapterListRelationsWithoutCachingResult:
227
+ return_val: List["BaseRelation"]
228
+
229
+ def _to_dict(self):
230
+ from dbt.adapters.record.serialization import serialize_base_relation_list
231
+
232
+ return {"return_val": serialize_base_relation_list(self.return_val)}
233
+
234
+ def _from_dict(self, data: Dict[str, Any]):
235
+ from dbt.adapters.record.serialization import deserialize_base_relation_list
236
+
237
+ self.return_val = deserialize_base_relation_list(data["return_val"])
238
+
239
+
240
+ @Recorder.register_record_type
241
+ class AdapterListRelationsWithoutCachingRecord(Record):
242
+ """Implements record/replay support for the BaseAdapter.list_relations_without_caching() method."""
243
+
244
+ params_cls = AdapterListRelationsWithoutCachingParams
245
+ result_cls = AdapterListRelationsWithoutCachingResult
246
+ group = "Available"
@@ -0,0 +1,63 @@
1
+ from datetime import datetime, date
2
+ from decimal import Decimal
3
+ from typing import Any, Dict, TYPE_CHECKING, List, Union
4
+
5
+ if TYPE_CHECKING:
6
+ from agate import Table
7
+ from dbt.adapters.base.relation import BaseRelation
8
+
9
+
10
+ def _column_filter(val: Any) -> Any:
11
+ return (
12
+ float(val)
13
+ if isinstance(val, Decimal)
14
+ else (
15
+ str(val)
16
+ if isinstance(val, datetime)
17
+ else str(val) if isinstance(val, date) else str(val)
18
+ )
19
+ )
20
+
21
+
22
+ def serialize_agate_table(table: "Table") -> Dict[str, Any]:
23
+ rows = []
24
+ for row in table.rows:
25
+ row = list(map(_column_filter, row))
26
+ rows.append(row)
27
+
28
+ return {
29
+ "column_names": table.column_names,
30
+ "column_types": [t.__class__.__name__ for t in table.column_types],
31
+ "rows": rows,
32
+ }
33
+
34
+
35
+ def serialize_bindings(bindings: Any) -> Union[None, List[Any], str]:
36
+ if bindings is None:
37
+ return None
38
+ elif isinstance(bindings, list):
39
+ return list(map(_column_filter, bindings))
40
+ else:
41
+ return "bindings"
42
+
43
+
44
+ def serialize_base_relation(relation: "BaseRelation") -> Dict[str, Any]:
45
+ """Serialize a BaseRelation object for recording."""
46
+ return relation.to_dict(omit_none=True)
47
+
48
+
49
+ def serialize_base_relation_list(relations: List["BaseRelation"]) -> List[Dict[str, Any]]:
50
+ """Serialize a list of BaseRelation objects for recording."""
51
+ return [serialize_base_relation(relation) for relation in relations]
52
+
53
+
54
+ def deserialize_base_relation(relation_dict: Dict[str, Any]) -> "BaseRelation":
55
+ """Deserialize a BaseRelation object from a dictionary."""
56
+ from dbt.adapters.base.relation import BaseRelation
57
+
58
+ return BaseRelation.from_dict(relation_dict)
59
+
60
+
61
+ def deserialize_base_relation_list(relations_data: List[Dict[str, Any]]) -> List["BaseRelation"]:
62
+ """Deserialize a list of BaseRelation objects from dictionaries."""
63
+ return [deserialize_base_relation(relation_dict) for relation_dict in relations_data]
@@ -8,7 +8,7 @@ from dbt.adapters.cache import _make_ref_key_dict
8
8
  from dbt.adapters.contracts.connection import AdapterResponse, Connection
9
9
  from dbt.adapters.events.types import ColTypeChange, SchemaCreation, SchemaDrop
10
10
  from dbt.adapters.exceptions import RelationTypeNullError
11
- from dbt.adapters.record.base import AdapterTestSqlRecord
11
+ from dbt.adapters.record.base import AdapterTestSqlRecord, AdapterAddQueryRecord
12
12
  from dbt.adapters.sql.connections import SQLConnectionManager
13
13
 
14
14
  LIST_RELATIONS_MACRO_NAME = "list_relations_without_caching"
@@ -49,6 +49,9 @@ class SQLAdapter(BaseAdapter):
49
49
  connections: SQLConnectionManager
50
50
 
51
51
  @available.parse(lambda *a, **k: (None, None))
52
+ @record_function(
53
+ AdapterAddQueryRecord, method=True, index_on_thread_id=True, id_field_name="thread_id"
54
+ )
52
55
  def add_query(
53
56
  self,
54
57
  sql: str,
@@ -8,7 +8,7 @@
8
8
  {% macro default__create_columns(relation, columns) %}
9
9
  {% for column in columns %}
10
10
  {% call statement() %}
11
- alter table {{ relation.render() }} add column {{ adapter.quote(column.name) }} {{ column.data_type }};
11
+ alter table {{ relation.render() }} add column "{{ column.name }}" {{ column.data_type }};
12
12
  {% endcall %}
13
13
  {% endfor %}
14
14
  {% endmacro %}
@@ -4,28 +4,21 @@
4
4
 
5
5
  {% set expected_rows = config.get('expected_rows') %}
6
6
  {% set expected_sql = config.get('expected_sql') %}
7
- {% set tested_expected_column_names = expected_rows[0].keys() if (expected_rows | length ) > 0 else get_columns_in_query(sql) %}
7
+ {% set tested_expected_column_names = expected_rows[0].keys() if (expected_rows | length ) > 0 else get_columns_in_query(sql) %} %}
8
8
 
9
9
  {%- set target_relation = this.incorporate(type='table') -%}
10
10
  {%- set temp_relation = make_temp_relation(target_relation)-%}
11
11
  {% do run_query(get_create_table_as_sql(True, temp_relation, get_empty_subquery_sql(sql))) %}
12
12
  {%- set columns_in_relation = adapter.get_columns_in_relation(temp_relation) -%}
13
13
  {%- set column_name_to_data_types = {} -%}
14
- {%- set column_name_to_quoted = {} -%}
15
14
  {%- for column in columns_in_relation -%}
16
15
  {%- do column_name_to_data_types.update({column.name|lower: column.data_type}) -%}
17
- {%- do column_name_to_quoted.update({column.name|lower: column.quoted}) -%}
18
- {%- endfor -%}
19
-
20
- {%- set expected_column_names_quoted = [] -%}
21
- {%- for column_name in tested_expected_column_names -%}
22
- {%- do expected_column_names_quoted.append(column_name_to_quoted[column_name|lower]) -%}
23
16
  {%- endfor -%}
24
17
 
25
18
  {% if not expected_sql %}
26
- {% set expected_sql = get_expected_sql(expected_rows, column_name_to_data_types, column_name_to_quoted) %}
19
+ {% set expected_sql = get_expected_sql(expected_rows, column_name_to_data_types) %}
27
20
  {% endif %}
28
- {% set unit_test_sql = get_unit_test_sql(sql, expected_sql, expected_column_names_quoted) %}
21
+ {% set unit_test_sql = get_unit_test_sql(sql, expected_sql, tested_expected_column_names) %}
29
22
 
30
23
  {% call statement('main', fetch_result=True) -%}
31
24
 
@@ -8,12 +8,9 @@
8
8
  {%- set columns_in_relation = adapter.get_columns_in_relation(this_or_defer_relation) -%}
9
9
 
10
10
  {%- set column_name_to_data_types = {} -%}
11
- {%- set column_name_to_quoted = {} -%}
12
11
  {%- for column in columns_in_relation -%}
13
-
14
12
  {#-- This needs to be a case-insensitive comparison --#}
15
13
  {%- do column_name_to_data_types.update({column.name|lower: column.data_type}) -%}
16
- {%- do column_name_to_quoted.update({column.name|lower: column.quoted}) -%}
17
14
  {%- endfor -%}
18
15
  {%- endif -%}
19
16
 
@@ -32,7 +29,7 @@
32
29
  {%- set default_row_copy = default_row.copy() -%}
33
30
  {%- do default_row_copy.update(formatted_row) -%}
34
31
  select
35
- {%- for column_name, column_value in default_row_copy.items() %} {{ column_value }} as {{ column_name_to_quoted[column_name] }}{% if not loop.last -%}, {%- endif %}
32
+ {%- for column_name, column_value in default_row_copy.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%}, {%- endif %}
36
33
  {%- endfor %}
37
34
  {%- if not loop.last %}
38
35
  union all
@@ -41,14 +38,14 @@ union all
41
38
 
42
39
  {%- if (rows | length) == 0 -%}
43
40
  select
44
- {%- for column_name, column_value in default_row.items() %} {{ column_value }} as {{ column_name_to_quoted[column_name] }}{% if not loop.last -%},{%- endif %}
41
+ {%- for column_name, column_value in default_row.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%},{%- endif %}
45
42
  {%- endfor %}
46
43
  limit 0
47
44
  {%- endif -%}
48
45
  {% endmacro %}
49
46
 
50
47
 
51
- {% macro get_expected_sql(rows, column_name_to_data_types, column_name_to_quoted) %}
48
+ {% macro get_expected_sql(rows, column_name_to_data_types) %}
52
49
 
53
50
  {%- if (rows | length) == 0 -%}
54
51
  select * from dbt_internal_unit_test_actual
@@ -57,7 +54,7 @@ union all
57
54
  {%- for row in rows -%}
58
55
  {%- set formatted_row = format_row(row, column_name_to_data_types) -%}
59
56
  select
60
- {%- for column_name, column_value in formatted_row.items() %} {{ column_value }} as {{ column_name_to_quoted[column_name] }}{% if not loop.last -%}, {%- endif %}
57
+ {%- for column_name, column_value in formatted_row.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%}, {%- endif %}
61
58
  {%- endfor %}
62
59
  {%- if not loop.last %}
63
60
  union all
@@ -1,8 +0,0 @@
1
- ## dbt-adapters 1.16.1 - July 10, 2025
2
-
3
- ### Fixes
4
-
5
- - Fix Snapshot to avoid inserting redundant entries for records already marked as deleted ([#654](https://github.com/dbt-labs/dbt-adapters/issues/654))
6
-
7
- ### Contributors
8
- - [@lpillmann](https://github.com/lpillmann) ([#654](https://github.com/dbt-labs/dbt-adapters/issues/654))
@@ -1,9 +0,0 @@
1
- ## dbt-adapters 1.16.2 - July 14, 2025
2
-
3
- ### Fixes
4
-
5
- - Fixed hard-coded quoting issue in snapshots. ([#1118](https://github.com/dbt-labs/dbt-adapters/issues/1118))
6
- - Skip cloning objects if the target and defferal are the same ([#1198](https://github.com/dbt-labs/dbt-adapters/issues/1198))
7
-
8
- ### Contributors
9
- - [@stevetracvc](https://github.com/stevetracvc) ([#1118](https://github.com/dbt-labs/dbt-adapters/issues/1118))
@@ -1,10 +0,0 @@
1
- ## dbt-adapters 1.16.3 - July 21, 2025
2
-
3
- ### Fixes
4
-
5
- - Update dbt snapshot staging table creation to handle new source columns when using hard_deletes == 'new_record' ([#852](https://github.com/dbt-labs/dbt-adapters/issues/852))
6
- - update alter_relation_add_remove_columns to quote column names ([#63](https://github.com/dbt-labs/dbt-adapters/issues/63))
7
-
8
- ### Under the Hood
9
-
10
- - gracefully handle null database in _catalog_filter_schemas ([#1216](https://github.com/dbt-labs/dbt-adapters/issues/1216))
@@ -1,12 +0,0 @@
1
- ## dbt-adapters 1.16.4 - August 15, 2025
2
-
3
- ### Fixes
4
-
5
- - Apply column quoting to unit tests ([#205](https://github.com/dbt-labs/dbt-adapters/issues/205))
6
-
7
- ### Dependencies
8
-
9
- - upgrade protobuf to 6.0 ([#1259](https://github.com/dbt-labs/dbt-adapters/pull/1259))
10
-
11
- ### Contributors
12
- - [@mpatek](https://github.com/mpatek) ([#205](https://github.com/dbt-labs/dbt-adapters/issues/205))
@@ -1,5 +0,0 @@
1
- ## dbt-adapters 1.16.5 - August 19, 2025
2
-
3
- ### Fixes
4
-
5
- - Correct column mapping lookup in unit test macro ([#1273](https://github.com/dbt-labs/dbt-adapters/issues/1273))
@@ -1 +0,0 @@
1
- version = "1.16.5"
@@ -1,31 +0,0 @@
1
- from datetime import datetime, date
2
- from decimal import Decimal
3
- from typing import Any, Dict, TYPE_CHECKING
4
-
5
- if TYPE_CHECKING:
6
- from agate import Table
7
-
8
-
9
- def _column_filter(val: Any) -> Any:
10
- return (
11
- float(val)
12
- if isinstance(val, Decimal)
13
- else (
14
- str(val)
15
- if isinstance(val, datetime)
16
- else str(val) if isinstance(val, date) else str(val)
17
- )
18
- )
19
-
20
-
21
- def serialize_agate_table(table: "Table") -> Dict[str, Any]:
22
- rows = []
23
- for row in table.rows:
24
- row = list(map(_column_filter, row))
25
- rows.append(row)
26
-
27
- return {
28
- "column_names": table.column_names,
29
- "column_types": [t.__class__.__name__ for t in table.column_types],
30
- "rows": rows,
31
- }