diff --git a/ecrire/action/ical.php b/ecrire/action/ical.php
index a0a8b4ad21b9ba6fc9c2eec4c1d96647c80e8a53..f97abd0bada55506cb9e68c5fb06c4e8fc5fdce0 100644
--- a/ecrire/action/ical.php
+++ b/ecrire/action/ical.php
@@ -101,19 +101,19 @@ function action_ical_dist()
 // http://doc.spip.org/@spip_ical_rendez_vous
 function spip_ical_rendez_vous($id_utilisateur, $nom_site)
 {
-	$result_messages=sql_select("messages.*", "spip_messages AS messages, spip_auteurs_messages AS lien", "((lien.id_auteur=$id_utilisateur AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.statut='publie' ", " messages.id_message ", " messages.date_heure");
-	while($row=sql_fetch($result_messages)){
-		$id_message=$row['id_message'];
-		$date_heure=$row["date_heure"];
-		$date_heure_fin=$row["date_fin"];
-		//$titre=typo($row["titre"]);
-		$titre = $row["titre"];
-		$texte = $row["texte"];
-		$type=$row["type"];
+	$result_messages=sql_select("messages.id_message, messages.id_message, messages.date_heure, messages.date_fin, messages.titre, messages.texte, messages.type", "spip_messages AS messages, spip_auteurs_messages AS lien", "((lien.id_auteur=$id_utilisateur AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.statut='publie' ", " messages.id_message ", " messages.date_heure");
+        while($row=sql_fetch($result_messages)){
+                $id_message=$row['id_message'];
+                $date_heure=$row["date_heure"];
+                $date_heure_fin=$row["date_fin"];
+                //$titre=typo($row["titre"]);
+                $titre = $row["titre"];
+                $texte = $row["texte"];
+                $type=$row["type"];
 
 		if ($type == 'normal') {
 			$le_type = _T('info_message_2');
-			$result_auteurs=sql_select("auteurs.*", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "(lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur)");
+			$result_auteurs=sql_select("auteurs.id_auteur, auteurs.nom, auteurs.email", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "(lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur)");
 			while($row_auteur=sql_fetch($result_auteurs)){
 				$id_auteur=$row_auteur['id_auteur'];
 				$nom_auteur=$row_auteur['nom'];
@@ -152,7 +152,7 @@ function spip_ical_rendez_vous($id_utilisateur, $nom_site)
 // http://doc.spip.org/@spip_ical_taches
 function spip_ical_taches($id_utilisateur, $nom_site)
 {
-	$result_messages=sql_select("messages.*", "spip_messages AS messages, spip_auteurs_messages AS lien", "lien.id_auteur=$id_utilisateur AND lien.id_message=messages.id_message AND messages.type='pb' AND messages.rv!='oui' AND messages.statut='publie' ", " messages.id_message ", " messages.date_heure");
+	$result_messages=sql_select("messages.id_message, messages.id_message, messages.date_heure, messages.date_fin, messages.titre, messages.texte, messages.type", "spip_messages AS messages, spip_auteurs_messages AS lien", "lien.id_auteur=$id_utilisateur AND lien.id_message=messages.id_message AND messages.type='pb' AND messages.rv!='oui' AND messages.statut='publie' ", " messages.id_message ", " messages.date_heure");
 	while($row=sql_fetch($result_messages)){
 		$id_message=$row['id_message'];
 		$date_heure=$row["date_heure"];
@@ -162,7 +162,7 @@ function spip_ical_taches($id_utilisateur, $nom_site)
 
 		if ($type == 'normal') {
 			$le_type = _T('info_message_2');
-			$result_auteurs=sql_select("auteurs.*", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "(lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur)");
+			$result_auteurs=sql_select("auteurs.id_auteur, auteurs.nom, auteurs.email", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "(lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur)");
 			while($row_auteur=sql_fetch($result_auteurs)){
 				$id_auteur=$row_auteur['id_auteur'];
 				$nom_auteur=$row_auteur['nom'];
@@ -244,7 +244,7 @@ function spip_ical_breves($nom_site)
 // http://doc.spip.org/@spip_ical_messages
 function spip_ical_messages($id_utilisateur, $nom_site)
 {
-	$result_messages = sql_select("*", "spip_messages AS messages, spip_auteurs_messages AS lien", "lien.id_auteur=$id_utilisateur AND vu='non' AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message");
+	$result_messages = sql_select("messages.id_message, messages.id_message, messages.date_heure, messages.date_fin, messages.titre, messages.texte, messages.type", "spip_messages AS messages, spip_auteurs_messages AS lien", "lien.id_auteur=$id_utilisateur AND vu='non' AND statut='publie' AND type='normal' AND lien.id_message=messages.id_message");
 	while($row=sql_fetch($result_messages)){
 		$id_message=$row['id_message'];
 		$date_heure=$row["date_heure"];
@@ -254,7 +254,7 @@ function spip_ical_messages($id_utilisateur, $nom_site)
 
 		if ($type == 'normal') {
 			$le_type = _T('info_message_2');
-			$result_auteurs=sql_select("auteurs.*", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "(lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur)");
+			$result_auteurs=sql_select("auteurs.id_auteur, auteurs.nom, auteurs.email", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "(lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur)");
 			while($row_auteur=sql_fetch($result_auteurs)){
 				$id_auteur=$row_auteur['id_auteur'];
 				$nom_auteur = $row_auteur['nom'];
@@ -265,7 +265,7 @@ function spip_ical_messages($id_utilisateur, $nom_site)
 				if ($id_auteur == $id_utilisateur) echo filtrer_ical ("ORGANIZER:$nom_auteur <$email>"), "\n";
 				else  echo filtrer_ical ("ATTENDEE:$nom_auteur <$email>"), "\n";
 			}
-			$result_forum = sql_select("*", "spip_forum", "statut='perso' AND id_message=$id_message", "", "date_heure DESC", "1");
+			$result_forum = sql_select("date_heure, texte, titre, id_auteur", "spip_forum", "statut='perso' AND id_message=$id_message", "date_heure", "date_heure DESC", "1");
 
 			if ($row_forum = sql_fetch($result_forum)) {
 				$date_heure = $row_forum["date_heure"];
diff --git a/ecrire/base/db_pg.php b/ecrire/base/db_pg.php
index 7e5073efd2f529717c7568e431af705aae46f034..0893681910f582f4db39add707b500558b3ff20b 100644
--- a/ecrire/base/db_pg.php
+++ b/ecrire/base/db_pg.php
@@ -296,6 +296,8 @@ function spip_pg_frommysql($arg)
 	$res = preg_replace('/([+<>-]=?)\s*(\'\d+-\d+-\d+\')/', '\1 date \2', $res);
 	$res = preg_replace('/(\'\d+-\d+-\d+\')\s*([+<>-]=?)/', 'date \1 \2', $res);
 
+	$res = preg_replace('/(date .\d+)-00-/','\1-01-', $res);
+	$res = preg_replace('/(date .\d+-\d+)-00/','\1-01',$res);
 	$res = preg_replace('/TO_DAYS\s*[(]([^(]*([(][^)]*[)][()]*)*)[)]/',
 			    'date_part(\'day\', \1 - \'0000-01-01\')',
 			    $res);
diff --git a/ecrire/inc/editer_mot.php b/ecrire/inc/editer_mot.php
index 69ffcc7439ee70b9a27cd23853e11fa205d2ef6d..22ba3e5fefb64c7978b13d9b4542574b67ac84a0 100644
--- a/ecrire/inc/editer_mot.php
+++ b/ecrire/inc/editer_mot.php
@@ -164,7 +164,7 @@ function afficher_mots_cles($flag_editable, $objet, $id_objet, $table, $table_id
 	$id_groupes_vus = array();
 	$groupes_vus = array();
 	$flag_tous = 0;
-	$result = sql_select("mots.id_mot, mots.titre, mots.descriptif, mots.id_groupe", "spip_mots AS mots, spip_mots_$table AS lien", "lien.$table_id=$id_objet AND mots.id_mot=lien.id_mot", "", "mots.type, mots.titre");
+	$result = sql_select("mots.id_mot, mots.titre, mots.descriptif, mots.id_groupe", "spip_mots AS mots, spip_mots_$table AS lien", "lien.$table_id=$id_objet AND mots.id_mot=lien.id_mot", "mots.type, mots.titre", "mots.type, mots.titre");
 	if (sql_count($result) > 0) {
 	
 		$tableau= array();