[spip-dev] [PATCH] Recherche insensible à la casse dans PostgreSQL

Bonjour,

J'ai remarqué que mon moteur de recherche était sensible à la casse.
Ça réduit assez considérablement son intérêt ...

Visiblement, le LIKE de MySQL est insensible à la casse, alors que
celui de PG l'est (et il faut utiliser ILIKE à la place). Le patch
suivant règle le problème pour moi :

commit 9877a13eb4bca88727c716a514503a0b1660acf6
Author: Matthieu Moy <Matthieu.Moy@imag.fr>

    Case-insensitive search even in PostgreSQL

diff --git a/ecrire/req/pg.php b/ecrire/req/pg.php
index cdde675..f41cdc5 100644
--- a/ecrire/req/pg.php
+++ b/ecrire/req/pg.php
@@ -615,6 +615,7 @@ function spip_pg_frommysql($arg)
# correct en theorie mais produit des debordements arithmetiques
# $res = preg_replace("/(EXTRACT[(][^ ]* FROM *)(timestamp *'[^']*' *[+-] *timestamp *'[^']*') *[)]/", '\2', $r
        $res = preg_replace("/(EXTRACT[(][^ ]* FROM *)('[^']*')/", '\1 timestamp \2', $res);
+ $res = preg_replace("/\sLIKE\s+/", ' ILIKE ', $res);

        return str_replace('REGEXP', '~', $res);
}

Qu'en pensez-vous ?

intégré, merci.

Committo,Ergo:Sum