From 0ac4a5f4402c6e787834408451e1c37fa22c718f Mon Sep 17 00:00:00 2001 From: Matthieu Marcillaud <marcimat@rezo.net> Date: Sun, 16 Nov 2008 00:40:33 +0000 Subject: [PATCH] report de [13189] --- ecrire/req/sqlite_generique.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ecrire/req/sqlite_generique.php b/ecrire/req/sqlite_generique.php index 9ac8024cc8..aee249954f 100644 --- a/ecrire/req/sqlite_generique.php +++ b/ecrire/req/sqlite_generique.php @@ -887,14 +887,19 @@ function spip_sqlite_showbase($match, $serveur='',$requeter=true){ // http://doc.spip.org/@spip_sqlite_showtable function spip_sqlite_showtable($nom_table, $serveur='',$requeter=true){ + // remplacer le prefixe de table + $connexion = $GLOBALS['connexions'][$serveur ? $serveur : 0]; + $prefixe = $connexion['prefixe']; + if ($prefixe) $nom_table = preg_replace('/^spip/', $prefixe, $nom_table); + $query = 'SELECT sql, type FROM' . ' (SELECT * FROM sqlite_master UNION ALL' . ' SELECT * FROM sqlite_temp_master)' . " WHERE tbl_name LIKE '$nom_table'" . " AND type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%'" - . 'ORDER BY substr(type,2,1), name'; + . ' ORDER BY substr(type,2,1), name'; $a = spip_sqlite_query($query, $serveur, $requeter); if (!$a) return ""; @@ -1455,7 +1460,7 @@ function _sqlite_requete_create($nom, $champs, $cles, $autoinc=false, $temporary if ($_ifnotexists) { // simuler le IF NOT EXISTS - version 2 if (_sqlite_is_version(2, '', $serveur)){ - $a = spip_sqlite_showtable($nom, $serveur); + $a = spip_sqlite_showtable($nom, $serveur); if ($a) return false; } // sinon l'ajouter en version 3 @@ -1672,7 +1677,7 @@ class sqlite_traiter_requete{ } else $suite =''; $pref = ($this->prefixe) ? $this->prefixe . "_": ""; $this->query = preg_replace('/([,\s])spip_/', '\1'.$pref, $this->query) . $suite; - + // Correction zero AS x // pg n'aime pas 0+x AS alias, sqlite, dans le meme style, // n'apprecie pas du tout SELECT 0 as x ... ORDER BY x -- GitLab