

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Limitazioni
<a name="limitations-super"></a>

Con Amazon Redshift puoi utilizzare il tipo di dati SUPER per archiviare ed eseguire query sui dati semistrutturati come JSON, Avro o Ion. Le limitazioni del tipo di dati SUPER si riferiscono ai vincoli e ai limiti quando utilizzi questo tipo di dati in Amazon Redshift. Nelle sezioni seguenti vengono forniti i dettagli sulle limitazioni specifiche del tipo di dati SUPER, come la dimensione massima, i livelli di annidamento e i tipi di dati supportati nei dati semistrutturati.
+ Non è possibile definire colonne SUPER come chiave di distribuzione o di ordinamento.
+ Un singolo oggetto SUPER può contenere fino a 16 MB di dati.
+ La profondità di annidamento massima per gli array e le strutture del tipo di dati SUPER è 1.000.
+ Qualsiasi stringa letterale memorizzata in un singolo oggetto SUPER è limitata a 16.000.000 di byte.
+ Altrimenti, un singolo valore all'interno di un oggetto SUPER è limitato alla lunghezza massima del tipo Amazon Redshift corrispondente.
+ Non è possibile eseguire operazioni di aggiornamento parziale o trasformazione sulle colonne SUPER.
+ Non è possibile utilizzare il tipo di dati SUPER e il relativo alias nei join di destra o nei join esterni completi.
+ Il tipo di dati SUPER non supporta XML come formato di serializzazione in ingresso o in uscita. 
+ Nella clausola FROM di una query secondaria (correlata o meno) che fa riferimento a una variabile di tabella per l'annullamento della nidificazione, la query può fare riferimento solo alla tabella padre e non ad altre tabelle.
+  Non puoi eseguire l’annullamento dell’annidamento o l’annullamento del pivot degli oggetti sulle colonne SUPER prodotte da un’espressione di tabella comune ricorsiva (`WITH RECURSIVE`). Per ulteriori informazioni sulla ricorsività CTEs, consulta. [Espressioni di tabella comuni ricorsive](r_WITH_clause.md#r_WITH_clause-recursive-cte) 
+ Limitazioni di casting

  È possibile eseguire il casting di valori SUPER da e verso altri tipi di dati con alcune eccezioni.
  + Amazon Redshift non fa alcuna differenza tra numeri interi e decimali di scala 0.
  + Se la scala non è zero, il tipo di dati SUPER ha lo stesso comportamento degli altri tipi di dati Amazon Redshift, ad eccezione del fatto che Amazon Redshift converte gli errori correlati a SUPER in null, come mostrato nell'esempio seguente.

    ```
    SELECT 5::bool;
     bool
    -------
     True
    (1 row)
    
    SELECT 5::decimal::bool;
    ERROR:  cannot cast type numeric to boolean
    
    SELECT 5::super::bool;
     bool
    -------
     True
    (1 row)
    
    SELECT 5.0::bool;
    ERROR:  cannot cast type numeric to boolean
    
    SELECT 5.0::super::bool;
     bool
    -------
    (1 row)
    ```
  + Amazon Redshift non esegue il casting dei tipi di data e ora sul tipo di dati SUPER. Amazon Redshift può eseguire il casting dei tipi di dati di data e ora solo dal tipo di dati SUPER, come mostrato nell'esempio seguente.

    ```
    SELECT o.o_orderdate FROM customer_orders_lineitem c,c.c_orders o;
      order_date
    ------------------
     "2001-09-08"
    (1 row)
    
    
    SELECT JSON_TYPEOF(o.o_orderdate) FROM customer_orders_lineitem c,c.c_orders o;
     json_typeof
    -----------------
     string
    (1 row)
    
    
    SELECT o.o_orderdate::date FROM customer_orders_lineitem c,c.c_orders o;
     order_date
    ----------------
     2001-09-08
    (1 row)
    
    
    --date/time cannot be cast to super 
    SELECT '2019-09-09'::date::super;
    ERROR:  cannot cast type date to super
    ```
  + Il casting da valori non scalari (oggetto e array) a stringa restituisce NULL. Per serializzare correttamente questi valori non scalari, non eseguirne il casting. Utilizzare invece `json_serialize` per eseguire il casting di valori non scalari. La funzione `json_serialize` restituisce un varchar. In genere, non è necessario eseguire il casting di valori non scalari su varchar poiché Amazon Redshift serializza implicitamente come mostrato nel primo esempio seguente. 

    ```
    SELECT r_nations FROM region_nations WHERE r_regionkey=300;
       r_nations
    ----------------
     [1,"abc",null]
    (1 row)
    
    SELECT r_nations::varchar FROM region_nations WHERE r_regionkey=300;
     r_nations
    -------------
    (1 row)
    
    SELECT JSON_SERIALIZE(r_nations) FROM region_nations WHERE r_regionkey=300;
     json_serialize
    -----------------
     [1,"abc",null]
    (1 row)
    ```
+ Amazon Redshift non supporta funzioni volatili, come RANDOM ( ) o TIMEOFDAY ( ), nelle query secondarie che annullano la nidificazione di una tabella esterna o un lato sinistro (LHS) delle funzioni IN con tali query secondarie.