Titolo: 4D v13.5 : non sono permessi campi unici senza indice
Categoria: Info |
|
Ultimo Aggiornamento: 16/04/14 |
Dalla versione 13.5 4d non salverà più i record che hanno il flag di unico, ma che non hanno un indice assegnato.
Questa procedura permette l'estrazione dalla struttura dei campi unici non indicizzati
cfr http://kb.4d.com/assetid=77024
C_LONGINT($maxTableNumber_l;$currentTable_l)
C_LONGINT($maxFieldCount_l;$currentField_l)
C_LONGINT($dontCare_l) // Per valori GET FIELD PROPERTIES non usati.
C_BOOLEAN($dontCare_f;$isIndexed_f;$isUnique_f)
C_TEXT($logHeader_t;$logRecord_t;$logfile_t)
C_TEXT($delim_t;$lf_t)
C_TIME($logfile_h)
C_TEXT($tableName_t;$fieldName_t;$note_t)
$delim_t:=Char(Tab)
$lf_t:=Char(Carriage return)+Char(Line feed)
$logHeader_t:="Campi unici senza indice:"+$lf_t
$logfile_t:=Get 4D folder(Logs Folder)+"UniciNonIndicizzati"
$logfile_h:=Create document($logfile_t)
If (OK=1)
SEND PACKET($logfile_h;$logHeader_t)
$maxTableNumber_l:=Get last table number
For ($currentTable_l;1;$maxTableNumber_l)
If (Is table number valid($currentTable_l))
$maxFieldCount_l:=Get last field number(Table($currentTable_l))
For ($currentField_l;1;$maxFieldCount_l)
If (Is field number valid($currentTable_l;$currentField_l))
// Nota che la seguente riga è spezzata in due:
GET FIELD PROPERTIES($currentTable_l;$currentField_l;$dontCare_l;\
$dontCare_l;$isIndexed_f;$isUnique_f;$dontCare_f)
If (($isUnique_f) & (Not($isIndexed_f)))
$tableName_t:=Table name(Table($currentTable_l))
$fieldName_t:=Field name(Field($currentTable_l;$currentField_l))
$logRecord_t:="["+$tableName_t+"]"+$fieldName_t+$lf_t
SEND PACKET($logfile_h;$logRecord_t)
End if End if End for End if End for CLOSE DOCUMENT($logfile_h)
SHOW ON DISK($logfile_t)
End if
Inviato da: Umberto Migliore |
|
Visite: 15518 |
Se accedi con utente e password, puoi aggiungere dei commenti.