classe bd_espressione estende bd_campo
{
Alias();
Esporta(); &
Espressione(); &
FunzioneDiGruppo();
Importa(&$str); &
NomeLocale(); &
SQL();
}
define('ESPR_SQL_SOMMA', 1);
define('ESPR_SQL_MAX', 2);
define('ESPR_SQL_MIN', 3);
define('ESPR_SQL_CONTA', 4);
define('FINE_ESPR_GRUPPO', 100);
define('ESPR_SQL_CONCAT', 101);
define('ESPR_SQL_UNISCI', 102); //prende un separatore e tanti parametri, li unisce frapponendo il separatore, ignori i valori nulli e relativo separatore: '.',A,B,C = A.B.C '.',A,NULL,C = A.C
define('ESPR_SQL_COSTANTE', 103);
define('ESPR_SQL_SELECTED', 104); //Se i 2 operatori sono uguali vale 'selected', '' altrimenti
define('ESPR_SQL_INDICE_BASE0', 105);
define('ESPR_SQL_INDICE_BASE1', 106);
define('ESPR_SQL_INTERNAZ', 107); // legge dalla tabella la trduzione di un testo. param: chiave, linguaPred, linguaSceltaDaUtente
define('ESPR_SQL_I_NON_NULLO', 108);
define('ESPR_SQL_PRESENTE', 109); //Torna l'indice del 2° parametro dentro la stringa passata come 1°
define('ESPR_SQL_CONDIZ', 110); //Se la congiunzione dei primi parametri è VERO, allora vale il penultimo, altrimenti l'ultimo
define('ESPR_SQL_SOSTITUISCI', 111);
define('ESPR_SQL_CAMBIO_BASE', 112); //numero, vecchiaBase, nuovaBase(max 36)
define('FINE_ESPR_STRINGA', 150);
define('ESPR_SQL_PER', 151);
define('ESPR_SQL_DIVISO', 152);
define('ESPR_SQL_PIU', 153);
define('ESPR_SQL_MINIMO', 154);
define('ESPR_SQL_MASSIMO', 155);
define('ESPR_SQL_SOMMAPROD', 156);
define('ESPR_SQL_ARROTONDA', 157);
define('ESPR_SQL_ASSOLUTO', 158);
define('FINE_ESPR_DECIMALE', 200);
define('ESPR_SQL_TROVA', 201); //Confronta il primo parametro con gli altri e torna l'indice del parametro uguale o 0 se non trova
define('ESPR_SQL_STRLUN', 202); //misura la lunghezza di una stringa in caratteri
define('ESPR_SQL_SEGNO', 203); //vale -1, 0 o 1 concordemente col segno dell'operatore
define('ESPR_SQL_SEGNO0', 204); //come SEGNO, ma base 0, ovvero vale SEGNO+1
define('ESPR_SQL_MODULO', 205);
define('ESPR_SQL_TRIMESTRE', 206); //torna il trimestre (1-4) della data usata
define('ESPR_SQL_ANNO', 207); //torna l'anno della data usata
define('ESPR_SQL_NCHIAVE', 208); //stacca un nuovo numero dalla tabella di sequenze, prende il nome della sequenza da usare
define('FINE_ESPR_INTERO', 300);
define('ESPR_SQL_SOMMA_GG', 301); // data + num_gg
define('FINE_ESPR_DATA', 400);
locale
costruttore($id, &$alias, &$argg, &$listaCampi)
NomeLocale() &
Torna il nome del campo senza indicare il nome della tabella.
Alias($sep='')
FunzioneDiGruppo()
Indica se questa espressione è una funzione di gruppo.
privata
NomeFunzione($id)
privata
ParametriFunzione($id, &$dim) &
$dim viene passato per riferimento, aggiornato dentro ValoreParametro
e "ritornato"
SQL() &
Torna la porzione di SQL necessaria a selezionare il campo
Fornisci() &
Torna la porzione di SQL necessaria a selezionare il campo
Esporta() &
statica
ImportaEsp(&$stringa)
Espressione() &
Torna la porzione di SQL necessaria a selezionare il campo
privata
ValoreParametro(&$i, &$dim) &
privata
privata
TipoFunzione($id)
privata
privata
privata
PrimoParametro($id)
privata
Postfisso($id, $iCampo, &$dim) &
privata
Separatore($id, $iCampo, &$dim)
privata
ParentesiAperta($id) &
privata
ParentesiChiusa($id) &
privata
CalcolaFnzGruppo()
SolaLettura()
Indica se questo campo è di sola lettura oppure no.
Le espressioni sono sempre in sola lettura, quindi torna sempre VERO.