dbt-adapters 1.0.0b2__tar.gz → 1.0.8b3__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.0.0b2 → dbt_adapters-1.0.8b3}/PKG-INFO +1 -1
  2. dbt_adapters-1.0.8b3/dbt/adapters/__about__.py +1 -0
  3. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/impl.py +94 -23
  4. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/capability.py +3 -0
  5. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/events/adapter_types.proto +10 -0
  6. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/events/adapter_types_pb2.py +5 -2
  7. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/events/types.py +15 -1
  8. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/factory.py +20 -4
  9. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/tests/unit.sql +6 -2
  10. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/pyproject.toml +1 -1
  11. dbt_adapters-1.0.0b2/dbt/adapters/__about__.py +0 -1
  12. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/.gitignore +0 -0
  13. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/LICENSE +0 -0
  14. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/README.md +0 -0
  15. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/__init__.py +0 -0
  16. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/__init__.py +0 -0
  17. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/README.md +0 -0
  18. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/__init__.py +0 -0
  19. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/column.py +0 -0
  20. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/connections.py +0 -0
  21. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/meta.py +0 -0
  22. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/plugin.py +0 -0
  23. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/query_headers.py +0 -0
  24. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/base/relation.py +0 -0
  25. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/cache.py +0 -0
  26. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/clients/__init__.py +0 -0
  27. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/clients/jinja.py +0 -0
  28. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/contracts/__init__.py +0 -0
  29. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/contracts/connection.py +0 -0
  30. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/contracts/macros.py +0 -0
  31. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/contracts/relation.py +0 -0
  32. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/events/README.md +0 -0
  33. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/events/__init__.py +0 -0
  34. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/events/base_types.py +0 -0
  35. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/events/logging.py +0 -0
  36. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/exceptions/__init__.py +0 -0
  37. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/exceptions/alias.py +0 -0
  38. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/exceptions/cache.py +0 -0
  39. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/exceptions/compilation.py +0 -0
  40. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/exceptions/connection.py +0 -0
  41. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/exceptions/database.py +0 -0
  42. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/protocol.py +0 -0
  43. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/py.typed +0 -0
  44. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/reference_keys.py +0 -0
  45. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/relation_configs/README.md +0 -0
  46. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/relation_configs/__init__.py +0 -0
  47. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/relation_configs/config_base.py +0 -0
  48. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/relation_configs/config_change.py +0 -0
  49. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/relation_configs/config_validation.py +0 -0
  50. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/sql/__init__.py +0 -0
  51. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/sql/connections.py +0 -0
  52. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/sql/impl.py +0 -0
  53. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/adapters/utils.py +0 -0
  54. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/__init__.py +0 -0
  55. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/__init__.py +0 -0
  56. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/dbt_project.yml +0 -0
  57. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/docs/overview.md +0 -0
  58. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/apply_grants.sql +0 -0
  59. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/columns.sql +0 -0
  60. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/freshness.sql +0 -0
  61. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/indexes.sql +0 -0
  62. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/metadata.sql +0 -0
  63. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/persist_docs.sql +0 -0
  64. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/relation.sql +0 -0
  65. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/schema.sql +0 -0
  66. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/show.sql +0 -0
  67. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/timestamps.sql +0 -0
  68. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/adapters/validate_sql.sql +0 -0
  69. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/etc/datetime.sql +0 -0
  70. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/etc/statement.sql +0 -0
  71. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/generic_test_sql/accepted_values.sql +0 -0
  72. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/generic_test_sql/not_null.sql +0 -0
  73. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/generic_test_sql/relationships.sql +0 -0
  74. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/generic_test_sql/unique.sql +0 -0
  75. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/get_custom_name/get_custom_alias.sql +0 -0
  76. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/get_custom_name/get_custom_database.sql +0 -0
  77. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/get_custom_name/get_custom_schema.sql +0 -0
  78. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/configs.sql +0 -0
  79. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/hooks.sql +0 -0
  80. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/clone/can_clone_table.sql +0 -0
  81. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/clone/clone.sql +0 -0
  82. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/clone/create_or_replace_clone.sql +0 -0
  83. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql +0 -0
  84. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/incremental/incremental.sql +0 -0
  85. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql +0 -0
  86. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/incremental/merge.sql +0 -0
  87. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql +0 -0
  88. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/incremental/strategies.sql +0 -0
  89. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/materialized_view.sql +0 -0
  90. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/table.sql +0 -0
  91. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/models/view.sql +0 -0
  92. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/seeds/helpers.sql +0 -0
  93. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/seeds/seed.sql +0 -0
  94. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/snapshots/helpers.sql +0 -0
  95. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/snapshots/snapshot.sql +0 -0
  96. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/snapshots/snapshot_merge.sql +0 -0
  97. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/snapshots/strategies.sql +0 -0
  98. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/tests/helpers.sql +0 -0
  99. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/tests/test.sql +0 -0
  100. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/materializations/tests/where_subquery.sql +0 -0
  101. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/python_model/python.sql +0 -0
  102. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/column/columns_spec_ddl.sql +0 -0
  103. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/create.sql +0 -0
  104. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/create_backup.sql +0 -0
  105. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/create_intermediate.sql +0 -0
  106. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/drop.sql +0 -0
  107. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/drop_backup.sql +0 -0
  108. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/materialized_view/alter.sql +0 -0
  109. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/materialized_view/create.sql +0 -0
  110. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/materialized_view/drop.sql +0 -0
  111. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/materialized_view/refresh.sql +0 -0
  112. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/materialized_view/rename.sql +0 -0
  113. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/materialized_view/replace.sql +0 -0
  114. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/rename.sql +0 -0
  115. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/rename_intermediate.sql +0 -0
  116. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/replace.sql +0 -0
  117. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/schema.sql +0 -0
  118. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/table/create.sql +0 -0
  119. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/table/drop.sql +0 -0
  120. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/table/rename.sql +0 -0
  121. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/table/replace.sql +0 -0
  122. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/view/create.sql +0 -0
  123. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/view/drop.sql +0 -0
  124. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/view/rename.sql +0 -0
  125. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/relations/view/replace.sql +0 -0
  126. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/unit_test_sql/get_fixture_sql.sql +0 -0
  127. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/any_value.sql +0 -0
  128. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/array_append.sql +0 -0
  129. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/array_concat.sql +0 -0
  130. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/array_construct.sql +0 -0
  131. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/bool_or.sql +0 -0
  132. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/cast.sql +0 -0
  133. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/cast_bool_to_text.sql +0 -0
  134. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/concat.sql +0 -0
  135. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/data_types.sql +0 -0
  136. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/date_spine.sql +0 -0
  137. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/date_trunc.sql +0 -0
  138. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/dateadd.sql +0 -0
  139. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/datediff.sql +0 -0
  140. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/escape_single_quotes.sql +0 -0
  141. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/except.sql +0 -0
  142. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/generate_series.sql +0 -0
  143. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/hash.sql +0 -0
  144. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/intersect.sql +0 -0
  145. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/last_day.sql +0 -0
  146. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/length.sql +0 -0
  147. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/listagg.sql +0 -0
  148. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/literal.sql +0 -0
  149. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/position.sql +0 -0
  150. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/replace.sql +0 -0
  151. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/right.sql +0 -0
  152. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/safe_cast.sql +0 -0
  153. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/macros/utils/split_part.sql +0 -0
  154. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/global_project/tests/generic/builtin.sql +0 -0
  155. {dbt_adapters-1.0.0b2 → dbt_adapters-1.0.8b3}/dbt/include/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dbt-adapters
3
- Version: 1.0.0b2
3
+ Version: 1.0.8b3
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.0.8b3"
@@ -1062,6 +1062,7 @@ class BaseAdapter(metaclass=AdapterMeta):
1062
1062
  project: Optional[str] = None,
1063
1063
  context_override: Optional[Dict[str, Any]] = None,
1064
1064
  kwargs: Optional[Dict[str, Any]] = None,
1065
+ needs_conn: bool = False,
1065
1066
  ) -> AttrDict:
1066
1067
  """Look macro_name up in the manifest and execute its results.
1067
1068
 
@@ -1074,6 +1075,10 @@ class BaseAdapter(metaclass=AdapterMeta):
1074
1075
  execution context.
1075
1076
  :param kwargs: An optional dict of keyword args used to pass to the
1076
1077
  macro.
1078
+ : param needs_conn: A boolean that indicates whether the specified macro
1079
+ requires an open connection to execute. If needs_conn is True, a
1080
+ connection is expected and opened if necessary. Otherwise (and by default),
1081
+ no connection is expected prior to executing the macro.
1077
1082
  """
1078
1083
 
1079
1084
  if kwargs is None:
@@ -1106,6 +1111,10 @@ class BaseAdapter(metaclass=AdapterMeta):
1106
1111
 
1107
1112
  macro_function = CallableMacroGenerator(macro, macro_context)
1108
1113
 
1114
+ if needs_conn:
1115
+ connection = self.connections.get_thread_connection()
1116
+ self.connections.open(connection)
1117
+
1109
1118
  with self.connections.exception_handler(f"macro {macro_name}"):
1110
1119
  result = macro_function(**kwargs)
1111
1120
  return result
@@ -1297,48 +1306,110 @@ class BaseAdapter(metaclass=AdapterMeta):
1297
1306
  }
1298
1307
  return adapter_response, freshness
1299
1308
 
1309
+ def calculate_freshness_from_metadata_batch(
1310
+ self,
1311
+ sources: List[BaseRelation],
1312
+ macro_resolver: Optional[MacroResolverProtocol] = None,
1313
+ ) -> Tuple[List[Optional[AdapterResponse]], Dict[BaseRelation, FreshnessResponse]]:
1314
+ """
1315
+ Given a list of sources (BaseRelations), calculate the metadata-based freshness in batch.
1316
+ This method should _not_ execute a warehouse query per source, but rather batch up
1317
+ the sources into as few requests as possible to minimize the number of roundtrips required
1318
+ to compute metadata-based freshness for each input source.
1319
+
1320
+ :param sources: The list of sources to calculate metadata-based freshness for
1321
+ :param macro_resolver: An optional macro_resolver to use for get_relation_last_modified
1322
+ :return: a tuple where:
1323
+ * the first element is a list of optional AdapterResponses indicating the response
1324
+ for each request the method made to compute the freshness for the provided sources.
1325
+ * the second element is a dictionary mapping an input source BaseRelation to a FreshnessResponse,
1326
+ if it was possible to calculate a FreshnessResponse for the source.
1327
+ """
1328
+ # Track schema, identifiers of sources for lookup from batch query
1329
+ schema_identifier_to_source = {
1330
+ (
1331
+ source.path.get_lowered_part(ComponentName.Schema),
1332
+ source.path.get_lowered_part(ComponentName.Identifier),
1333
+ ): source
1334
+ for source in sources
1335
+ }
1336
+
1337
+ # Group metadata sources by information schema -- one query per information schema will be necessary
1338
+ sources_by_info_schema: Dict[InformationSchema, List[BaseRelation]] = self._get_catalog_relations_by_info_schema(sources)
1339
+
1340
+ freshness_responses: Dict[BaseRelation, FreshnessResponse] = {}
1341
+ adapter_responses: List[Optional[AdapterResponse]] = []
1342
+ for (
1343
+ information_schema,
1344
+ sources_for_information_schema,
1345
+ ) in sources_by_info_schema.items():
1346
+ result = self.execute_macro(
1347
+ GET_RELATION_LAST_MODIFIED_MACRO_NAME,
1348
+ kwargs={
1349
+ "information_schema": information_schema,
1350
+ "relations": sources_for_information_schema,
1351
+ },
1352
+ macro_resolver=macro_resolver,
1353
+ needs_conn=True,
1354
+ )
1355
+ adapter_response, table = result.response, result.table # type: ignore[attr-defined]
1356
+ adapter_responses.append(adapter_response)
1357
+
1358
+ for row in table:
1359
+ raw_relation, freshness_response = self._parse_freshness_row(row, table)
1360
+ source_relation_for_result = schema_identifier_to_source[raw_relation]
1361
+ freshness_responses[source_relation_for_result] = freshness_response
1362
+
1363
+ return adapter_responses, freshness_responses
1364
+
1300
1365
  def calculate_freshness_from_metadata(
1301
1366
  self,
1302
1367
  source: BaseRelation,
1303
1368
  macro_resolver: Optional[MacroResolverProtocol] = None,
1304
1369
  ) -> Tuple[Optional[AdapterResponse], FreshnessResponse]:
1305
- kwargs: Dict[str, Any] = {
1306
- "information_schema": source.information_schema_only(),
1307
- "relations": [source],
1308
- }
1309
- result = self.execute_macro(
1310
- GET_RELATION_LAST_MODIFIED_MACRO_NAME,
1311
- kwargs=kwargs,
1370
+ adapter_responses, freshness_responses = self.calculate_freshness_from_metadata_batch(
1371
+ sources=[source],
1312
1372
  macro_resolver=macro_resolver,
1313
1373
  )
1314
- adapter_response, table = result.response, result.table # type: ignore[attr-defined]
1315
-
1316
- try:
1317
- from dbt_common.clients.agate_helper import get_column_value_uncased
1374
+ adapter_response = adapter_responses[0] if adapter_responses else None
1375
+ return adapter_response, freshness_responses[source]
1318
1376
 
1319
- row = table[0]
1320
- last_modified_val = get_column_value_uncased("last_modified", row)
1321
- snapshotted_at_val = get_column_value_uncased("snapshotted_at", row)
1322
- except Exception:
1323
- raise MacroResultError(GET_RELATION_LAST_MODIFIED_MACRO_NAME, table)
1324
-
1325
- if last_modified_val is None:
1377
+ def _create_freshness_response(
1378
+ self, last_modified: Optional[datetime], snapshotted_at: Optional[datetime]
1379
+ ) -> FreshnessResponse:
1380
+ if last_modified is None:
1326
1381
  # Interpret missing value as "infinitely long ago"
1327
1382
  max_loaded_at = datetime(1, 1, 1, 0, 0, 0, tzinfo=pytz.UTC)
1328
1383
  else:
1329
- max_loaded_at = _utc(last_modified_val, None, "last_modified")
1330
-
1331
- snapshotted_at = _utc(snapshotted_at_val, None, "snapshotted_at")
1384
+ max_loaded_at = _utc(last_modified, None, "last_modified")
1332
1385
 
1386
+ snapshotted_at = _utc(snapshotted_at, None, "snapshotted_at")
1333
1387
  age = (snapshotted_at - max_loaded_at).total_seconds()
1334
-
1335
1388
  freshness: FreshnessResponse = {
1336
1389
  "max_loaded_at": max_loaded_at,
1337
1390
  "snapshotted_at": snapshotted_at,
1338
1391
  "age": age,
1339
1392
  }
1340
1393
 
1341
- return adapter_response, freshness
1394
+ return freshness
1395
+
1396
+ def _parse_freshness_row(self, row: "agate.Row", table: "agate.Table") -> Tuple[Any, FreshnessResponse]:
1397
+ from dbt_common.clients.agate_helper import get_column_value_uncased
1398
+
1399
+ try:
1400
+ last_modified_val = get_column_value_uncased("last_modified", row)
1401
+ snapshotted_at_val = get_column_value_uncased("snapshotted_at", row)
1402
+ identifier = get_column_value_uncased("identifier", row)
1403
+ schema = get_column_value_uncased("schema", row)
1404
+ except Exception:
1405
+ raise MacroResultError(GET_RELATION_LAST_MODIFIED_MACRO_NAME, table)
1406
+
1407
+ freshness_response = self._create_freshness_response(
1408
+ last_modified_val,
1409
+ snapshotted_at_val
1410
+ )
1411
+ raw_relation = schema.lower().strip(), identifier.lower().strip()
1412
+ return raw_relation, freshness_response
1342
1413
 
1343
1414
  def pre_model_hook(self, config: Mapping[str, Any]) -> Any:
1344
1415
  """A hook for running some operation before the model materialization
@@ -13,6 +13,9 @@ class Capability(str, Enum):
13
13
  TableLastModifiedMetadata = "TableLastModifiedMetadata"
14
14
  """Indicates support for determining the time of the last table modification by querying database metadata."""
15
15
 
16
+ TableLastModifiedMetadataBatch = "TableLastModifiedMetadataBatch"
17
+ """Indicates support for performantly determining the time of the last table modification by querying database metadata in batch."""
18
+
16
19
 
17
20
  class Support(str, Enum):
18
21
  Unknown = "Unknown"
@@ -515,3 +515,13 @@ message ConstraintNotSupportedMsg {
515
515
  AdapterCommonEventInfo info = 1;
516
516
  ConstraintNotSupported data = 2;
517
517
  }
518
+
519
+ // E050
520
+ message TypeCodeNotFound {
521
+ int32 type_code = 1;
522
+ }
523
+
524
+ message TypeCodeNotFoundMsg {
525
+ AdapterCommonEventInfo info = 1;
526
+ TypeCodeNotFound data = 2;
527
+ }
@@ -1,7 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: adapter_types.proto
4
- # Protobuf Python Version: 4.25.2
5
4
  """Generated protocol buffer code."""
6
5
  from google.protobuf import descriptor as _descriptor
7
6
  from google.protobuf import descriptor_pool as _descriptor_pool
@@ -16,7 +15,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
16
15
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
17
16
 
18
17
 
19
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13\x61\x64\x61pter_types.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xab\x02\n\x16\x41\x64\x61pterCommonEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x05\x65xtra\x18\t \x03(\x0b\x32..proto_types.AdapterCommonEventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"]\n\x13\x41\x64\x61pterNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x9f\x02\n\x0f\x41\x64\x61pterNodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x37\n\rnode_relation\x18\n \x01(\x0b\x32 .proto_types.AdapterNodeRelation\"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t\"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"\x87\x01\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning\"!\n\x1f\x43ollectFreshnessReturnSignature\"\x93\x01\n\"CollectFreshnessReturnSignatureMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature\"\x8e\x01\n\x11\x41\x64\x61pterEventDebug\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"w\n\x14\x41\x64\x61pterEventDebugMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug\"\x8d\x01\n\x10\x41\x64\x61pterEventInfo\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"u\n\x13\x41\x64\x61pterEventInfoMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo\"\x90\x01\n\x13\x41\x64\x61pterEventWarning\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"{\n\x16\x41\x64\x61pterEventWarningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning\"\xa0\x01\n\x11\x41\x64\x61pterEventError\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t\"w\n\x14\x41\x64\x61pterEventErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError\"f\n\rNewConnection\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"o\n\x10NewConnectionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection\"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t\"u\n\x13\x43onnectionReusedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused\"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"\x8b\x01\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup\".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"\x87\x01\n\x1c\x43onnectionClosedInCleanupMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup\"f\n\x0eRollbackFailed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"q\n\x11RollbackFailedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed\"V\n\x10\x43onnectionClosed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"u\n\x13\x43onnectionClosedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed\"X\n\x12\x43onnectionLeftOpen\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"y\n\x15\x43onnectionLeftOpenMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen\"N\n\x08Rollback\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"e\n\x0bRollbackMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback\"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"g\n\x0c\x43\x61\x63heMissMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss\"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"o\n\x10ListRelationsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations\"g\n\x0e\x43onnectionUsed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"q\n\x11\x43onnectionUsedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed\"[\n\x08SQLQuery\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t\"e\n\x0bSQLQueryMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery\"b\n\x0eSQLQueryStatus\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02\"q\n\x11SQLQueryStatusMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus\"O\n\tSQLCommit\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"g\n\x0cSQLCommitMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit\"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"o\n\x10\x43olTypeChangeMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange\"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"q\n\x11SchemaCreationMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation\"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"i\n\rSchemaDropMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop\"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"k\n\x0e\x43\x61\x63heActionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction\"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"q\n\x11\x43\x61\x63heDumpGraphMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph\"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t\"w\n\x14\x41\x64\x61pterRegisteredMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered\"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"y\n\x15\x41\x64\x61pterImportErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError\"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"s\n\x12PluginLoadErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError\"a\n\x14NewConnectionOpening\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t\"}\n\x17NewConnectionOpeningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening\"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t\"o\n\x10\x43odeExecutionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution\"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02\"{\n\x16\x43odeExecutionStatusMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus\"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x81\x01\n\x19\x43\x61talogGenerationErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError\"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05\"{\n\x16WriteCatalogFailureMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure\"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t\"q\n\x11\x43\x61talogWrittenMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten\"\x14\n\x12\x43\x61nnotGenerateDocs\"y\n\x15\x43\x61nnotGenerateDocsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs\"\x11\n\x0f\x42uildingCatalog\"s\n\x12\x42uildingCatalogMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog\"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t\"\x85\x01\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook\"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t\"m\n\x0fHooksRunningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning\"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02\"}\n\x17\x46inishedRunningStatsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats\"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"\x7f\n\x18\x43onstraintNotEnforcedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConstraintNotEnforced\"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"\x81\x01\n\x19\x43onstraintNotSupportedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupportedb\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13\x61\x64\x61pter_types.proto\x12\x0bproto_types\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xab\x02\n\x16\x41\x64\x61pterCommonEventInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12\x0b\n\x03msg\x18\x03 \x01(\t\x12\r\n\x05level\x18\x04 \x01(\t\x12\x15\n\rinvocation_id\x18\x05 \x01(\t\x12\x0b\n\x03pid\x18\x06 \x01(\x05\x12\x0e\n\x06thread\x18\x07 \x01(\t\x12&\n\x02ts\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x05\x65xtra\x18\t \x03(\x0b\x32..proto_types.AdapterCommonEventInfo.ExtraEntry\x12\x10\n\x08\x63\x61tegory\x18\n \x01(\t\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"]\n\x13\x41\x64\x61pterNodeRelation\x12\x10\n\x08\x64\x61tabase\x18\n \x01(\t\x12\x0e\n\x06schema\x18\x0b \x01(\t\x12\r\n\x05\x61lias\x18\x0c \x01(\t\x12\x15\n\rrelation_name\x18\r \x01(\t\"\x9f\x02\n\x0f\x41\x64\x61pterNodeInfo\x12\x11\n\tnode_path\x18\x01 \x01(\t\x12\x11\n\tnode_name\x18\x02 \x01(\t\x12\x11\n\tunique_id\x18\x03 \x01(\t\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\x14\n\x0cmaterialized\x18\x05 \x01(\t\x12\x13\n\x0bnode_status\x18\x06 \x01(\t\x12\x17\n\x0fnode_started_at\x18\x07 \x01(\t\x12\x18\n\x10node_finished_at\x18\x08 \x01(\t\x12%\n\x04meta\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x37\n\rnode_relation\x18\n \x01(\x0b\x32 .proto_types.AdapterNodeRelation\"G\n\x0fReferenceKeyMsg\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x12\n\nidentifier\x18\x03 \x01(\t\"?\n\x19\x41\x64\x61pterDeprecationWarning\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"\x87\x01\n\x1c\x41\x64\x61pterDeprecationWarningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.AdapterDeprecationWarning\"!\n\x1f\x43ollectFreshnessReturnSignature\"\x93\x01\n\"CollectFreshnessReturnSignatureMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32,.proto_types.CollectFreshnessReturnSignature\"\x8e\x01\n\x11\x41\x64\x61pterEventDebug\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"w\n\x14\x41\x64\x61pterEventDebugMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventDebug\"\x8d\x01\n\x10\x41\x64\x61pterEventInfo\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"u\n\x13\x41\x64\x61pterEventInfoMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.AdapterEventInfo\"\x90\x01\n\x13\x41\x64\x61pterEventWarning\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\"{\n\x16\x41\x64\x61pterEventWarningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.AdapterEventWarning\"\xa0\x01\n\x11\x41\x64\x61pterEventError\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61se_msg\x18\x03 \x01(\t\x12(\n\x04\x61rgs\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12\x10\n\x08\x65xc_info\x18\x05 \x01(\t\"w\n\x14\x41\x64\x61pterEventErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterEventError\"f\n\rNewConnection\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"o\n\x10NewConnectionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.NewConnection\"=\n\x10\x43onnectionReused\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x16\n\x0eorig_conn_name\x18\x02 \x01(\t\"u\n\x13\x43onnectionReusedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionReused\"0\n\x1b\x43onnectionLeftOpenInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"\x8b\x01\n\x1e\x43onnectionLeftOpenInCleanupMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x36\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32(.proto_types.ConnectionLeftOpenInCleanup\".\n\x19\x43onnectionClosedInCleanup\x12\x11\n\tconn_name\x18\x01 \x01(\t\"\x87\x01\n\x1c\x43onnectionClosedInCleanupMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x34\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.proto_types.ConnectionClosedInCleanup\"f\n\x0eRollbackFailed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x10\n\x08\x65xc_info\x18\x03 \x01(\t\"q\n\x11RollbackFailedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.RollbackFailed\"V\n\x10\x43onnectionClosed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"u\n\x13\x43onnectionClosedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.ConnectionClosed\"X\n\x12\x43onnectionLeftOpen\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"y\n\x15\x43onnectionLeftOpenMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.ConnectionLeftOpen\"N\n\x08Rollback\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"e\n\x0bRollbackMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.Rollback\"@\n\tCacheMiss\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"g\n\x0c\x43\x61\x63heMissMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.CacheMiss\"b\n\rListRelations\x12\x10\n\x08\x64\x61tabase\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12/\n\trelations\x18\x03 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"o\n\x10ListRelationsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ListRelations\"g\n\x0e\x43onnectionUsed\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_type\x18\x02 \x01(\t\x12\x11\n\tconn_name\x18\x03 \x01(\t\"q\n\x11\x43onnectionUsedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.ConnectionUsed\"[\n\x08SQLQuery\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\x12\x0b\n\x03sql\x18\x03 \x01(\t\"e\n\x0bSQLQueryMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12#\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x15.proto_types.SQLQuery\"b\n\x0eSQLQueryStatus\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x03 \x01(\x02\"q\n\x11SQLQueryStatusMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SQLQueryStatus\"O\n\tSQLCommit\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x11\n\tconn_name\x18\x02 \x01(\t\"g\n\x0cSQLCommitMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12$\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x16.proto_types.SQLCommit\"a\n\rColTypeChange\x12\x11\n\torig_type\x18\x01 \x01(\t\x12\x10\n\x08new_type\x18\x02 \x01(\t\x12+\n\x05table\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"o\n\x10\x43olTypeChangeMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.ColTypeChange\"@\n\x0eSchemaCreation\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"q\n\x11SchemaCreationMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.SchemaCreation\"<\n\nSchemaDrop\x12.\n\x08relation\x18\x01 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"i\n\rSchemaDropMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12%\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x17.proto_types.SchemaDrop\"\xde\x01\n\x0b\x43\x61\x63heAction\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12-\n\x07ref_key\x18\x02 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_2\x18\x03 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12/\n\tref_key_3\x18\x04 \x01(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\x12.\n\x08ref_list\x18\x05 \x03(\x0b\x32\x1c.proto_types.ReferenceKeyMsg\"k\n\x0e\x43\x61\x63heActionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12&\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x18.proto_types.CacheAction\"\x98\x01\n\x0e\x43\x61\x63heDumpGraph\x12\x33\n\x04\x64ump\x18\x01 \x03(\x0b\x32%.proto_types.CacheDumpGraph.DumpEntry\x12\x14\n\x0c\x62\x65\x66ore_after\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\t\x1a+\n\tDumpEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"q\n\x11\x43\x61\x63heDumpGraphMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CacheDumpGraph\"B\n\x11\x41\x64\x61pterRegistered\x12\x14\n\x0c\x61\x64\x61pter_name\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x61pter_version\x18\x02 \x01(\t\"w\n\x14\x41\x64\x61pterRegisteredMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12,\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1e.proto_types.AdapterRegistered\"!\n\x12\x41\x64\x61pterImportError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"y\n\x15\x41\x64\x61pterImportErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.AdapterImportError\"#\n\x0fPluginLoadError\x12\x10\n\x08\x65xc_info\x18\x01 \x01(\t\"s\n\x12PluginLoadErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.PluginLoadError\"a\n\x14NewConnectionOpening\x12/\n\tnode_info\x18\x01 \x01(\x0b\x32\x1c.proto_types.AdapterNodeInfo\x12\x18\n\x10\x63onnection_state\x18\x02 \x01(\t\"}\n\x17NewConnectionOpeningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.NewConnectionOpening\"8\n\rCodeExecution\x12\x11\n\tconn_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63ode_content\x18\x02 \x01(\t\"o\n\x10\x43odeExecutionMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12(\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1a.proto_types.CodeExecution\"6\n\x13\x43odeExecutionStatus\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x0f\n\x07\x65lapsed\x18\x02 \x01(\x02\"{\n\x16\x43odeExecutionStatusMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.CodeExecutionStatus\"%\n\x16\x43\x61talogGenerationError\x12\x0b\n\x03\x65xc\x18\x01 \x01(\t\"\x81\x01\n\x19\x43\x61talogGenerationErrorMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.CatalogGenerationError\"-\n\x13WriteCatalogFailure\x12\x16\n\x0enum_exceptions\x18\x01 \x01(\x05\"{\n\x16WriteCatalogFailureMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12.\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32 .proto_types.WriteCatalogFailure\"\x1e\n\x0e\x43\x61talogWritten\x12\x0c\n\x04path\x18\x01 \x01(\t\"q\n\x11\x43\x61talogWrittenMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12)\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1b.proto_types.CatalogWritten\"\x14\n\x12\x43\x61nnotGenerateDocs\"y\n\x15\x43\x61nnotGenerateDocsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12-\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1f.proto_types.CannotGenerateDocs\"\x11\n\x0f\x42uildingCatalog\"s\n\x12\x42uildingCatalogMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12*\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1c.proto_types.BuildingCatalog\"-\n\x18\x44\x61tabaseErrorRunningHook\x12\x11\n\thook_type\x18\x01 \x01(\t\"\x85\x01\n\x1b\x44\x61tabaseErrorRunningHookMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x33\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32%.proto_types.DatabaseErrorRunningHook\"4\n\x0cHooksRunning\x12\x11\n\tnum_hooks\x18\x01 \x01(\x05\x12\x11\n\thook_type\x18\x02 \x01(\t\"m\n\x0fHooksRunningMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\'\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x19.proto_types.HooksRunning\"T\n\x14\x46inishedRunningStats\x12\x11\n\tstat_line\x18\x01 \x01(\t\x12\x11\n\texecution\x18\x02 \x01(\t\x12\x16\n\x0e\x65xecution_time\x18\x03 \x01(\x02\"}\n\x17\x46inishedRunningStatsMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12/\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32!.proto_types.FinishedRunningStats\"<\n\x15\x43onstraintNotEnforced\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"\x7f\n\x18\x43onstraintNotEnforcedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x30\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\".proto_types.ConstraintNotEnforced\"=\n\x16\x43onstraintNotSupported\x12\x12\n\nconstraint\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\"\x81\x01\n\x19\x43onstraintNotSupportedMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12\x31\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32#.proto_types.ConstraintNotSupported\"%\n\x10TypeCodeNotFound\x12\x11\n\ttype_code\x18\x01 \x01(\x05\"u\n\x13TypeCodeNotFoundMsg\x12\x31\n\x04info\x18\x01 \x01(\x0b\x32#.proto_types.AdapterCommonEventInfo\x12+\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\x1d.proto_types.TypeCodeNotFoundb\x06proto3')
20
19
 
21
20
  _globals = globals()
22
21
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -203,4 +202,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
203
202
  _globals['_CONSTRAINTNOTSUPPORTED']._serialized_end=8961
204
203
  _globals['_CONSTRAINTNOTSUPPORTEDMSG']._serialized_start=8964
205
204
  _globals['_CONSTRAINTNOTSUPPORTEDMSG']._serialized_end=9093
205
+ _globals['_TYPECODENOTFOUND']._serialized_start=9095
206
+ _globals['_TYPECODENOTFOUND']._serialized_end=9132
207
+ _globals['_TYPECODENOTFOUNDMSG']._serialized_start=9134
208
+ _globals['_TYPECODENOTFOUNDMSG']._serialized_end=9251
206
209
  # @@protoc_insertion_point(module_scope)
@@ -2,6 +2,7 @@ from dbt_common.ui import line_wrap_message, warning_tag
2
2
 
3
3
  from dbt.adapters.events.base_types import (
4
4
  DebugLevel,
5
+ DynamicLevel,
5
6
  ErrorLevel,
6
7
  InfoLevel,
7
8
  WarnLevel,
@@ -281,7 +282,7 @@ class CacheDumpGraph(DebugLevel):
281
282
  # Skipping E032, E033, E034
282
283
 
283
284
 
284
- class AdapterRegistered(InfoLevel):
285
+ class AdapterRegistered(DynamicLevel):
285
286
  def code(self) -> str:
286
287
  return "E034"
287
288
 
@@ -421,3 +422,16 @@ class ConstraintNotSupported(WarnLevel):
421
422
  "be ignored. Set 'warn_unsupported: false' on this constraint to ignore this warning."
422
423
  )
423
424
  return line_wrap_message(warning_tag(msg))
425
+
426
+
427
+ class TypeCodeNotFound(DebugLevel):
428
+ def code(self) -> str:
429
+ return "E050"
430
+
431
+ def message(self) -> str:
432
+ msg = (
433
+ f"The `type_code` {self.type_code} was not recognized, which may affect error "
434
+ "messages for enforced contracts that fail as well as `Column.data_type` values "
435
+ "returned by `get_column_schema_from_query`"
436
+ )
437
+ return line_wrap_message(warning_tag(msg))
@@ -7,6 +7,7 @@ import traceback
7
7
  from typing import Any, Dict, List, Optional, Set, Type
8
8
 
9
9
  from dbt_common.events.functions import fire_event
10
+ from dbt_common.events.base_types import EventLevel
10
11
  from dbt_common.exceptions import DbtInternalError, DbtRuntimeError
11
12
  from dbt_common.semver import VersionSpecifier
12
13
 
@@ -96,11 +97,22 @@ class AdapterContainer:
96
97
 
97
98
  return plugin.credentials
98
99
 
99
- def register_adapter(self, config: AdapterRequiredConfig, mp_context: SpawnContext) -> None:
100
+ def register_adapter(
101
+ self,
102
+ config: AdapterRequiredConfig,
103
+ mp_context: SpawnContext,
104
+ adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO
105
+ ) -> None:
100
106
  adapter_name = config.credentials.type
101
107
  adapter_type = self.get_adapter_class_by_name(adapter_name)
102
108
  adapter_version = self._adapter_version(adapter_name)
103
- fire_event(AdapterRegistered(adapter_name=adapter_name, adapter_version=adapter_version))
109
+ fire_event(
110
+ AdapterRegistered(
111
+ adapter_name=adapter_name,
112
+ adapter_version=adapter_version
113
+ ),
114
+ level=adapter_registered_log_level
115
+ )
104
116
  with self.lock:
105
117
  if adapter_name in self.adapters:
106
118
  # this shouldn't really happen...
@@ -186,8 +198,12 @@ class AdapterContainer:
186
198
  FACTORY: AdapterContainer = AdapterContainer()
187
199
 
188
200
 
189
- def register_adapter(config: AdapterRequiredConfig, mp_context: SpawnContext) -> None:
190
- FACTORY.register_adapter(config, mp_context)
201
+ def register_adapter(
202
+ config: AdapterRequiredConfig,
203
+ mp_context: SpawnContext,
204
+ adapter_registered_log_level: Optional[EventLevel] = EventLevel.INFO
205
+ ) -> None:
206
+ FACTORY.register_adapter(config, mp_context, adapter_registered_log_level)
191
207
 
192
208
 
193
209
  def get_adapter(config: AdapterRequiredConfig):
@@ -3,6 +3,7 @@
3
3
  {% set relations = [] %}
4
4
 
5
5
  {% set expected_rows = config.get('expected_rows') %}
6
+ {% set expected_sql = config.get('expected_sql') %}
6
7
  {% set tested_expected_column_names = expected_rows[0].keys() if (expected_rows | length ) > 0 else get_columns_in_query(sql) %} %}
7
8
 
8
9
  {%- set target_relation = this.incorporate(type='table') -%}
@@ -11,10 +12,13 @@
11
12
  {%- set columns_in_relation = adapter.get_columns_in_relation(temp_relation) -%}
12
13
  {%- set column_name_to_data_types = {} -%}
13
14
  {%- for column in columns_in_relation -%}
14
- {%- do column_name_to_data_types.update({column.name|lower: column.data_type}) -%}
15
+ {%- do column_name_to_data_types.update({column.name|lower: column.data_type}) -%}
15
16
  {%- endfor -%}
16
17
 
17
- {% set unit_test_sql = get_unit_test_sql(sql, get_expected_sql(expected_rows, column_name_to_data_types), tested_expected_column_names) %}
18
+ {% if not expected_sql %}
19
+ {% set expected_sql = get_expected_sql(expected_rows, column_name_to_data_types) %}
20
+ {% endif %}
21
+ {% set unit_test_sql = get_unit_test_sql(sql, expected_sql, tested_expected_column_names) %}
18
22
 
19
23
  {% call statement('main', fetch_result=True) -%}
20
24
 
@@ -59,7 +59,7 @@ dependencies = [
59
59
  [tool.hatch.envs.lint]
60
60
  detached = true
61
61
  dependencies = [
62
- "black",
62
+ "black>=24.3",
63
63
  "flake8",
64
64
  "Flake8-pyproject",
65
65
  ]
@@ -1 +0,0 @@
1
- version = "1.0.0b2"
File without changes
File without changes