English
Instant Developer Foundation Documentazione
  • Note di rilascio
  • Instant Developer Foundation
  • Versioni precedenti
  • Versione 18.0.7000
  • Correzioni

IDE: For-Each scrivibili e blocco CONTINUE

copia link

Descrizione del difetto

Se si utilizzava l'istruzione continue dentro ad un ciclo for-each-row scrivibile si potevano ottenere comportamenti non corretti in alcuni casi.

Il malfunzionamento si manifestava solo in tecnologia Java ed era dovuto al fatto che l'istruzione CONTINUE, chiamata all'interno di un ciclo for-each-row scrivibile, non salvava le modifiche sul database.

Il malfunzionamento si manifestava, per esempio, nel seguente blocco di codice:

public void People.Scramble()
{
  // Change even IDs to upper case, odd IDs to lower case
  for each row (readwrite)
  {
    select
      PersonID = ID
      PersonName = Name
    from
      People // master table
    // 
    // If it's even, change to upper case

    if (PersonID % 2 == 0)
    {
      PersonName = upper(PersonName)
      continue
    }
    // 
    // Change to lower case

    PersonName = lower(PersonName)
  }
}

Come è possibile osservare il metodo Scramble cambia in maiuscolo il nome delle persone il cui ID è pari mentre cambia in minuscolo il nome delle persone il cui ID è dispari. A causa del malfunzionamento il blocco CONTINUE saltava al prossimo ciclo del blocco for-each ma non salvava le eventuali modifiche eseguite per quel ciclo. Pertanto, al termine del ciclo, tutte le righe con ID dispari erano effettivamente minuscole ma le righe con ID pari non erano maiuscole.

Effetti del malfunzionamento

  • Se si usava un blocco CONTINUE in un ciclo for-each-row scrivibile le righe modificate in quel ciclo non venivano scritte su database.

Soluzioni

Non sono disponibili workaround per le versioni precedenti.

Funzionalità interessate

L'utilizzo di cicli for-each-row in tecnologia Java.

Note

  • Malfunzionamento relativo alla richiesta di assistenza 001591-2017.

Ultima modifica: 04/04/2018 / Validità: da 18.0.7000

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum