Skip to content
Extraits de code Groupes Projets
Valider c99078c6 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

report de [13136]

parent f5d77e8b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -30,13 +30,14 @@ function _sqlite_init_functions(&$sqlite){ ...@@ -30,13 +30,14 @@ function _sqlite_init_functions(&$sqlite){
'DATE_FORMAT' => array( '_sqlite_func_strftime' ,2), 'DATE_FORMAT' => array( '_sqlite_func_strftime' ,2),
'DAYOFMONTH' => array( '_sqlite_func_dayofmonth' ,1), 'DAYOFMONTH' => array( '_sqlite_func_dayofmonth' ,1),
'EXP' => array( 'exp' ,1),//exponentielle
'FIND_IN_SET' => array( '_sqlite_func_find_in_set' ,2), 'FIND_IN_SET' => array( '_sqlite_func_find_in_set' ,2),
'IF' => array( '_sqlite_func_if' ,3), 'IF' => array( '_sqlite_func_if' ,3),
'INSERT' => array( '_sqlite_func_insert' ,4), 'INSERT' => array( '_sqlite_func_insert' ,4),
'INSTR' => array( '_sqlite_func_instr' ,2), 'INSTR' => array( '_sqlite_func_instr' ,2),
'LEAST' => array( '_sqlite_func_least' ,3), // nb d'arguments ? 'LEAST' => array( '_sqlite_func_least' ,3),
'LEFT' => array( '_sqlite_func_left' ,2), 'LEFT' => array( '_sqlite_func_left' ,2),
# 'LENGTH' => array( 'strlen' ,1), // present v1.0.4 # 'LENGTH' => array( 'strlen' ,1), // present v1.0.4
# 'LOWER' => array( 'strtolower' ,1), // present v2.4 # 'LOWER' => array( 'strtolower' ,1), // present v2.4
...@@ -57,6 +58,7 @@ function _sqlite_init_functions(&$sqlite){ ...@@ -57,6 +58,7 @@ function _sqlite_init_functions(&$sqlite){
# 'RTRIM' => array( 'rtrim' ,1), // present en theorie # 'RTRIM' => array( 'rtrim' ,1), // present en theorie
'SETTYPE' => array( 'settype' ,2), // CAST present en v3.2.3 'SETTYPE' => array( 'settype' ,2), // CAST present en v3.2.3
'SQRT' => array( 'sqrt' ,1),
'SUBSTRING' => array( 'substr' ,3), 'SUBSTRING' => array( 'substr' ,3),
'TO_DAYS' => array( '_sqlite_func_to_days' ,1), 'TO_DAYS' => array( '_sqlite_func_to_days' ,1),
......
...@@ -1687,7 +1687,20 @@ class sqlite_traiter_requete{ ...@@ -1687,7 +1687,20 @@ class sqlite_traiter_requete{
$this->query .= $suite; $this->query .= $suite;
} }
} }
// Correction possible des divisions entieres
// Le standard SQL (lequel? ou?) semble indiquer que
// a/b=c doit donner c entier si a et b sont entiers 4/3=1.
// C'est ce que retournent effectivement SQL Server et SQLite
// Ce n'est pas ce qu'applique MySQL qui retourne un reel : 4/3=1.333...
//
// On peut forcer la conversion en multipliant par 1.0 avant la division
// /!\ SQLite 3.5.9 Debian/Ubuntu est victime d'un bug en plus !
// cf. https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/254228
// http://www.sqlite.org/cvstrac/tktview?tn=3202
// (4*1.0/3) n'est pas rendu dans ce cas !
# $this->query = str_replace('/','* 1.00 / ',$this->query);
// Correction Antiquotes // Correction Antiquotes
// ` => rien // ` => rien
$this->query = str_replace('`','',$this->query); $this->query = str_replace('`','',$this->query);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter