dbt-sqlserver 1.12.1__tar.gz → 1.12.2__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.
Files changed (86) hide show
  1. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/PKG-INFO +1 -1
  2. dbt_sqlserver-1.12.2/dbt/adapters/sqlserver/__version__.py +1 -0
  3. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/metadata.sql +13 -4
  4. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/relation.sql +20 -11
  5. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/view/view.sql +5 -1
  6. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt_sqlserver.egg-info/PKG-INFO +1 -1
  7. dbt_sqlserver-1.12.1/dbt/adapters/sqlserver/__version__.py +0 -1
  8. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/LICENSE +0 -0
  9. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/README.md +0 -0
  10. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/__init__.py +0 -0
  11. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/__init__.py +0 -0
  12. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/py.typed +0 -0
  13. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/relation_configs/__init__.py +0 -0
  14. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/relation_configs/index.py +0 -0
  15. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/relation_configs/policies.py +0 -0
  16. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_adapter.py +0 -0
  17. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_auth.py +0 -0
  18. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_backend.py +0 -0
  19. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_column.py +0 -0
  20. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_configs.py +0 -0
  21. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_connections.py +0 -0
  22. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_constants.py +0 -0
  23. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_credentials.py +0 -0
  24. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_deny.py +0 -0
  25. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_helpers.py +0 -0
  26. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_mask.py +0 -0
  27. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_relation.py +0 -0
  28. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/adapters/sqlserver/sqlserver_runtime.py +0 -0
  29. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/__init__.py +0 -0
  30. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/dbt_project.yml +0 -0
  31. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/apply_denies.sql +0 -0
  32. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/apply_grants.sql +0 -0
  33. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/apply_masks.sql +0 -0
  34. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/catalog.sql +0 -0
  35. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/columns.sql +0 -0
  36. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/indexes.sql +0 -0
  37. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/persist_docs.sql +0 -0
  38. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/schema.sql +0 -0
  39. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/show.sql +0 -0
  40. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/adapters/validate_sql.sql +0 -0
  41. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/functions/helpers.sql +0 -0
  42. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/functions/scalar.sql +0 -0
  43. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/hooks.sql +0 -0
  44. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/incremental/incremental.sql +0 -0
  45. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/incremental/incremental_strategies.sql +0 -0
  46. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/incremental/merge.sql +0 -0
  47. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/table/columns_spec_ddl.sql +0 -0
  48. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/table/table.sql +0 -0
  49. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/table/table_dml_refresh.sql +0 -0
  50. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/unit_test/get_fixture_sql.sql +0 -0
  51. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/unit_test/unit_test_create_table_as.sql +0 -0
  52. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/models/view/create_view_as.sql +0 -0
  53. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/snapshots/helpers.sql +0 -0
  54. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/snapshots/snapshot.sql +0 -0
  55. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/snapshots/snapshot_merge.sql +0 -0
  56. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/snapshots/strategies.sql +0 -0
  57. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/tests.sql +0 -0
  58. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/materializations/unit_tests.sql +0 -0
  59. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/relations/seeds/helpers.sql +0 -0
  60. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/relations/table/clone.sql +0 -0
  61. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/relations/table/create.sql +0 -0
  62. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/relations/views/create.sql +0 -0
  63. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/any_value.sql +0 -0
  64. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/array_append.sql +0 -0
  65. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/array_construct.sql +0 -0
  66. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/cast_bool_to_text.sql +0 -0
  67. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/concat.sql +0 -0
  68. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/date_trunc.sql +0 -0
  69. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/dateadd.sql +0 -0
  70. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/get_tables_by_pattern.sql +0 -0
  71. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/hash.sql +0 -0
  72. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/last_day.sql +0 -0
  73. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/length.sql +0 -0
  74. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/listagg.sql +0 -0
  75. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/openquery.sql +0 -0
  76. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/position.sql +0 -0
  77. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/safe_cast.sql +0 -0
  78. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/split_part.sql +0 -0
  79. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/macros/utils/timestamps.sql +0 -0
  80. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt/include/sqlserver/profile_template.yml +0 -0
  81. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt_sqlserver.egg-info/SOURCES.txt +0 -0
  82. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt_sqlserver.egg-info/dependency_links.txt +0 -0
  83. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt_sqlserver.egg-info/requires.txt +0 -0
  84. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/dbt_sqlserver.egg-info/top_level.txt +0 -0
  85. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/pyproject.toml +0 -0
  86. {dbt_sqlserver-1.12.1 → dbt_sqlserver-1.12.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbt-sqlserver
3
- Version: 1.12.1
3
+ Version: 1.12.2
4
4
  Summary: A Microsoft SQL Server adapter plugin for dbt
5
5
  Author: Mikael Ene, Anders Swanson, Sam Debruyn, Cor Zuurmond, Cody Scott
6
6
  License: MIT
@@ -0,0 +1 @@
1
+ version = "1.12.2"
@@ -197,11 +197,13 @@
197
197
  - dm_exec_describe_first_result_set is referenced once: each reference compiles the body.
198
198
  - Its error row is kept, so a body it cannot describe is refreshed.
199
199
  - COLLATE DATABASE_DEFAULT, or the join fails where catalog and database collations differ.
200
- - The body is inlined: the function needs nvarchar and mssql-python binds str as varchar. -#}
200
+ - Run through sp_executesql, so the statement text is the same for every view and SQL
201
+ Server caches one plan for all of them.
202
+ - The values are inlined, typed by the parameter list: the function needs nvarchar and
203
+ mssql-python binds str as varchar. -#}
201
204
  {% macro sqlserver__get_view_skip_check_sql(relation, compiled_sql) -%}
202
- {%- set object_name = "quotename('" ~ relation.schema ~ "') + '.' + quotename('" ~ relation.identifier ~ "')" -%}
203
- {{ get_use_database_sql(relation.database) }}
204
- declare @dbt_sqlserver_skip_check_body nvarchar(max) = N'{{ escape_single_quotes(compiled_sql) }}';
205
+ {%- set object_name = "quotename(@schema) + '.' + quotename(@identifier)" -%}
206
+ {%- set check_sql -%}
205
207
  select
206
208
  object_definition(object_id({{ object_name }}, 'V')) as definition,
207
209
  case when exists (
@@ -234,6 +236,13 @@
234
236
  <> isnull(cached.collation_name, '') collate database_default
235
237
  ) then 1 else 0 end as needs_refresh
236
238
  where object_id({{ object_name }}, 'V') is not null
239
+ {%- endset -%}
240
+ {{ get_use_database_sql(relation.database) }}
241
+ exec sp_executesql N'{{ escape_single_quotes(check_sql) }}',
242
+ N'@schema sysname, @identifier sysname, @dbt_sqlserver_skip_check_body nvarchar(max)',
243
+ @schema = N'{{ escape_single_quotes(relation.schema) }}',
244
+ @identifier = N'{{ escape_single_quotes(relation.identifier) }}',
245
+ @dbt_sqlserver_skip_check_body = N'{{ escape_single_quotes(compiled_sql) }}';
237
246
  {% endmacro %}
238
247
 
239
248
  {% macro sqlserver__get_relation_last_modified(information_schema, relations) -%}
@@ -8,14 +8,9 @@
8
8
 
9
9
  {% macro sqlserver__get_drop_sql(relation) -%}
10
10
  {% if relation.type == 'view' -%}
11
- {#- auto_begin=false, matching dbt-adapters' own relations/drop.sql: a
12
- read-only lookup must not open the ambient transaction. This is the
13
- first statement of the temp-relation build (create.sql ->
14
- adapter.drop_relation), so with the default auto_begin=True it held
15
- that build's sys.sysschobjs X locks until the materialization
16
- committed, deadlocking a concurrent worker (error 1205). -#}
17
- {% call statement('find_references', fetch_result=true, auto_begin=false) %}
18
- {{ get_use_database_sql(relation.database) }}
11
+ {#- Run through sp_executesql, so the statement text is the same for every
12
+ relation and SQL Server caches one plan for all of them. -#}
13
+ {%- set find_references_sql -%}
19
14
  select
20
15
  sch.name as schema_name,
21
16
  obj.name as view_name
@@ -24,11 +19,25 @@
24
19
  on refs.referencing_id = obj.object_id
25
20
  inner join sys.schemas sch {{ information_schema_hints() }}
26
21
  on obj.schema_id = sch.schema_id
27
- where refs.referenced_database_name = '{{ relation.database }}'
28
- and refs.referenced_schema_name = '{{ relation.schema }}'
29
- and refs.referenced_entity_name = '{{ relation.identifier }}'
22
+ where refs.referenced_database_name = @database
23
+ and refs.referenced_schema_name = @schema
24
+ and refs.referenced_entity_name = @identifier
30
25
  and obj.type = 'V'
31
26
  {{ get_query_options() }}
27
+ {%- endset %}
28
+ {#- auto_begin=false, matching dbt-adapters' own relations/drop.sql: a
29
+ read-only lookup must not open the ambient transaction. This is the
30
+ first statement of the temp-relation build (create.sql ->
31
+ adapter.drop_relation), so with the default auto_begin=True it held
32
+ that build's sys.sysschobjs X locks until the materialization
33
+ committed, deadlocking a concurrent worker (error 1205). -#}
34
+ {% call statement('find_references', fetch_result=true, auto_begin=false) %}
35
+ {{ get_use_database_sql(relation.database) }}
36
+ exec sp_executesql N'{{ escape_single_quotes(find_references_sql) }}',
37
+ N'@database sysname, @schema sysname, @identifier sysname',
38
+ @database = N'{{ escape_single_quotes(relation.database) }}',
39
+ @schema = N'{{ escape_single_quotes(relation.schema) }}',
40
+ @identifier = N'{{ escape_single_quotes(relation.identifier) }}';
32
41
  {% endcall %}
33
42
  {% set references = load_result('find_references')['data'] %}
34
43
  {% for reference in references -%}
@@ -134,7 +134,11 @@
134
134
 
135
135
  {{ adapter.commit() }}
136
136
 
137
- {{ drop_relation_if_exists(backup_relation) }}
137
+ {#- Only the table branch above makes a backup. A view is altered in place, and a
138
+ drop would still query the missing backup's dependents. -#}
139
+ {% if existing_relation is not none and existing_relation.type != 'view' %}
140
+ {{ drop_relation_if_exists(backup_relation) }}
141
+ {% endif %}
138
142
 
139
143
  {{ run_hooks(post_hooks, inside_transaction=False) }}
140
144
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbt-sqlserver
3
- Version: 1.12.1
3
+ Version: 1.12.2
4
4
  Summary: A Microsoft SQL Server adapter plugin for dbt
5
5
  Author: Mikael Ene, Anders Swanson, Sam Debruyn, Cor Zuurmond, Cody Scott
6
6
  License: MIT
@@ -1 +0,0 @@
1
- version = "1.12.1"
File without changes
File without changes
File without changes