postgres et spip 4.2

Bonjour,
je viens de migrer mon site de spip 3.2 à 4.2, et ça a cassé mes accès à des bases sous postgres.

En regardant le code, je me suis aperçu que cela venait du fait que dans ecrire/req/pg.php
la fonction ‹ table_exists › dans spip_pg_functions_1 n’était pas définie alors que c’est le cas pour spip_mysql_functions_1 dans ecrire/req/mysql.php. En m’inspirant de cette dernière, j’ai pu rajouter
cette fonction manquante et réparer mon site.

function spip_pg_table_exists(string $table, $serveur = '', $requeter = true) {
    	$r = spip_pg_query('SHOW TABLES LIKE ' . _q($table), $serveur, $requeter);
	if (!$requeter) {
    		return $r;
	}
	$res = spip_pg_fetch($r);
	return (bool) $res;
}

C’est le cas aussi pour repair et get_charset, mais ça ne semble pas m’impacter.

1 « J'aime »

On ne fournit plus le fichier ecrire/req/pg.php comme tu peux le voir là, car on n’a personne qui l’utilise vraiment et il n’a effectivement pas été mis à jour depuis longtemps. On a conservé le fichier sous forme pg.exp.php cela dit.

Il serait intéressant d’avoir tes retours là dessus certainement.

1 « J'aime »

Merci pour ta réponse.

Quant à mon retour, tout ce que je peux dire c’est que je l’utilise, et la doc dit qu’on peut le faire. Donc je dirais qu’il faut soit mettre à jour la doc soit remettre le pg en place. Je veux bien tenter de le faire (sinon je me passerai de pg…).

2 « J'aime »