omnata-plugin-runtime 0.10.9a258__py3-none-any.whl → 0.10.10__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.
- omnata_plugin_runtime/json_schema.py +27 -3
- {omnata_plugin_runtime-0.10.9a258.dist-info → omnata_plugin_runtime-0.10.10.dist-info}/METADATA +1 -1
- {omnata_plugin_runtime-0.10.9a258.dist-info → omnata_plugin_runtime-0.10.10.dist-info}/RECORD +5 -5
- {omnata_plugin_runtime-0.10.9a258.dist-info → omnata_plugin_runtime-0.10.10.dist-info}/LICENSE +0 -0
- {omnata_plugin_runtime-0.10.9a258.dist-info → omnata_plugin_runtime-0.10.10.dist-info}/WHEEL +0 -0
| @@ -427,12 +427,13 @@ class SnowflakeViewPart(BaseModel): | |
| 427 427 | 
             
                        c.name_with_comment(binding_list) for c in self.columns
         | 
| 428 428 | 
             
                    ]
         | 
| 429 429 |  | 
| 430 | 
            -
                def cte_text(self,original_name: bool = False) -> str:
         | 
| 430 | 
            +
                def cte_text(self,original_name: bool = False, include_only_columns:Optional[List[str]] = None) -> str:
         | 
| 431 431 | 
             
                    """
         | 
| 432 432 | 
             
                    Returns the CTE text for this view part.
         | 
| 433 433 | 
             
                    """
         | 
| 434 434 | 
             
                    return f""" "{self.stream_name}" as (
         | 
| 435 | 
            -
                select {', '.join([c.definition(original_name=original_name) for c in self.direct_columns() | 
| 435 | 
            +
                select {', '.join([c.definition(original_name=original_name) for c in self.direct_columns() 
         | 
| 436 | 
            +
                                   if include_only_columns is None or c.original_name in include_only_columns])} 
         | 
| 436 437 | 
             
                from {self.raw_table_location.get_fully_qualified_name()}
         | 
| 437 438 | 
             
            ) """
         | 
| 438 439 |  | 
| @@ -462,7 +463,30 @@ class SnowflakeViewParts(BaseModel): | |
| 462 463 | 
             
                    There will be a final SELECT statement that selects all columns from the main stream, and then adds any columns obtained via joins.
         | 
| 463 464 | 
             
                    In the final select statement, the join columns will be aliased with their transformed names.
         | 
| 464 465 | 
             
                    """
         | 
| 465 | 
            -
                     | 
| 466 | 
            +
                    # first, we need to collapse all referenced columns into a single map
         | 
| 467 | 
            +
                    all_referenced_columns:Dict[str,List[str]] = {}
         | 
| 468 | 
            +
                    for part in [self.main_part] + self.joined_parts:
         | 
| 469 | 
            +
                        for column in part.columns:
         | 
| 470 | 
            +
                            if column.referenced_columns:
         | 
| 471 | 
            +
                                for stream_name, referenced_columns in column.referenced_columns.items():
         | 
| 472 | 
            +
                                    if stream_name not in all_referenced_columns:
         | 
| 473 | 
            +
                                        all_referenced_columns[stream_name] = []
         | 
| 474 | 
            +
                                    all_referenced_columns[stream_name] += referenced_columns
         | 
| 475 | 
            +
                        for join in part.joins:
         | 
| 476 | 
            +
                            if join.join_stream_name not in all_referenced_columns:
         | 
| 477 | 
            +
                                all_referenced_columns[join.join_stream_name] = []
         | 
| 478 | 
            +
                            all_referenced_columns[join.join_stream_name].append(join.join_stream_column)
         | 
| 479 | 
            +
                            if part.stream_name not in all_referenced_columns:
         | 
| 480 | 
            +
                                all_referenced_columns[part.stream_name] = []
         | 
| 481 | 
            +
                            all_referenced_columns[part.stream_name].append(join.left_column)
         | 
| 482 | 
            +
             | 
| 483 | 
            +
             | 
| 484 | 
            +
                    ctes = [
         | 
| 485 | 
            +
                            self.main_part.cte_text(original_name=True)
         | 
| 486 | 
            +
                        ] + [
         | 
| 487 | 
            +
                            part.cte_text(original_name=True,include_only_columns=all_referenced_columns.get(part.stream_name)) 
         | 
| 488 | 
            +
                        for part in self.joined_parts
         | 
| 489 | 
            +
                    ]
         | 
| 466 490 | 
             
                    # we need a final CTE which selects the main part's direct columns and joined columns, with their original names
         | 
| 467 491 | 
             
                    # then the final select statement will just be aliasing to the transformed names
         | 
| 468 492 | 
             
                    final_cte = f""" OMNATA_FINAL_CTE as (
         | 
    
        {omnata_plugin_runtime-0.10.9a258.dist-info → omnata_plugin_runtime-0.10.10.dist-info}/RECORD
    RENAMED
    
    | @@ -2,12 +2,12 @@ omnata_plugin_runtime/__init__.py,sha256=MS9d1whnfT_B3-ThqZ7l63QeC_8OEKTuaYV5wTw | |
| 2 2 | 
             
            omnata_plugin_runtime/api.py,sha256=baGraSMiD4Yvi3ZWrEv_TKh8Ktd1U8riBdOpe9j0Puw,8202
         | 
| 3 3 | 
             
            omnata_plugin_runtime/configuration.py,sha256=0rfIGv8rCu8OwL7m-VOXIBjd05iyaBWRdt2h9o6scwo,46754
         | 
| 4 4 | 
             
            omnata_plugin_runtime/forms.py,sha256=9YHJ_T17lT-rwyDaUg_0yj_YMPda4DRCw_wrvf8hE0E,19964
         | 
| 5 | 
            -
            omnata_plugin_runtime/json_schema.py,sha256= | 
| 5 | 
            +
            omnata_plugin_runtime/json_schema.py,sha256=7dtIpA1pQ74-QozTnMvc3wAxbh9cLYiI15zyTlysOmg,35783
         | 
| 6 6 | 
             
            omnata_plugin_runtime/logging.py,sha256=WBuZt8lF9E5oFWM4KYQbE8dDJ_HctJ1pN3BHwU6rcd0,4461
         | 
| 7 7 | 
             
            omnata_plugin_runtime/omnata_plugin.py,sha256=M0b6f9lKKEoEI0zf-ZwZcIPKPQTmHTIMhvcrBc94Mhg,133278
         | 
| 8 8 | 
             
            omnata_plugin_runtime/plugin_entrypoints.py,sha256=iqGl8_nEEnPGKg3Aem4YLSQ6d5xS3ju5gq8MJbx6sCA,31968
         | 
| 9 9 | 
             
            omnata_plugin_runtime/rate_limiting.py,sha256=qpr5esU4Ks8hMzuMpSR3gLFdor2ZUXYWCjmsQH_K6lQ,25882
         | 
| 10 | 
            -
            omnata_plugin_runtime-0.10. | 
| 11 | 
            -
            omnata_plugin_runtime-0.10. | 
| 12 | 
            -
            omnata_plugin_runtime-0.10. | 
| 13 | 
            -
            omnata_plugin_runtime-0.10. | 
| 10 | 
            +
            omnata_plugin_runtime-0.10.10.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
         | 
| 11 | 
            +
            omnata_plugin_runtime-0.10.10.dist-info/METADATA,sha256=uIovVZDtcaChPAV1aL1zkFjMo_juBIRBQjHg9v6m2HE,2208
         | 
| 12 | 
            +
            omnata_plugin_runtime-0.10.10.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
         | 
| 13 | 
            +
            omnata_plugin_runtime-0.10.10.dist-info/RECORD,,
         | 
    
        {omnata_plugin_runtime-0.10.9a258.dist-info → omnata_plugin_runtime-0.10.10.dist-info}/LICENSE
    RENAMED
    
    | 
            File without changes
         | 
    
        {omnata_plugin_runtime-0.10.9a258.dist-info → omnata_plugin_runtime-0.10.10.dist-info}/WHEEL
    RENAMED
    
    | 
            File without changes
         |