dbt-adapters 1.1.1__tar.gz → 1.2.1__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 (157) hide show
  1. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/PKG-INFO +1 -1
  2. dbt_adapters-1.2.1/dbt/adapters/__about__.py +1 -0
  3. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/contracts/relation.py +2 -1
  4. dbt_adapters-1.2.1/dbt/adapters/record.py +67 -0
  5. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/sql/connections.py +9 -9
  6. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql +1 -1
  7. dbt_adapters-1.1.1/dbt/adapters/__about__.py +0 -1
  8. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/.gitignore +0 -0
  9. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/LICENSE +0 -0
  10. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/README.md +0 -0
  11. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/__init__.py +0 -0
  12. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/__init__.py +0 -0
  13. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/README.md +0 -0
  14. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/__init__.py +0 -0
  15. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/column.py +0 -0
  16. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/connections.py +0 -0
  17. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/impl.py +0 -0
  18. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/meta.py +0 -0
  19. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/plugin.py +0 -0
  20. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/query_headers.py +0 -0
  21. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/base/relation.py +0 -0
  22. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/cache.py +0 -0
  23. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/capability.py +0 -0
  24. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/clients/__init__.py +0 -0
  25. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/clients/jinja.py +0 -0
  26. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/contracts/__init__.py +0 -0
  27. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/contracts/connection.py +0 -0
  28. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/contracts/macros.py +0 -0
  29. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/README.md +0 -0
  30. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/__init__.py +0 -0
  31. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/adapter_types.proto +0 -0
  32. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/adapter_types_pb2.py +0 -0
  33. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/base_types.py +0 -0
  34. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/logging.py +0 -0
  35. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/events/types.py +0 -0
  36. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/__init__.py +0 -0
  37. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/alias.py +0 -0
  38. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/cache.py +0 -0
  39. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/compilation.py +0 -0
  40. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/connection.py +0 -0
  41. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/exceptions/database.py +0 -0
  42. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/factory.py +0 -0
  43. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/protocol.py +0 -0
  44. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/py.typed +0 -0
  45. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/reference_keys.py +0 -0
  46. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/README.md +0 -0
  47. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/__init__.py +0 -0
  48. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/config_base.py +0 -0
  49. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/config_change.py +0 -0
  50. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/relation_configs/config_validation.py +0 -0
  51. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/sql/__init__.py +0 -0
  52. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/sql/impl.py +0 -0
  53. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/adapters/utils.py +0 -0
  54. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/__init__.py +0 -0
  55. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/__init__.py +0 -0
  56. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/dbt_project.yml +0 -0
  57. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/docs/overview.md +0 -0
  58. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/apply_grants.sql +0 -0
  59. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/columns.sql +0 -0
  60. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/freshness.sql +0 -0
  61. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/indexes.sql +0 -0
  62. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/metadata.sql +0 -0
  63. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/persist_docs.sql +0 -0
  64. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/relation.sql +0 -0
  65. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/schema.sql +0 -0
  66. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/show.sql +0 -0
  67. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/timestamps.sql +0 -0
  68. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/adapters/validate_sql.sql +0 -0
  69. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/etc/datetime.sql +0 -0
  70. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/etc/statement.sql +0 -0
  71. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/generic_test_sql/accepted_values.sql +0 -0
  72. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/generic_test_sql/not_null.sql +0 -0
  73. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/generic_test_sql/relationships.sql +0 -0
  74. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/generic_test_sql/unique.sql +0 -0
  75. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/get_custom_name/get_custom_alias.sql +0 -0
  76. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/get_custom_name/get_custom_database.sql +0 -0
  77. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/get_custom_name/get_custom_schema.sql +0 -0
  78. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/configs.sql +0 -0
  79. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/hooks.sql +0 -0
  80. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/clone/can_clone_table.sql +0 -0
  81. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/clone/clone.sql +0 -0
  82. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql +0 -0
  83. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql +0 -0
  84. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/incremental.sql +0 -0
  85. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql +0 -0
  86. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/merge.sql +0 -0
  87. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql +0 -0
  88. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/incremental/strategies.sql +0 -0
  89. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/materialized_view.sql +0 -0
  90. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/table.sql +0 -0
  91. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/models/view.sql +0 -0
  92. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/seeds/helpers.sql +0 -0
  93. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/seeds/seed.sql +0 -0
  94. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/snapshots/helpers.sql +0 -0
  95. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/snapshots/snapshot.sql +0 -0
  96. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql +0 -0
  97. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/snapshots/strategies.sql +0 -0
  98. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/tests/helpers.sql +0 -0
  99. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/tests/test.sql +0 -0
  100. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/tests/unit.sql +0 -0
  101. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/materializations/tests/where_subquery.sql +0 -0
  102. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/python_model/python.sql +0 -0
  103. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/column/columns_spec_ddl.sql +0 -0
  104. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/create.sql +0 -0
  105. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/create_backup.sql +0 -0
  106. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/create_intermediate.sql +0 -0
  107. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/drop.sql +0 -0
  108. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/drop_backup.sql +0 -0
  109. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/alter.sql +0 -0
  110. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/create.sql +0 -0
  111. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/drop.sql +0 -0
  112. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/refresh.sql +0 -0
  113. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/rename.sql +0 -0
  114. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/materialized_view/replace.sql +0 -0
  115. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/rename.sql +0 -0
  116. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/rename_intermediate.sql +0 -0
  117. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/replace.sql +0 -0
  118. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/schema.sql +0 -0
  119. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/create.sql +0 -0
  120. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/drop.sql +0 -0
  121. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/rename.sql +0 -0
  122. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/table/replace.sql +0 -0
  123. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/create.sql +0 -0
  124. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/drop.sql +0 -0
  125. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/rename.sql +0 -0
  126. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/relations/view/replace.sql +0 -0
  127. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/any_value.sql +0 -0
  128. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/array_append.sql +0 -0
  129. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/array_concat.sql +0 -0
  130. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/array_construct.sql +0 -0
  131. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/bool_or.sql +0 -0
  132. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/cast.sql +0 -0
  133. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/cast_bool_to_text.sql +0 -0
  134. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/concat.sql +0 -0
  135. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/data_types.sql +0 -0
  136. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/date.sql +0 -0
  137. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/date_spine.sql +0 -0
  138. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/date_trunc.sql +0 -0
  139. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/dateadd.sql +0 -0
  140. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/datediff.sql +0 -0
  141. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/escape_single_quotes.sql +0 -0
  142. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/except.sql +0 -0
  143. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/generate_series.sql +0 -0
  144. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/hash.sql +0 -0
  145. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/intersect.sql +0 -0
  146. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/last_day.sql +0 -0
  147. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/length.sql +0 -0
  148. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/listagg.sql +0 -0
  149. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/literal.sql +0 -0
  150. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/position.sql +0 -0
  151. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/replace.sql +0 -0
  152. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/right.sql +0 -0
  153. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/safe_cast.sql +0 -0
  154. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/macros/utils/split_part.sql +0 -0
  155. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/global_project/tests/generic/builtin.sql +0 -0
  156. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/dbt/include/py.typed +0 -0
  157. {dbt_adapters-1.1.1 → dbt_adapters-1.2.1}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dbt-adapters
3
- Version: 1.1.1
3
+ Version: 1.2.1
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.2.1"
@@ -18,8 +18,9 @@ class RelationType(StrEnum):
18
18
  View = "view"
19
19
  CTE = "cte"
20
20
  MaterializedView = "materialized_view"
21
- External = "external"
22
21
  Ephemeral = "ephemeral"
22
+ # this is a "catch all" that is better than `None` == external to anything dbt is aware of
23
+ External = "external"
23
24
 
24
25
 
25
26
  class MaterializationContract(Protocol):
@@ -0,0 +1,67 @@
1
+ import dataclasses
2
+ from io import StringIO
3
+ import json
4
+ import re
5
+ from typing import Any, Optional, Mapping
6
+
7
+ from agate import Table
8
+
9
+ from dbt_common.events.contextvars import get_node_info
10
+ from dbt_common.record import Record, Recorder
11
+
12
+ from dbt.adapters.contracts.connection import AdapterResponse
13
+
14
+
15
+ @dataclasses.dataclass
16
+ class QueryRecordParams:
17
+ sql: str
18
+ auto_begin: bool = False
19
+ fetch: bool = False
20
+ limit: Optional[int] = None
21
+ node_unique_id: Optional[str] = None
22
+
23
+ def __post_init__(self) -> None:
24
+ if self.node_unique_id is None:
25
+ node_info = get_node_info()
26
+ self.node_unique_id = node_info["unique_id"] if node_info else ""
27
+
28
+ @staticmethod
29
+ def _clean_up_sql(sql: str) -> str:
30
+ sql = re.sub(r"--.*?\n", "", sql) # Remove single-line comments (--)
31
+ sql = re.sub(r"/\*.*?\*/", "", sql, flags=re.DOTALL) # Remove multi-line comments (/* */)
32
+ return sql.replace(" ", "").replace("\n", "")
33
+
34
+ def _matches(self, other: "QueryRecordParams") -> bool:
35
+ return self.node_unique_id == other.node_unique_id and self._clean_up_sql(
36
+ self.sql
37
+ ) == self._clean_up_sql(other.sql)
38
+
39
+
40
+ @dataclasses.dataclass
41
+ class QueryRecordResult:
42
+ adapter_response: Optional["AdapterResponse"]
43
+ table: Optional[Table]
44
+
45
+ def _to_dict(self) -> Any:
46
+ buf = StringIO()
47
+ self.table.to_json(buf) # type: ignore
48
+
49
+ return {
50
+ "adapter_response": self.adapter_response.to_dict(), # type: ignore
51
+ "table": buf.getvalue(),
52
+ }
53
+
54
+ @classmethod
55
+ def _from_dict(cls, dct: Mapping) -> "QueryRecordResult":
56
+ return QueryRecordResult(
57
+ adapter_response=AdapterResponse.from_dict(dct["adapter_response"]),
58
+ table=Table.from_object(json.loads(dct["table"])),
59
+ )
60
+
61
+
62
+ class QueryRecord(Record):
63
+ params_cls = QueryRecordParams
64
+ result_cls = QueryRecordResult
65
+
66
+
67
+ Recorder.register_record_type(QueryRecord)
@@ -1,10 +1,11 @@
1
1
  import abc
2
2
  import time
3
- from typing import Any, Dict, Iterable, List, Optional, Tuple, TYPE_CHECKING
3
+ from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, TYPE_CHECKING
4
4
 
5
5
  from dbt_common.events.contextvars import get_node_info
6
6
  from dbt_common.events.functions import fire_event
7
7
  from dbt_common.exceptions import DbtInternalError, NotImplementedError
8
+ from dbt_common.record import record_function
8
9
  from dbt_common.utils import cast_to_str
9
10
 
10
11
  from dbt.adapters.base import BaseConnectionManager
@@ -19,6 +20,7 @@ from dbt.adapters.events.types import (
19
20
  SQLQuery,
20
21
  SQLQueryStatus,
21
22
  )
23
+ from dbt.adapters.record import QueryRecord
22
24
 
23
25
  if TYPE_CHECKING:
24
26
  import agate
@@ -110,27 +112,24 @@ class SQLConnectionManager(BaseConnectionManager):
110
112
  @classmethod
111
113
  def process_results(
112
114
  cls, column_names: Iterable[str], rows: Iterable[Any]
113
- ) -> List[Dict[str, Any]]:
114
- # TODO CT-211
115
+ ) -> Iterator[Dict[str, Any]]:
115
116
  unique_col_names = dict() # type: ignore[var-annotated]
116
- # TODO CT-211
117
117
  for idx in range(len(column_names)): # type: ignore[arg-type]
118
- # TODO CT-211
119
118
  col_name = column_names[idx] # type: ignore[index]
120
119
  if col_name in unique_col_names:
121
120
  unique_col_names[col_name] += 1
122
- # TODO CT-211
123
121
  column_names[idx] = f"{col_name}_{unique_col_names[col_name]}" # type: ignore[index] # noqa
124
122
  else:
125
- # TODO CT-211
126
123
  unique_col_names[column_names[idx]] = 1 # type: ignore[index]
127
- return [dict(zip(column_names, row)) for row in rows]
124
+
125
+ for row in rows:
126
+ yield dict(zip(column_names, row))
128
127
 
129
128
  @classmethod
130
129
  def get_result_from_cursor(cls, cursor: Any, limit: Optional[int]) -> "agate.Table":
131
130
  from dbt_common.clients.agate_helper import table_from_data_flat
132
131
 
133
- data: List[Any] = []
132
+ data: Iterable[Any] = []
134
133
  column_names: List[str] = []
135
134
 
136
135
  if cursor.description is not None:
@@ -143,6 +142,7 @@ class SQLConnectionManager(BaseConnectionManager):
143
142
 
144
143
  return table_from_data_flat(data, column_names)
145
144
 
145
+ @record_function(QueryRecord, method=True, tuple_result=True)
146
146
  def execute(
147
147
  self,
148
148
  sql: str,
@@ -15,7 +15,7 @@
15
15
  {%- endif -%}
16
16
 
17
17
  {%- if not column_name_to_data_types -%}
18
- {{ exceptions.raise_compiler_error("Not able to get columns for unit test '" ~ model.name ~ "' from relation " ~ this) }}
18
+ {{ exceptions.raise_compiler_error("Not able to get columns for unit test '" ~ model.name ~ "' from relation " ~ this ~ " because the relation doesn't exist") }}
19
19
  {%- endif -%}
20
20
 
21
21
  {%- for column_name, column_type in column_name_to_data_types.items() -%}
@@ -1 +0,0 @@
1
- version = "1.1.1"
File without changes
File without changes
File without changes