SnowConvert AI – Probleme mit Vertica

SSC-EWI-VT0001

Die Klausel für geerbte Berechtigungen wird in Snowflake nicht unterstützt.

Beschreibung

INCLUDE SCHEMA PRIVILEGES von Vertica ermöglichen es Ansichten, Berechtigungen auf Schemaebene zu erben – im Gegensatz zu Snowflake, wo der Zugriff auf Ansichten über explizite GRANT-Anweisungen vergeben wird. Für die Migration dieser Vertica-Ansichten nach Snowflake müssen diese geerbten Berechtigungen manuell in spezifische GRANTs übersetzt werden.

Codebeispiel

Eingabecode:
Vertica
 CREATE OR REPLACE VIEW mySchema.myuser
INCLUDE SCHEMA PRIVILEGES
AS 
SELECT lastname FROM users;
Copy
Generierter Code:
Snowflake
 CREATE OR REPLACE VIEW mySchema.myuser
!!!RESOLVE EWI!!! /*** SSC-EWI-VT0001 - INHERITED PRIVILEGES CLAUSE IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
INCLUDE SCHEMA PRIVILEGES
AS
SELECT lastname FROM
    users;
Copy

Best Practices

  • Für Snowflake lautet die Empfehlung, diese geerbten Vertica-Berechtigungen zu übersetzen, indem man GRANT-Anweisungen verwendet, um die erforderlichen Berechtigungen direkt bestimmten Rollen in der Ansicht zuzuweisen.

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.

SSC-EWI-VT0002

Die Tabellenoption „Order by“ wird in Snowflake nicht unterstützt.

Beschreibung

In Vertica gibt diese ORDER BY-Klausel an, wie Daten innerhalb einer Superprojektion, einer optimierten Speicherstruktur für eine Tabelle, physisch sortiert werden. Diese explizite physische Reihenfolge bei der Tabellenerstellung wird in Snowflake nicht direkt unterstützt.

Snowflake handhabt Datenspeicher anders und verwendet Mikropartitionen. Während die Daten innerhalb dieser Mikropartitionen eine gewisse natürliche Ordnung aufweisen können – basierend auf der Einfügung oder sofern Gruppierungsschlüssel definiert sind , wird eine ORDER BY-Klausel nicht verwendet, um diese physische Anordnung bei der Tabellenerstellung in derselben expliziten Weise vorzugeben wie bei Verticas Superprojektionen. Stattdessen setzt Snowflake Clustering ein, um das Datenlayout für bessere Performance zu optimieren und so einen automatisierten Ansatz für die physische Bestellung zu bieten.

Codebeispiel

Eingabecode:
Vertica
 CREATE TABLE metrics 
(
  metric_id INT,
  business_unit VARCHAR(100),
  metric_category VARCHAR(50) NOT NULL,
  measurement_date DATE NOT NULL
)
ORDER BY measurement_date, business_unit, metric_category;
Copy
Generierter Code:
Snowflake
 CREATE TABLE metrics
(
  metric_id INT,
  business_unit VARCHAR(100),
  metric_category VARCHAR(50) NOT NULL,
  measurement_date DATE NOT NULL
)
!!!RESOLVE EWI!!! /*** SSC-EWI-VT0002 - ORDER BY TABLE OPTION IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
ORDER BY measurement_date, business_unit, metric_category
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "vertica",  "convertedOn": "06/17/2025",  "domain": "no-domain-provided" }}';
Copy

Best Practices

  • Für Snowflake wird empfohlen, Gruppierungsschlüssel hinzuzufügen, um dieses Verhalten zu emulieren, was den [Snowflake-eigenen Empfehlungen für die Implementierung von Gruppierungsschlüsseln] (https://docs.snowflake.com/en/user-guide/tables-clustering-keys) entspricht.

  • Wenn Sie weitere Unterstützung benötigen, können Sie uns eine E-Mail an snowconvert-support@snowflake.com senden.