clickzetta-semantic-model-generator 1.0.11__py3-none-any.whl → 1.0.13__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: clickzetta-semantic-model-generator
3
- Version: 1.0.11
3
+ Version: 1.0.13
4
4
  Summary: Curate a Semantic Model for ClickZetta Lakehouse
5
5
  License: Apache Software License; BSD License
6
6
  Author: qililiang
@@ -1,5 +1,5 @@
1
1
  semantic_model_generator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- semantic_model_generator/clickzetta_utils/clickzetta_connector.py,sha256=LfudaByoNX8rBe1BYYhgXL7eFWC2H5tBhuivwCfn1iA,35428
2
+ semantic_model_generator/clickzetta_utils/clickzetta_connector.py,sha256=CwmO0kjQRujtDBaikjUY2h9Y28i4Ui--ojtB5Nr7XJs,36033
3
3
  semantic_model_generator/clickzetta_utils/env_vars.py,sha256=8cbL6R75c1-aVQ2i1TDr9SiHCUjTrgvXbIRz4MbcmbE,7664
4
4
  semantic_model_generator/clickzetta_utils/utils.py,sha256=UBfWy9qOTyut8tL02gOHHbh6Uz8RqRz5Mm2YdKWFN54,4950
5
5
  semantic_model_generator/data_processing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -32,7 +32,7 @@ semantic_model_generator/validate/context_length.py,sha256=HL-GfaRXNcVji1-pAFGXG
32
32
  semantic_model_generator/validate/keywords.py,sha256=frZ5HjRXP69K6dYAU5_d86oSp40_3yoLUg1eQwU3oLM,7080
33
33
  semantic_model_generator/validate/schema.py,sha256=eL_wl5yscIeczwNBRUKhF_7QqWW2wSGimkgaOhMFsrA,5893
34
34
  semantic_model_generator/validate_model.py,sha256=Uq-V-GfPeF2Dy4l9uF5Guv104gDCDGh0Cxz1AJOu5dk,836
35
- clickzetta_semantic_model_generator-1.0.11.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
36
- clickzetta_semantic_model_generator-1.0.11.dist-info/METADATA,sha256=redlqh04BYGLtGTzRYRL9TFjAGEpmDRdrStQrOtwT5E,7817
37
- clickzetta_semantic_model_generator-1.0.11.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
38
- clickzetta_semantic_model_generator-1.0.11.dist-info/RECORD,,
35
+ clickzetta_semantic_model_generator-1.0.13.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
36
+ clickzetta_semantic_model_generator-1.0.13.dist-info/METADATA,sha256=eWxK-U7IaduyEYAHMppEJx_DxDaTDdgQJPoed52fu-s,7817
37
+ clickzetta_semantic_model_generator-1.0.13.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
38
+ clickzetta_semantic_model_generator-1.0.13.dist-info/RECORD,,
@@ -482,42 +482,59 @@ def _fetch_columns_via_show(
482
482
  rows: List[pd.DataFrame] = []
483
483
  category = _catalog_category(session, workspace)
484
484
  is_shared_catalog = category == "SHARED"
485
- catalog = workspace if is_shared_catalog else workspace.upper()
485
+ catalog = workspace
486
486
  schema_token = table_schema or ""
487
- if schema_token and not is_shared_catalog:
488
- schema_token = schema_token.upper()
489
487
 
490
488
  for table_name in table_names:
491
489
  table_token = str(table_name).strip()
492
490
  if not table_token:
493
491
  continue
494
- qualified_table = join_quoted_identifiers(
492
+
493
+ identifier_candidates: List[str] = []
494
+ fully_qualified = join_quoted_identifiers(
495
495
  *(part for part in (catalog, schema_token, table_token) if part)
496
496
  )
497
- query = f"SHOW COLUMNS IN {qualified_table}"
498
- df_source = "SHOW COLUMNS"
499
- try:
500
- df = session.sql(query).to_pandas()
501
- except Exception as exc:
502
- logger.debug(
503
- "SHOW COLUMNS fallback failed for {}: {}", qualified_table, exc
504
- )
505
- df = pd.DataFrame()
506
- if df.empty:
507
- describe_query = f"DESCRIBE TABLE {qualified_table}"
497
+ if fully_qualified:
498
+ identifier_candidates.append(fully_qualified)
499
+ schema_qualified = (
500
+ join_quoted_identifiers(schema_token, table_token)
501
+ if schema_token
502
+ else ""
503
+ )
504
+ if schema_qualified:
505
+ identifier_candidates.append(schema_qualified)
506
+ bare_identifier = join_quoted_identifiers(table_token)
507
+ if bare_identifier:
508
+ identifier_candidates.append(bare_identifier)
509
+
510
+ df = pd.DataFrame()
511
+ df_source = ""
512
+ for identifier in identifier_candidates:
513
+ query = f"SHOW COLUMNS IN {identifier}"
508
514
  try:
509
- describe_df = session.sql(describe_query).to_pandas()
515
+ df = session.sql(query).to_pandas()
516
+ df_source = "SHOW COLUMNS"
510
517
  except Exception as exc:
511
518
  logger.debug(
512
- "DESCRIBE TABLE fallback failed for {}: {}", qualified_table, exc
519
+ "SHOW COLUMNS fallback failed for {}: {}", identifier, exc
513
520
  )
514
- describe_df = pd.DataFrame()
515
- if not describe_df.empty:
516
- df_source = "DESCRIBE TABLE"
517
- df = describe_df
521
+ df = pd.DataFrame()
522
+ if df.empty:
523
+ describe_query = f"DESCRIBE TABLE {identifier}"
524
+ try:
525
+ describe_df = session.sql(describe_query).to_pandas()
526
+ except Exception as exc:
527
+ logger.debug(
528
+ "DESCRIBE TABLE fallback failed for {}: {}", identifier, exc
529
+ )
530
+ describe_df = pd.DataFrame()
531
+ if not describe_df.empty:
532
+ df = describe_df
533
+ df_source = "DESCRIBE TABLE"
534
+ if not df.empty:
535
+ break
518
536
  if df.empty:
519
537
  continue
520
- df.columns = [str(col).upper() for col in df.columns]
521
538
  if df_source == "DESCRIBE TABLE":
522
539
  if "KIND" in df.columns:
523
540
  df = df[df["KIND"].astype(str).str.upper() == "COLUMN"]
@@ -530,6 +547,7 @@ def _fetch_columns_via_show(
530
547
  df = df.rename(columns=rename_map)
531
548
  if df.empty:
532
549
  continue
550
+ df.columns = [str(col).upper() for col in df.columns]
533
551
  schema_col = next(
534
552
  (col for col in ("TABLE_SCHEMA", "SCHEMA_NAME") if col in df.columns), None
535
553
  )