omnata-plugin-runtime 0.10.7a247__py3-none-any.whl → 0.10.7a249__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/configuration.py +37 -32
- omnata_plugin_runtime/json_schema.py +18 -9
- {omnata_plugin_runtime-0.10.7a247.dist-info → omnata_plugin_runtime-0.10.7a249.dist-info}/METADATA +1 -1
- {omnata_plugin_runtime-0.10.7a247.dist-info → omnata_plugin_runtime-0.10.7a249.dist-info}/RECORD +6 -6
- {omnata_plugin_runtime-0.10.7a247.dist-info → omnata_plugin_runtime-0.10.7a249.dist-info}/LICENSE +0 -0
- {omnata_plugin_runtime-0.10.7a247.dist-info → omnata_plugin_runtime-0.10.7a249.dist-info}/WHEEL +0 -0
@@ -505,39 +505,44 @@ class InboundSyncStreamsConfiguration(SubscriptableBaseModel):
|
|
505
505
|
@model_validator(mode='before')
|
506
506
|
@classmethod
|
507
507
|
def migrate_bulk_configuration(cls, data: Any) -> Any:
|
508
|
-
if 'sync_strategy_bulk_configuration' in data
|
508
|
+
if 'sync_strategy_bulk_configuration' in data \
|
509
|
+
and data['sync_strategy_bulk_configuration'] is not None \
|
510
|
+
and 'storage_behaviour_bulk_configuration' in data \
|
511
|
+
and data['storage_behaviour_bulk_configuration'] is not None:
|
509
512
|
return data
|
510
|
-
if 'bulk_configuration' in data:
|
511
|
-
#
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
513
|
+
if 'bulk_configuration' not in data:
|
514
|
+
# This was previously a default value
|
515
|
+
data['bulk_configuration'] = InboundSyncBulkConfiguration.CUSTOMIZE.value
|
516
|
+
# Recently deprecated values
|
517
|
+
# AUTO_MERGE = "Auto / Merge changes" # Merge
|
518
|
+
# AUTO_APPEND = "Auto / Keep history" # Append
|
519
|
+
# CUSTOMIZE = "Customize - choose sync behaviours for each object"
|
520
|
+
# Deprecated longer ago
|
521
|
+
# ALL_FULL_REPLACE = "All Objects - Full refresh / Replace"
|
522
|
+
# ALL_FULL_APPEND = "All Objects - Full refresh / Append"
|
523
|
+
# ALL_INCR_MERGE = "All Objects - Incremental / Merge"
|
524
|
+
# ALL_INCR_APPEND = "All Objects - Incremental / Append"
|
525
|
+
if data['bulk_configuration']== InboundSyncBulkConfiguration.AUTO_MERGE.value:
|
526
|
+
data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
|
527
|
+
data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
|
528
|
+
elif data['bulk_configuration']== InboundSyncBulkConfiguration.AUTO_APPEND.value:
|
529
|
+
data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
|
530
|
+
data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
|
531
|
+
elif data['bulk_configuration']== InboundSyncBulkConfiguration.CUSTOMIZE.value:
|
532
|
+
data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
|
533
|
+
data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MANUAL.value
|
534
|
+
elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_FULL_REPLACE.value:
|
535
|
+
data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
|
536
|
+
data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
|
537
|
+
elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_FULL_APPEND.value:
|
538
|
+
data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.MANUAL.value
|
539
|
+
data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
|
540
|
+
elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_INCR_MERGE.value:
|
541
|
+
data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
|
542
|
+
data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.MERGE.value
|
543
|
+
elif data['bulk_configuration']== InboundSyncBulkConfiguration.ALL_INCR_APPEND.value:
|
544
|
+
data['sync_strategy_bulk_configuration']= InboundSyncStrategyBulkConfiguration.AUTO.value
|
545
|
+
data['storage_behaviour_bulk_configuration']= InboundStorageBehaviourBulkConfiguration.APPEND.value
|
541
546
|
# remove this once the old UI is deprecated
|
542
547
|
#del data['bulk_configuration']
|
543
548
|
return data
|
@@ -251,6 +251,13 @@ class SnowflakeViewColumn(BaseModel):
|
|
251
251
|
|
252
252
|
# Collect columns to be moved
|
253
253
|
columns_to_move:List[Self] = []
|
254
|
+
# Collect Omnata System columns and keep them at the front
|
255
|
+
omnata_system_columns = []
|
256
|
+
for column in join_columns[:]:
|
257
|
+
if column.original_name.startswith("OMNATA_"):
|
258
|
+
join_columns.remove(column)
|
259
|
+
omnata_system_columns.append(column)
|
260
|
+
|
254
261
|
for column in join_columns:
|
255
262
|
for other_column in join_columns:
|
256
263
|
if f'"{column.original_name}"' in other_column.expression:
|
@@ -261,7 +268,7 @@ class SnowflakeViewColumn(BaseModel):
|
|
261
268
|
for column in columns_to_move:
|
262
269
|
join_columns.remove(column)
|
263
270
|
join_columns.insert(0, column)
|
264
|
-
return join_columns
|
271
|
+
return omnata_system_columns + join_columns
|
265
272
|
|
266
273
|
|
267
274
|
class SnowflakeViewJoin(BaseModel):
|
@@ -369,13 +376,13 @@ class SnowflakeViewPart(BaseModel):
|
|
369
376
|
"""
|
370
377
|
Returns the columns that are not sourced from joins.
|
371
378
|
"""
|
372
|
-
return
|
379
|
+
return [c for c in self.columns if not c.is_join_column]
|
373
380
|
|
374
381
|
def join_columns(self) -> List[SnowflakeViewColumn]:
|
375
382
|
"""
|
376
383
|
Returns the columns that are sourced from joins.
|
377
384
|
"""
|
378
|
-
return
|
385
|
+
return [c for c in self.columns if c.is_join_column]
|
379
386
|
|
380
387
|
def comment_clause(self) -> str:
|
381
388
|
"""
|
@@ -431,12 +438,16 @@ class SnowflakeViewParts(BaseModel):
|
|
431
438
|
final_cte = f""" OMNATA_FINAL_CTE as (
|
432
439
|
select {', '.join(
|
433
440
|
[
|
434
|
-
f'"{c.original_name}"' for c in self.main_part.direct_columns()
|
441
|
+
f'"{self.main_part.stream_name}"."{c.original_name}"' for c in self.main_part.direct_columns()
|
435
442
|
]+[
|
436
443
|
c.definition(original_name=True) for c in self.main_part.join_columns()
|
437
444
|
])}
|
438
|
-
from "{self.main_part.stream_name}"
|
439
|
-
)
|
445
|
+
from "{self.main_part.stream_name}" """
|
446
|
+
if len(self.main_part.joins) > 0:
|
447
|
+
join_clauses = [join.definition() for join in self.main_part.joins]
|
448
|
+
final_cte += "\n" + ("\n".join(join_clauses))
|
449
|
+
final_cte += ")"
|
450
|
+
|
440
451
|
ctes.append(final_cte)
|
441
452
|
all_ctes = "\n,".join(ctes)
|
442
453
|
main_columns:List[SnowflakeViewColumn] = SnowflakeViewColumn.order_by_reference(self.main_part.direct_columns() +
|
@@ -447,9 +458,7 @@ class SnowflakeViewParts(BaseModel):
|
|
447
458
|
view_body = f"""with {all_ctes}
|
448
459
|
select {', '.join(column_clauses)}
|
449
460
|
from OMNATA_FINAL_CTE """
|
450
|
-
|
451
|
-
join_clauses = [join.definition() for join in self.main_part.joins]
|
452
|
-
view_body += "\n" + ("\n".join(join_clauses))
|
461
|
+
|
453
462
|
return view_body
|
454
463
|
|
455
464
|
@classmethod
|
{omnata_plugin_runtime-0.10.7a247.dist-info → omnata_plugin_runtime-0.10.7a249.dist-info}/RECORD
RENAMED
@@ -1,13 +1,13 @@
|
|
1
1
|
omnata_plugin_runtime/__init__.py,sha256=MS9d1whnfT_B3-ThqZ7l63QeC_8OEKTuaYV5wTwRpBA,1576
|
2
2
|
omnata_plugin_runtime/api.py,sha256=baGraSMiD4Yvi3ZWrEv_TKh8Ktd1U8riBdOpe9j0Puw,8202
|
3
|
-
omnata_plugin_runtime/configuration.py,sha256=
|
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=HOLJgP4LdfhtWb9BnIZtvgRngbhttTtX5CX0h_6E3Ts,30668
|
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.7a249.dist-info/LICENSE,sha256=rGaMQG3R3F5-JGDp_-rlMKpDIkg5n0SI4kctTk8eZSI,56
|
11
|
+
omnata_plugin_runtime-0.10.7a249.dist-info/METADATA,sha256=-Mp6ds2rnMMVbAtfwYe7ejmFFq9vRnL9b2B6K4i2oqw,2211
|
12
|
+
omnata_plugin_runtime-0.10.7a249.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
13
|
+
omnata_plugin_runtime-0.10.7a249.dist-info/RECORD,,
|
{omnata_plugin_runtime-0.10.7a247.dist-info → omnata_plugin_runtime-0.10.7a249.dist-info}/LICENSE
RENAMED
File without changes
|
{omnata_plugin_runtime-0.10.7a247.dist-info → omnata_plugin_runtime-0.10.7a249.dist-info}/WHEEL
RENAMED
File without changes
|