dbt-firebolt 1.8.2__py3-none-any.whl → 1.9.0__py3-none-any.whl
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.
- dbt/adapters/firebolt/__init__.py +1 -1
- dbt/adapters/firebolt/connections.py +0 -1
- dbt/adapters/firebolt/impl.py +36 -5
- dbt/include/firebolt/macros/dbt_external_tables/create_external_table.sql +7 -7
- dbt/include/firebolt/macros/materializations/snapshot_merge.sql +19 -0
- dbt/include/firebolt/macros/relations/table/create.sql +6 -2
- {dbt_firebolt-1.8.2.dist-info → dbt_firebolt-1.9.0.dist-info}/METADATA +6 -3
- {dbt_firebolt-1.8.2.dist-info → dbt_firebolt-1.9.0.dist-info}/RECORD +11 -10
- {dbt_firebolt-1.8.2.dist-info → dbt_firebolt-1.9.0.dist-info}/LICENSE +0 -0
- {dbt_firebolt-1.8.2.dist-info → dbt_firebolt-1.9.0.dist-info}/WHEEL +0 -0
- {dbt_firebolt-1.8.2.dist-info → dbt_firebolt-1.9.0.dist-info}/top_level.txt +0 -0
| @@ -39,7 +39,6 @@ class FireboltCredentials(Credentials): | |
| 39 39 | 
             
                client_id: Optional[str] = None
         | 
| 40 40 | 
             
                client_secret: Optional[str] = None
         | 
| 41 41 | 
             
                api_endpoint: Optional[str] = DEFAULT_API_URL
         | 
| 42 | 
            -
                driver: str = 'com.firebolt.FireboltDriver'
         | 
| 43 42 | 
             
                engine_name: Optional[str] = None
         | 
| 44 43 | 
             
                account_name: Optional[str] = None
         | 
| 45 44 | 
             
                retries: int = 1
         | 
    
        dbt/adapters/firebolt/impl.py
    CHANGED
    
    | @@ -1,7 +1,6 @@ | |
| 1 1 | 
             
            import re
         | 
| 2 2 | 
             
            import time
         | 
| 3 3 | 
             
            from dataclasses import dataclass
         | 
| 4 | 
            -
            from datetime import datetime
         | 
| 5 4 | 
             
            from typing import Any, List, Mapping, Optional, Union
         | 
| 6 5 |  | 
| 7 6 | 
             
            import agate
         | 
| @@ -29,21 +28,45 @@ from dbt.adapters.firebolt.connections import FireboltConnectionManager | |
| 29 28 | 
             
            from dbt.adapters.firebolt.relation import FireboltRelation
         | 
| 30 29 |  | 
| 31 30 |  | 
| 31 | 
            +
            def quote_columns(columns: Union[str, List[str]]) -> Union[str, List[str]]:
         | 
| 32 | 
            +
                if isinstance(columns, str):
         | 
| 33 | 
            +
                    return f'"{columns}"'
         | 
| 34 | 
            +
                quoted_columns = []
         | 
| 35 | 
            +
                for col in columns:
         | 
| 36 | 
            +
                    if col.startswith('"') and col.endswith('"'):
         | 
| 37 | 
            +
                        quoted_columns.append(col)
         | 
| 38 | 
            +
                    else:
         | 
| 39 | 
            +
                        quoted_columns.append(f'"{col}"')
         | 
| 40 | 
            +
                return quoted_columns
         | 
| 41 | 
            +
             | 
| 42 | 
            +
             | 
| 32 43 | 
             
            @dataclass
         | 
| 33 44 | 
             
            class FireboltIndexConfig(dbtClassMixin):
         | 
| 34 45 | 
             
                index_type: str
         | 
| 46 | 
            +
                index_name: Optional[str] = None
         | 
| 35 47 | 
             
                join_columns: Optional[Union[str, List[str]]] = None
         | 
| 36 48 | 
             
                key_columns: Optional[Union[str, List[str]]] = None
         | 
| 37 49 | 
             
                dimension_column: Optional[Union[str, List[str]]] = None
         | 
| 38 50 | 
             
                aggregation: Optional[Union[str, List[str]]] = None
         | 
| 39 51 |  | 
| 52 | 
            +
                def __post_init__(self) -> None:
         | 
| 53 | 
            +
                    # quote unquoted columns
         | 
| 54 | 
            +
                    if self.join_columns:
         | 
| 55 | 
            +
                        self.join_columns = quote_columns(self.join_columns)
         | 
| 56 | 
            +
                    if self.key_columns:
         | 
| 57 | 
            +
                        self.key_columns = quote_columns(self.key_columns)
         | 
| 58 | 
            +
                    if self.dimension_column:
         | 
| 59 | 
            +
                        self.dimension_column = quote_columns(self.dimension_column)
         | 
| 60 | 
            +
             | 
| 40 61 | 
             
                def render_name(self, relation: FireboltRelation) -> str:
         | 
| 41 62 | 
             
                    """
         | 
| 42 63 | 
             
                    Name an index according to the following format, joined by `_`:
         | 
| 43 64 | 
             
                    index type, relation name, key/join columns, timestamp (unix & UTC)
         | 
| 44 65 | 
             
                    example index name: join_my_model_customer_id_1633504263.
         | 
| 45 66 | 
             
                    """
         | 
| 46 | 
            -
                     | 
| 67 | 
            +
                    if self.index_name:
         | 
| 68 | 
            +
                        return self.index_name
         | 
| 69 | 
            +
                    now_unix = str(int(time.time()))
         | 
| 47 70 | 
             
                    # If column_names is a list with > 1 members, join with _,
         | 
| 48 71 | 
             
                    # otherwise do not. We were getting index names like
         | 
| 49 72 | 
             
                    # join__idx__emf_customers__f_i_r_s_t___n_a_m_e__165093112.
         | 
| @@ -51,14 +74,23 @@ class FireboltIndexConfig(dbtClassMixin): | |
| 51 74 | 
             
                    spine_col = (
         | 
| 52 75 | 
             
                        '_'.join(column_names) if isinstance(column_names, list) else column_names
         | 
| 53 76 | 
             
                    )
         | 
| 77 | 
            +
                    # Additional hash to ensure uniqueness after spaces are removed
         | 
| 78 | 
            +
                    column_hash = str(hash(spine_col))[:5]
         | 
| 54 79 | 
             
                    inputs = [
         | 
| 55 80 | 
             
                        f'{self.index_type}_idx',
         | 
| 56 81 | 
             
                        relation.identifier,
         | 
| 57 82 | 
             
                        spine_col,
         | 
| 83 | 
            +
                        column_hash,
         | 
| 58 84 | 
             
                        now_unix,
         | 
| 59 85 | 
             
                    ]
         | 
| 60 | 
            -
                     | 
| 61 | 
            -
                     | 
| 86 | 
            +
                    index_name = '__'.join([x for x in inputs if x is not None])
         | 
| 87 | 
            +
                    if len(index_name) > 255:
         | 
| 88 | 
            +
                        # Firebolt index names must be <= 255 characters.
         | 
| 89 | 
            +
                        # If the index name is too long, hash it.
         | 
| 90 | 
            +
                        return f'{self.index_type}_idx_{hash(index_name)}'
         | 
| 91 | 
            +
                    # Remove any spaces or quotes from the index name.
         | 
| 92 | 
            +
                    index_name = index_name.replace(' ', '_').replace('"', '')
         | 
| 93 | 
            +
                    return index_name
         | 
| 62 94 |  | 
| 63 95 | 
             
                @classmethod
         | 
| 64 96 | 
             
                def parse(cls, raw_index: Optional[Mapping]) -> Optional['FireboltIndexConfig']:
         | 
| @@ -274,7 +306,6 @@ class FireboltAdapter(SQLAdapter): | |
| 274 306 | 
             
                    columns: the number of rows that are different between the two
         | 
| 275 307 | 
             
                    relations and the number of mismatched rows.
         | 
| 276 308 | 
             
                    """
         | 
| 277 | 
            -
                    # This method only really exists for test reasons.
         | 
| 278 309 | 
             
                    names: List[str]
         | 
| 279 310 | 
             
                    if column_names is None:
         | 
| 280 311 | 
             
                        columns = self.get_columns_in_relation(relation_a)
         | 
| @@ -68,8 +68,8 @@ | |
| 68 68 | 
             
                (
         | 
| 69 69 | 
             
                    {%- for column in columns -%}
         | 
| 70 70 | 
             
                      {{ column.name }}
         | 
| 71 | 
            -
                      {%- if column.default  | 
| 72 | 
            -
                      {%- if column.source_column_name  | 
| 71 | 
            +
                      {%- if column.default %} DEFAULT {{ column.default }}{% endif %}
         | 
| 72 | 
            +
                      {%- if column.source_column_name %} {{ '$' ~ loop.index0 }}{% endif %}
         | 
| 73 73 | 
             
                      {{- ',' if not loop.last }}
         | 
| 74 74 | 
             
                    {%- endfor -%}
         | 
| 75 75 | 
             
                )
         | 
| @@ -83,10 +83,10 @@ | |
| 83 83 | 
             
                    {%- if options.type %}
         | 
| 84 84 | 
             
                        TYPE = {{ options.type }}
         | 
| 85 85 | 
             
                    {%- endif %}
         | 
| 86 | 
            -
                    {%- if options.auto_create  | 
| 86 | 
            +
                    {%- if options.auto_create %}
         | 
| 87 87 | 
             
                        AUTO_CREATE = {{ options.auto_create | upper }}
         | 
| 88 88 | 
             
                    {%- endif %}
         | 
| 89 | 
            -
                    {%- if options.allow_column_mismatch  | 
| 89 | 
            +
                    {%- if options.allow_column_mismatch %}
         | 
| 90 90 | 
             
                        ALLOW_COLUMN_MISMATCH = {{ options.allow_column_mismatch | upper }}
         | 
| 91 91 | 
             
                    {%- endif %}
         | 
| 92 92 | 
             
                    {%- if options.error_file %}
         | 
| @@ -99,7 +99,7 @@ | |
| 99 99 | 
             
                        MAX_ERRORS_PER_FILE = {{ options.max_errors_per_file }}
         | 
| 100 100 | 
             
                    {%- endif %}
         | 
| 101 101 | 
             
                    {%- if csv_options %}
         | 
| 102 | 
            -
                        {%- if csv_options.header  | 
| 102 | 
            +
                        {%- if csv_options.header %}
         | 
| 103 103 | 
             
                            HEADER = {{ csv_options.header | upper }}
         | 
| 104 104 | 
             
                        {%- endif %}
         | 
| 105 105 | 
             
                        {%- if csv_options.delimiter %}
         | 
| @@ -117,10 +117,10 @@ | |
| 117 117 | 
             
                        {%- if csv_options.null_string %}
         | 
| 118 118 | 
             
                            NULL_STRING = '{{ csv_options.null_string }}'
         | 
| 119 119 | 
             
                        {%- endif %}
         | 
| 120 | 
            -
                        {%- if csv_options.empty_field_as_null  | 
| 120 | 
            +
                        {%- if csv_options.empty_field_as_null %}
         | 
| 121 121 | 
             
                            EMPTY_FIELD_AS_NULL = {{ csv_options.empty_field_as_null | upper }}
         | 
| 122 122 | 
             
                        {%- endif %}
         | 
| 123 | 
            -
                        {%- if csv_options.skip_blank_lines  | 
| 123 | 
            +
                        {%- if csv_options.skip_blank_lines %}
         | 
| 124 124 | 
             
                            SKIP_BLANK_LINES = {{ csv_options.skip_blank_lines | upper }}
         | 
| 125 125 | 
             
                        {%- endif %}
         | 
| 126 126 | 
             
                        {%- if csv_options.date_format %}
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            {% macro firebolt__snapshot_merge_sql(target, source, insert_cols) -%}
         | 
| 2 | 
            +
                {%- set insert_cols_csv = insert_cols | join(', ') -%}
         | 
| 3 | 
            +
             | 
| 4 | 
            +
                UPDATE {{ target.render() }} AS DBT_INTERNAL_DEST
         | 
| 5 | 
            +
                SET dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to
         | 
| 6 | 
            +
                FROM {{ source }} AS DBT_INTERNAL_SOURCE
         | 
| 7 | 
            +
                WHERE DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id
         | 
| 8 | 
            +
                AND DBT_INTERNAL_DEST.dbt_valid_to IS NULL
         | 
| 9 | 
            +
                AND DBT_INTERNAL_SOURCE.dbt_change_type IN ('update', 'delete');
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                INSERT INTO {{ target.render() }} ({{ insert_cols_csv }})
         | 
| 12 | 
            +
                SELECT {{ insert_cols_csv }}
         | 
| 13 | 
            +
                FROM {{ source }} AS DBT_INTERNAL_SOURCE
         | 
| 14 | 
            +
                WHERE DBT_INTERNAL_SOURCE.dbt_scd_id NOT IN (
         | 
| 15 | 
            +
                    SELECT dbt_scd_id FROM {{ target.render() }}
         | 
| 16 | 
            +
                )
         | 
| 17 | 
            +
                AND DBT_INTERNAL_SOURCE.dbt_change_type = 'insert';
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            {% endmacro %}
         | 
| @@ -24,6 +24,10 @@ | |
| 24 24 | 
             
                    ) }}
         | 
| 25 25 | 
             
                {%- endif -%}
         | 
| 26 26 |  | 
| 27 | 
            +
                {%- if temporary -%}
         | 
| 28 | 
            +
                    {%- do adapter.drop_relation(relation) -%}
         | 
| 29 | 
            +
                {%- endif -%}
         | 
| 30 | 
            +
             | 
| 27 31 | 
             
                {%- set table_type = config.get(
         | 
| 28 32 | 
             
                    'table_type',
         | 
| 29 33 | 
             
                    default = 'dimension'
         | 
| @@ -49,9 +53,9 @@ | |
| 49 53 |  | 
| 50 54 | 
             
                {%- if primary_index %}
         | 
| 51 55 | 
             
                    primary INDEX {% if primary_index is iterable and primary_index is not string %}
         | 
| 52 | 
            -
                        {{ primary_index | join(', ') }}
         | 
| 56 | 
            +
                        "{{ primary_index | join('", "') }}"
         | 
| 53 57 | 
             
                    {%- else -%}
         | 
| 54 | 
            -
                        {{ primary_index }}
         | 
| 58 | 
            +
                        "{{ primary_index }}"
         | 
| 55 59 | 
             
                    {%- endif -%}
         | 
| 56 60 | 
             
                {%- endif -%}
         | 
| 57 61 |  | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Metadata-Version: 2.1
         | 
| 2 2 | 
             
            Name: dbt-firebolt
         | 
| 3 | 
            -
            Version: 1. | 
| 3 | 
            +
            Version: 1.9.0
         | 
| 4 4 | 
             
            Summary: The Firebolt adapter plugin for dbt (data build tool)
         | 
| 5 5 | 
             
            Home-page: https://github.com/firebolt-db/dbt-firebolt
         | 
| 6 6 | 
             
            Author: Firebolt
         | 
| @@ -13,6 +13,9 @@ Classifier: Programming Language :: Python :: 3 | |
| 13 13 | 
             
            Classifier: Programming Language :: Python :: 3 :: Only
         | 
| 14 14 | 
             
            Classifier: Programming Language :: Python :: 3.8
         | 
| 15 15 | 
             
            Classifier: Programming Language :: Python :: 3.9
         | 
| 16 | 
            +
            Classifier: Programming Language :: Python :: 3.10
         | 
| 17 | 
            +
            Classifier: Programming Language :: Python :: 3.11
         | 
| 18 | 
            +
            Classifier: Programming Language :: Python :: 3.12
         | 
| 16 19 | 
             
            Requires-Python: >=3.8
         | 
| 17 20 | 
             
            Description-Content-Type: text/markdown
         | 
| 18 21 | 
             
            License-File: LICENSE
         | 
| @@ -24,7 +27,7 @@ Provides-Extra: dev | |
| 24 27 | 
             
            Requires-Dist: allure-pytest ==2.* ; extra == 'dev'
         | 
| 25 28 | 
             
            Requires-Dist: dbt-tests-adapter ~=1.6 ; extra == 'dev'
         | 
| 26 29 | 
             
            Requires-Dist: mypy ==1.4.1 ; extra == 'dev'
         | 
| 27 | 
            -
            Requires-Dist: pre-commit == | 
| 30 | 
            +
            Requires-Dist: pre-commit ==3.5.0 ; extra == 'dev'
         | 
| 28 31 | 
             
            Requires-Dist: pytest ==7.* ; extra == 'dev'
         | 
| 29 32 |  | 
| 30 33 | 
             
            <img width="1113" alt="Screen Shot 2021-12-10 at 1 09 09 PM" src="https://user-images.githubusercontent.com/7674553/145641621-a7dabe78-da92-4f0a-bbd2-54ccf7f34b57.png">
         | 
| @@ -75,7 +78,7 @@ The table below shows which dbt and Firebolt features are supported by the adapt | |
| 75 78 | 
             
            | Incremental materializations - insert_overwrite | :white_check_mark: |
         | 
| 76 79 | 
             
            | Incremental materializations - delete+insert | :white_check_mark: |
         | 
| 77 80 | 
             
            | Incremental materializations - merge | :x: |
         | 
| 78 | 
            -
            | Snapshots                    | : | 
| 81 | 
            +
            | Snapshots                    | :white_check_mark: |
         | 
| 79 82 | 
             
            | Seeds                        | :white_check_mark: |
         | 
| 80 83 | 
             
            | Tests                        | :white_check_mark: |
         | 
| 81 84 | 
             
            | Documentation                | :white_check_mark: |
         | 
| @@ -1,8 +1,8 @@ | |
| 1 | 
            -
            dbt/adapters/firebolt/__init__.py,sha256= | 
| 1 | 
            +
            dbt/adapters/firebolt/__init__.py,sha256=JjZII9vG02tYg2Mx_VhNAvHCmaGklk5xXNQhOpqQcOM,411
         | 
| 2 2 | 
             
            dbt/adapters/firebolt/__version__.py,sha256=zRlZGglif76ZVuWWSjsH_MMPgtVQqmj-SryYJW25FL4,69
         | 
| 3 3 | 
             
            dbt/adapters/firebolt/column.py,sha256=COo_wjhCFgS3GFcPIPcoq7WAWgzN6DB2XqG-gk51WBc,539
         | 
| 4 | 
            -
            dbt/adapters/firebolt/connections.py,sha256= | 
| 5 | 
            -
            dbt/adapters/firebolt/impl.py,sha256= | 
| 4 | 
            +
            dbt/adapters/firebolt/connections.py,sha256=_i0wPE6LWmLGo_C50UhPAU8IMUi_I2HU23fBZtfhi0Q,7942
         | 
| 5 | 
            +
            dbt/adapters/firebolt/impl.py,sha256=xlmGCDezIsUKiQ4gQFR60h_QtvSgW1lOacktv8Lt3ow,15143
         | 
| 6 6 | 
             
            dbt/adapters/firebolt/relation.py,sha256=Xg3Nrjw3UrF_qwnuGbPT97rSXRiDP1GlIAoBF4b7QnY,1922
         | 
| 7 7 | 
             
            dbt/adapters/firebolt/relation_configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
         | 
| 8 8 | 
             
            dbt/include/firebolt/__init__.py,sha256=vBGWeG-dHHkimfnX8axBJ4IgAowFw8xADmo6Auzn2xc,52
         | 
| @@ -11,12 +11,13 @@ dbt/include/firebolt/macros/adapters.sql,sha256=NiTW87XQmC8gGahY6LCw7Fd6Brgin5qB | |
| 11 11 | 
             
            dbt/include/firebolt/macros/catalog.sql,sha256=LLhjI9oEoMEQKQfE3LJ5nWS9-u3bwBAYBz4ukrsg5T8,3350
         | 
| 12 12 | 
             
            dbt/include/firebolt/macros/adapters/apply_grants.sql,sha256=nEmyDs0K0HENxxMaY8v-5oifIXDMrysmuUb_bo9bCuY,1095
         | 
| 13 13 | 
             
            dbt/include/firebolt/macros/adapters/relation.sql,sha256=1nQZg_vwpGYwFI2EQvHJA5CqFWk7h3w3Yq2uvYXNR5E,2017
         | 
| 14 | 
            -
            dbt/include/firebolt/macros/dbt_external_tables/create_external_table.sql,sha256= | 
| 14 | 
            +
            dbt/include/firebolt/macros/dbt_external_tables/create_external_table.sql,sha256=MeFyR0oMjQdc0GlUABx6DDm5t76PdcdmXKWGVThi4EE,6069
         | 
| 15 15 | 
             
            dbt/include/firebolt/macros/dbt_external_tables/dropif.sql,sha256=-kZzUVgC6Bcof7tZ9VcDK427agylMHeG-yA8NqSeWkw,167
         | 
| 16 16 | 
             
            dbt/include/firebolt/macros/dbt_external_tables/get_external_build_plan.sql,sha256=BWNSuqB9t0hxbxL9CbIc0UFTBBarQMtGfHv9LLAbqSI,894
         | 
| 17 17 | 
             
            dbt/include/firebolt/macros/materializations/clone.sql,sha256=SKPc_tG0tF2HRKlo1-CQPvxVWGKHpXDwxvubsCwKTG8,79
         | 
| 18 18 | 
             
            dbt/include/firebolt/macros/materializations/materialized_view.sql,sha256=pdWGMP25o0RqNINx1hbn1Q4dTNcdk0Dgrlv3K8XQAbs,202
         | 
| 19 19 | 
             
            dbt/include/firebolt/macros/materializations/seed.sql,sha256=O622lwmzRGeAfaNfRpjR183ARFltILteznwgXZfPXMA,1564
         | 
| 20 | 
            +
            dbt/include/firebolt/macros/materializations/snapshot_merge.sql,sha256=9Y4tGWkqkBDt53QHKxJPFALboKQxDJ4ZaSrLwNyRgIs,795
         | 
| 20 21 | 
             
            dbt/include/firebolt/macros/materializations/table.sql,sha256=XY0D-df9EoWOBF3kCT3TCE3Rko7bvvfuztQT0-Pqlfs,1752
         | 
| 21 22 | 
             
            dbt/include/firebolt/macros/materializations/test.sql,sha256=Wol19pNIfkPRTpVUYKAGbkipYOMZjixnAaoZ1chuP88,488
         | 
| 22 23 | 
             
            dbt/include/firebolt/macros/materializations/view.sql,sha256=0xg2mO-1UWtZKj2Wlplgm7s93l-FKBswajiBOqPu2Og,1706
         | 
| @@ -31,7 +32,7 @@ dbt/include/firebolt/macros/relations/materialized_view/create.sql,sha256=xthF0o | |
| 31 32 | 
             
            dbt/include/firebolt/macros/relations/materialized_view/describe.sql,sha256=uMJWY-9P-49YjhwH_F1Co4szia0oNAVYqJIv2IVGzM8,164
         | 
| 32 33 | 
             
            dbt/include/firebolt/macros/relations/materialized_view/drop.sql,sha256=Ya03cid5h05t3-SIF4JndKtMMIctD46OX9gPVt9jhVw,160
         | 
| 33 34 | 
             
            dbt/include/firebolt/macros/relations/materialized_view/refresh.sql,sha256=9s4e6cjT9Dx9nCCJPMlhV5SkzHX8574cdIJUhSfNmU8,163
         | 
| 34 | 
            -
            dbt/include/firebolt/macros/relations/table/create.sql,sha256= | 
| 35 | 
            +
            dbt/include/firebolt/macros/relations/table/create.sql,sha256=5FK3XOICE-9LGojHzh0pjCy5wO-RKyeytzkEQmYT7zY,2507
         | 
| 35 36 | 
             
            dbt/include/firebolt/macros/relations/table/drop.sql,sha256=3W0SMqmlDizmZqn-QZvqXeJ9lG2KtooiFvwac3WzSzQ,110
         | 
| 36 37 | 
             
            dbt/include/firebolt/macros/relations/table/rename.sql,sha256=5dmKvuiSnMTARuthnDJBUOORdQCIeEuGMLoyZlgQxVU,185
         | 
| 37 38 | 
             
            dbt/include/firebolt/macros/relations/table/replace.sql,sha256=bw08YDtLMhkM4dO4nYXZ32U50lcnTG5Axb-Lls7XpB0,132
         | 
| @@ -53,8 +54,8 @@ dbt/include/firebolt/macros/utils/position.sql,sha256=WPo9_bhvNYJooEAsHC9OcnNAwU | |
| 53 54 | 
             
            dbt/include/firebolt/macros/utils/right.sql,sha256=_mm1_2MvlOH4O6CmYhgvVxMLfDxAvgv-EMwZ8OBOq-I,254
         | 
| 54 55 | 
             
            dbt/include/firebolt/macros/utils/split_part.sql,sha256=5dUlbx3Pt1iWWaIlxiXyYUwUqzXuLLXMB-1aGJHNk4o,464
         | 
| 55 56 | 
             
            dbt/include/firebolt/macros/utils/timestamps.sql,sha256=22g-QpJjBuBUQOHNpQ_TuMRa-cHxaxXPv8ItEUo-vEk,397
         | 
| 56 | 
            -
            dbt_firebolt-1. | 
| 57 | 
            -
            dbt_firebolt-1. | 
| 58 | 
            -
            dbt_firebolt-1. | 
| 59 | 
            -
            dbt_firebolt-1. | 
| 60 | 
            -
            dbt_firebolt-1. | 
| 57 | 
            +
            dbt_firebolt-1.9.0.dist-info/LICENSE,sha256=Nn0EGvW3qmoZpBV_JVM3iPukFf3RiNCIizrWe_2oTHk,11354
         | 
| 58 | 
            +
            dbt_firebolt-1.9.0.dist-info/METADATA,sha256=cusaAXb1pygjqHsGIE6sk-Xk56vD8NOhOnVzWhWn-_M,5237
         | 
| 59 | 
            +
            dbt_firebolt-1.9.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
         | 
| 60 | 
            +
            dbt_firebolt-1.9.0.dist-info/top_level.txt,sha256=B2YH4he17ajilEWOGCKHbRcEJlCuZKwCcgFcLPntLsE,4
         | 
| 61 | 
            +
            dbt_firebolt-1.9.0.dist-info/RECORD,,
         | 
| 
            File without changes
         | 
| 
            File without changes
         | 
| 
            File without changes
         |