dbt-sqlserver 1.11.2rc2__tar.gz → 1.11.3__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 (84) hide show
  1. {dbt_sqlserver-1.11.2rc2/dbt_sqlserver.egg-info → dbt_sqlserver-1.11.3}/PKG-INFO +1 -1
  2. dbt_sqlserver-1.11.3/dbt/adapters/sqlserver/__version__.py +1 -0
  3. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_adapter.py +35 -3
  4. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/columns.sql +15 -1
  5. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/snapshots/helpers.sql +1 -1
  6. dbt_sqlserver-1.11.3/dbt/include/sqlserver/macros/materializations/snapshots/strategies.sql +65 -0
  7. dbt_sqlserver-1.11.3/dbt/include/sqlserver/macros/utils/array_append.sql +3 -0
  8. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3/dbt_sqlserver.egg-info}/PKG-INFO +1 -1
  9. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt_sqlserver.egg-info/SOURCES.txt +1 -0
  10. dbt_sqlserver-1.11.2rc2/dbt/adapters/sqlserver/__version__.py +0 -1
  11. dbt_sqlserver-1.11.2rc2/dbt/include/sqlserver/macros/materializations/snapshots/strategies.sql +0 -5
  12. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/LICENSE +0 -0
  13. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/README.md +0 -0
  14. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/__init__.py +0 -0
  15. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/__init__.py +0 -0
  16. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/py.typed +0 -0
  17. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/relation_configs/__init__.py +0 -0
  18. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/relation_configs/index.py +0 -0
  19. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/relation_configs/policies.py +0 -0
  20. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_auth.py +0 -0
  21. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_backend.py +0 -0
  22. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_column.py +0 -0
  23. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_configs.py +0 -0
  24. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_connections.py +0 -0
  25. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_constants.py +0 -0
  26. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_credentials.py +0 -0
  27. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_helpers.py +0 -0
  28. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_mask.py +0 -0
  29. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_relation.py +0 -0
  30. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/adapters/sqlserver/sqlserver_runtime.py +0 -0
  31. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/__init__.py +0 -0
  32. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/dbt_project.yml +0 -0
  33. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/apply_grants.sql +0 -0
  34. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/apply_masks.sql +0 -0
  35. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/catalog.sql +0 -0
  36. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/indexes.sql +0 -0
  37. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/metadata.sql +0 -0
  38. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/persist_docs.sql +0 -0
  39. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/relation.sql +0 -0
  40. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/schema.sql +0 -0
  41. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/show.sql +0 -0
  42. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/adapters/validate_sql.sql +0 -0
  43. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/functions/helpers.sql +0 -0
  44. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/functions/scalar.sql +0 -0
  45. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/hooks.sql +0 -0
  46. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/incremental/incremental.sql +0 -0
  47. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/incremental/incremental_strategies.sql +0 -0
  48. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/incremental/merge.sql +0 -0
  49. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/table/columns_spec_ddl.sql +0 -0
  50. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/table/table.sql +0 -0
  51. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/table/table_dml_refresh.sql +0 -0
  52. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/unit_test/get_fixture_sql.sql +0 -0
  53. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/unit_test/unit_test_create_table_as.sql +0 -0
  54. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/view/create_view_as.sql +0 -0
  55. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/models/view/view.sql +0 -0
  56. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/snapshots/snapshot.sql +0 -0
  57. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/snapshots/snapshot_merge.sql +0 -0
  58. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/tests.sql +0 -0
  59. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/materializations/unit_tests.sql +0 -0
  60. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/relations/seeds/helpers.sql +0 -0
  61. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/relations/table/clone.sql +0 -0
  62. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/relations/table/create.sql +0 -0
  63. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/relations/views/create.sql +0 -0
  64. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/any_value.sql +0 -0
  65. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/array_construct.sql +0 -0
  66. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/cast_bool_to_text.sql +0 -0
  67. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/concat.sql +0 -0
  68. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/date_trunc.sql +0 -0
  69. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/dateadd.sql +0 -0
  70. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/get_tables_by_pattern.sql +0 -0
  71. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/hash.sql +0 -0
  72. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/last_day.sql +0 -0
  73. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/length.sql +0 -0
  74. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/listagg.sql +0 -0
  75. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/position.sql +0 -0
  76. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/safe_cast.sql +0 -0
  77. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/split_part.sql +0 -0
  78. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/macros/utils/timestamps.sql +0 -0
  79. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt/include/sqlserver/profile_template.yml +0 -0
  80. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt_sqlserver.egg-info/dependency_links.txt +0 -0
  81. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt_sqlserver.egg-info/requires.txt +0 -0
  82. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/dbt_sqlserver.egg-info/top_level.txt +0 -0
  83. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/pyproject.toml +0 -0
  84. {dbt_sqlserver-1.11.2rc2 → dbt_sqlserver-1.11.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbt-sqlserver
3
- Version: 1.11.2rc2
3
+ Version: 1.11.3
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.11.3"
@@ -1,5 +1,6 @@
1
1
  import re
2
- from typing import Any, Dict, List, Optional
2
+ from contextlib import contextmanager
3
+ from typing import Any, Dict, Iterator, List, Optional
3
4
 
4
5
  import agate
5
6
  import dbt_common.exceptions
@@ -375,8 +376,15 @@ class SQLServerAdapter(SQLAdapter):
375
376
 
376
377
  @classmethod
377
378
  def convert_number_type(cls, agate_table, col_idx):
378
- decimals = agate_table.aggregate(agate.MaxPrecision(col_idx))
379
- return "float" if decimals else "int"
379
+ if agate_table.aggregate(agate.MaxPrecision(col_idx)):
380
+ return "float"
381
+ values = agate_table.columns[col_idx].values_without_nulls()
382
+ low, high = (min(values), max(values)) if values else (0, 0)
383
+ if -(2**31) <= low and high < 2**31:
384
+ return "int"
385
+ if -(2**63) <= low and high < 2**63:
386
+ return "bigint"
387
+ return "numeric(38,0)"
380
388
 
381
389
  def create_schema(self, relation: BaseRelation) -> None:
382
390
  relation = relation.without_identifier()
@@ -399,6 +407,8 @@ class SQLServerAdapter(SQLAdapter):
399
407
  # see https://github.com/fishtown-analytics/dbt/pull/2255
400
408
  lens = [len(d.encode("utf-8")) for d in column.values_without_nulls()]
401
409
  max_len = max(lens) if lens else 64
410
+ if max_len > 8000:
411
+ return "varchar(max)"
402
412
  length = max_len if max_len > 16 else 16
403
413
  return "varchar({})".format(length)
404
414
 
@@ -822,6 +832,28 @@ class SQLServerAdapter(SQLAdapter):
822
832
  return False
823
833
  return create_needs_own_batch(parsed.build_options)
824
834
 
835
+ # dbt-core's run-operation runs on connections with these names.
836
+ _RUN_OPERATION_CONNECTION_PREFIXES = ("macro_", "inline_query")
837
+
838
+ @contextmanager
839
+ def connection_named(
840
+ self, name: str, query_header_context: Any = None, should_release_connection: bool = True
841
+ ) -> Iterator[None]:
842
+ """Commit a run-operation's open transaction when it finishes cleanly.
843
+
844
+ Stopgap for dbt-labs/dbt#16434, remove once dbt-core commits after a
845
+ run-operation: dbt-core never does, so with dbt-managed transactions
846
+ on, a write through ``statement()`` (auto_begin) is rolled back when
847
+ the connection closes. The commit sits after the ``yield`` so it runs
848
+ only when the macro did not raise; a failed macro still rolls back.
849
+ Matching on the connection name is a heuristic, since dbt-core marks
850
+ run-operation connections no other way.
851
+ """
852
+ with super().connection_named(name, query_header_context, should_release_connection):
853
+ yield
854
+ if name.startswith(self._RUN_OPERATION_CONNECTION_PREFIXES):
855
+ self.commit_if_open()
856
+
825
857
  @available
826
858
  def commit_if_open(self) -> None:
827
859
  """Commit the current transaction if one is open - a no-op otherwise.
@@ -40,10 +40,17 @@
40
40
 
41
41
  {% set prefer_single = config.get('prefer_single_alter_column', false) %}
42
42
 
43
+ {#-- ALTER COLUMN without NOT NULL makes the column nullable --#}
44
+ {% set nullable_sql %}
45
+ {{ get_use_database_sql(relation.database) }}
46
+ select columnproperty(object_id('{{ escape_single_quotes(relation) }}'), '{{ escape_single_quotes(column_name) }}', 'AllowsNull')
47
+ {%- endset %}
48
+ {%- set not_null = run_query(nullable_sql).columns[0].values()[0] == 0 -%}
49
+
43
50
  {% if prefer_single and relation.type == 'table' %}
44
51
  {% set alter_sql %}
45
52
  alter {{ relation.type }} {{ relation }}
46
- alter column "{{ column_name }}" {{ new_column_type }};
53
+ alter column "{{ column_name }}" {{ new_column_type }}{{ ' not null' if not_null }};
47
54
  {%- endset %}
48
55
  {% do run_query(alter_sql) %}
49
56
 
@@ -64,11 +71,18 @@
64
71
  {% set rename_column %}
65
72
  exec sp_rename '{{ relation | replace('"', '') }}.{{ tmp_column }}', '{{ column_name }}', 'column'
66
73
  {%- endset %}
74
+ {% set alter_sql_not_null %}
75
+ alter {{ relation.type }} {{ relation }}
76
+ alter column "{{ column_name }}" {{ new_column_type }} not null;
77
+ {%- endset %}
67
78
 
68
79
  {% do run_query(add_column) %}
69
80
  {% do run_query(update_column) %}
70
81
  {% do run_query(drop_column) %}
71
82
  {% do run_query(rename_column) %}
83
+ {% if not_null %}
84
+ {% do run_query(alter_sql_not_null) %}
85
+ {% endif %}
72
86
  {% endif %}
73
87
 
74
88
  {% endmacro %}
@@ -1,7 +1,7 @@
1
1
  {% macro sqlserver__create_columns(relation, columns) %}
2
2
  {% set column_list %}
3
3
  {% for column_entry in columns %}
4
- {{column_entry.name}} {{column_entry.data_type}}{{ ", " if not loop.last }}
4
+ {{ adapter.quote(column_entry.name) }} {{column_entry.data_type}}{{ ", " if not loop.last }}
5
5
  {% endfor %}
6
6
  {% endset %}
7
7
 
@@ -0,0 +1,65 @@
1
+ {% macro sqlserver__snapshot_hash_arguments(args) %}
2
+ CONVERT(VARCHAR(32), HashBytes('MD5', {% for arg in args %}
3
+ coalesce(cast({{ arg }} as varchar(8000)), '') {% if not loop.last %} + '|' + {% endif %}
4
+ {% endfor %}), 2)
5
+ {% endmacro %}
6
+
7
+
8
+ {#
9
+ dbt-adapters does not dispatch "snapshot_check_all_get_existing_columns", so
10
+ this shadows the global project's macro; adapter package macros take
11
+ precedence. Keep in sync with dbt-adapters when upgrading. When upstream
12
+ dispatches it, delete the public wrapper and keep the sqlserver__ handler.
13
+
14
+ Change from upstream: for a check_cols list, upstream reads the columns'
15
+ casing from "select <check_cols> from (<sql>) subq", and T-SQL can't nest a
16
+ WITH in a subquery. This reads the query's columns unwrapped, as the 'all'
17
+ branch does, and picks check_cols from them case-insensitively.
18
+ #}
19
+
20
+ {% macro snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) -%}
21
+ {{ return(sqlserver__snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config)) }}
22
+ {%- endmacro %}
23
+
24
+
25
+ {% macro sqlserver__snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) -%}
26
+ {%- if not target_exists -%}
27
+ {#-- no table yet -> return whatever the query does --#}
28
+ {{ return((false, query_columns)) }}
29
+ {%- endif -%}
30
+
31
+ {#-- handle any schema changes --#}
32
+ {%- set target_relation = adapter.get_relation(database=node.database, schema=node.schema, identifier=node.alias) -%}
33
+
34
+ {% if check_cols_config == 'all' %}
35
+ {%- set query_columns = get_columns_in_query(node['compiled_code']) -%}
36
+
37
+ {% elif check_cols_config is iterable and (check_cols_config | length) > 0 %}
38
+ {%- set all_columns = get_columns_in_query(node['compiled_code']) -%}
39
+ {%- set all_columns_lower = all_columns | map('lower') | list -%}
40
+ {%- set query_columns = [] -%}
41
+ {%- for check_col in check_cols_config -%}
42
+ {%- if (check_col | lower) not in all_columns_lower -%}
43
+ {% do exceptions.raise_compiler_error("check_cols column '" ~ check_col ~ "' is not in the snapshot query") %}
44
+ {%- endif -%}
45
+ {%- do query_columns.append(all_columns[all_columns_lower.index(check_col | lower)]) -%}
46
+ {%- endfor -%}
47
+
48
+ {% else %}
49
+ {% do exceptions.raise_compiler_error("Invalid value for 'check_cols': " ~ check_cols_config) %}
50
+ {% endif %}
51
+
52
+ {%- set existing_cols = adapter.get_columns_in_relation(target_relation) | map(attribute = 'name') | list -%}
53
+ {%- set ns = namespace() -%} {#-- handle for-loop scoping with a namespace --#}
54
+ {%- set ns.column_added = false -%}
55
+
56
+ {%- set intersection = [] -%}
57
+ {%- for col in query_columns -%}
58
+ {%- if col in existing_cols -%}
59
+ {%- do intersection.append(adapter.quote(col)) -%}
60
+ {%- else -%}
61
+ {% set ns.column_added = true %}
62
+ {%- endif -%}
63
+ {%- endfor -%}
64
+ {{ return((ns.column_added, intersection)) }}
65
+ {%- endmacro %}
@@ -0,0 +1,3 @@
1
+ {% macro sqlserver__array_append(array, new_element) -%}
2
+ JSON_MODIFY({{ array }}, 'append $', {{ new_element }})
3
+ {%- endmacro %}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbt-sqlserver
3
- Version: 1.11.2rc2
3
+ Version: 1.11.3
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
@@ -58,6 +58,7 @@ dbt/include/sqlserver/macros/relations/table/clone.sql
58
58
  dbt/include/sqlserver/macros/relations/table/create.sql
59
59
  dbt/include/sqlserver/macros/relations/views/create.sql
60
60
  dbt/include/sqlserver/macros/utils/any_value.sql
61
+ dbt/include/sqlserver/macros/utils/array_append.sql
61
62
  dbt/include/sqlserver/macros/utils/array_construct.sql
62
63
  dbt/include/sqlserver/macros/utils/cast_bool_to_text.sql
63
64
  dbt/include/sqlserver/macros/utils/concat.sql
@@ -1 +0,0 @@
1
- version = "1.11.2rc2"
@@ -1,5 +0,0 @@
1
- {% macro sqlserver__snapshot_hash_arguments(args) %}
2
- CONVERT(VARCHAR(32), HashBytes('MD5', {% for arg in args %}
3
- coalesce(cast({{ arg }} as varchar(8000)), '') {% if not loop.last %} + '|' + {% endif %}
4
- {% endfor %}), 2)
5
- {% endmacro %}