Valider f729b24d rédigé par esj's avatar esj
Parcourir les fichiers

#209: Postgres répond False lorsqu'un champ indéfini apparait dans un test,...

#209: Postgres répond False lorsqu'un champ indéfini apparait dans un test, meme quand c'est l'opérateur <>.qui est utilisé. Le problème se pose avec le champ '''statut''' qui n'avait pas de valeur par défaut dans les tables (sauf celle des auteurs, très sensible évidemment). On met donc une valeur par défaut tous les champs ''statut''', savoir 0 (comme pour celle des auteurs) qui n'est pas une valeur acceptable pour éviter toute mésinterprétation. Il faudra peut-etre envisagé cela pour tous les champs.
parent 6b256fdd
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+9 −9
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -70,7 +70,7 @@ $spip_auteurs = array(
		"login"	=> "VARCHAR(255) BINARY",
		"pass"	=> "tinytext",
		"low_sec"	=> "tinytext",
		"statut"	=> "VARCHAR(255)",
		"statut"	=> "varchar(255)  DEFAULT '0' NOT NULL",
		"maj"	=> "TIMESTAMP",
		"pgp"	=> "TEXT",
		"htpass"	=> "tinytext",
@@ -107,7 +107,7 @@ $spip_breves = array(
		"texte"	=> "longtext",
		"lien_titre"	=> "text",
		"lien_url"	=> "text",
		"statut"	=> "varchar(6)",
		"statut"	=> "varchar(6)  DEFAULT '0' NOT NULL",
		"id_rubrique"	=> "bigint(21) DEFAULT '0' NOT NULL",
		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
		"langue_choisie"	=> "VARCHAR(3) DEFAULT 'non'",
@@ -133,7 +133,7 @@ $spip_messages = array(
		"date_heure"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
		"date_fin"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
		"rv"	=> "varchar(3)",
		"statut"	=> "varchar(6)",
		"statut"	=> "varchar(6)  DEFAULT '0' NOT NULL",
		"id_auteur"	=> "bigint(21) NOT NULL",
		"maj"	=> "TIMESTAMP");

@@ -187,14 +187,14 @@ $spip_rubriques = array(
		"maj"	=> "TIMESTAMP",
		"export"	=> "VARCHAR(10) DEFAULT 'oui'",
		"id_import"	=> "bigint DEFAULT '0'",
		"statut"	=> "VARCHAR(10)",
		"statut"	=> "varchar(10) DEFAULT '0' NOT NULL",
		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
		"langue_choisie"	=> "VARCHAR(3) DEFAULT 'non'",
		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
		"extra"	=> "longtext NULL",
		"url_propre" => "VARCHAR(255)",
		"statut_tmp"	=> "VARCHAR(10)",
		"statut_tmp"	=> "varchar(10) DEFAULT '0' NOT NULL",
		"date_tmp"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
		);

@@ -260,7 +260,7 @@ $spip_syndic = array(
		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
		"maj"	=> "TIMESTAMP",
		"syndication"	=> "VARCHAR(3)",
		"statut"	=> "VARCHAR(10)",
		"statut"	=> "varchar(10) DEFAULT '0' NOT NULL",
		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
		"date_syndic"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
		"date_index"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
@@ -290,7 +290,7 @@ $spip_syndic_articles = array(
		"date"	=> "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
		"lesauteurs"	=> "text",
		"maj"	=> "TIMESTAMP",
		"statut"	=> "VARCHAR(10)",
		"statut"	=> "varchar(10) DEFAULT '0' NOT NULL",
		"descriptif"	=> "text",
		"lang"	=> "VARCHAR(10) DEFAULT '' NOT NULL",
		"url_source" => "TINYTEXT DEFAULT '' NOT NULL",
@@ -321,7 +321,7 @@ $spip_forum = array(
		"email_auteur"	=> "text",
		"nom_site"	=> "text",
		"url_site"	=> "text",
		"statut"	=> "varchar(8)",
		"statut"	=> "varchar(8) DEFAULT '0' NOT NULL",
		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
		"ip"	=> "varchar(16)",
		"maj"	=> "TIMESTAMP",
@@ -358,7 +358,7 @@ $spip_signatures = array(
		"nom_site"	=> "text",
		"url_site"	=> "text",
		"message"	=> "mediumtext",
		"statut"	=> "varchar(10)",
		"statut"	=> "varchar(10) DEFAULT '0' NOT NULL",
		"idx"		=> "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
		"maj"	=> "TIMESTAMP");

+14 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -1450,6 +1450,20 @@ function maj_base($version_cible = 0) {
		spip_query("UPDATE spip_meta SET valeur = ',0minirezo,' WHERE nom='preview' AND valeur='oui' ");
		maj_version('1.941');
	}

	if (upgrade_vers(1.942, $version_installee, $version_cible)) {
		spip_query("ALTER TABLE spip_auteurs CHANGE `statut` `statut` varchar(255)  DEFAULT '0' NOT NULL");
		spip_query("ALTER TABLE spip_breves CHANGE `statut` `statut`varchar(6)  DEFAULT '0' NOT NULL");
		spip_query("ALTER TABLE spip_messages CHANGE `statut` `statut`varchar(6)  DEFAULT '0' NOT NULL");
		spip_query("ALTER TABLE spip_rubriques CHANGE `statut` `statut`varchar(10) DEFAULT '0' NOT NULL");
		spip_query("ALTER TABLE spip_rubriques CHANGE `statut_tmp` `statut_tmp` varchar(10) DEFAULT '0' NOT NULL");
		spip_query("ALTER TABLE spip_syndic CHANGE `statut` `statut`varchar(10) DEFAULT '0' NOT NULL");
		spip_query("ALTER TABLE spip_syndic_articles CHANGE `statut` `statut`varchar(10) DEFAULT '0' NOT NULL");
		spip_query("ALTER TABLE spip_forum CHANGE `statut` `statut`varchar(8) DEFAULT '0' NOT NULL");
		spip_query("ALTER TABLE spip_signatures CHANGE `statut` `statut`varchar(10) DEFAULT '0' NOT NULL");
		maj_version('1.942');
	}

}

?>
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -302,7 +302,7 @@ $liste_des_statuts = array(
// (utilise pour les modifs de la base de donnees)

// version de la base
$spip_version = 1.941;
$spip_version = 1.942;

// version de spip en chaine
// et en numerique a incrementer sur les evolutions qui cassent la compatibilite descendante