DB_ERROR_42883 à cause du module Adhérent

Bonsoir à toutes et à tous.

Ma config :
Dolibarr: 11.0.4
Niveau de fonctionnalités: 0
PHP: 7.4.6
**Base de données : pgsql
Server: Apache
OS: Linux http9 5.4.30-alwaysdata #1 SMP Fri Apr 3 15:02:12 UTC 2020 x86_64

Quand j’affiche la page d’accueil j’ai l’erreur suivante (qui ne bloque pas l’utilisation de Dolibarr, mais ça prend la moitié de la page d’accueil…):
"
Requête dernier accès en base en erreur: SELECT a.rowid, a.datefin, a.statut FROM llx_adherent as a, llx_adherent_type as t WHERE a.fk_adherent_type = t.rowid AND a.statut = 1 AND a.entity IN (1) AND ((a.datefin IS NULL or a.datefin < ‹ 2020-06-11 20:46:21 ›) AND t.subscription = 1)
Code retour dernier accès en base en erreur: DB_ERROR_42883
Information sur le dernier accès en base en erreur: ERROR: 42883: operator does not exist: character varying = integer\nLINE 1: …r a.datefin < ‹ 2020-06-11 20:46:21 ›) AND t.subscription = 1)\n ^\nHINT: No operator matches the given name and argument types. You might need to add explicit type casts.\nLOCATION: op_error, parse_oper.c:731
"
En consultant le forum, il semble que ce soit du côté t.subscription = 1 que ça se passe. Normal, dans la table llx_adhrent_type, le champ subscription est de type character varying(3), et défaut = ‹ yes ›::character varying

Il semble que le = 1 ne soit pas possible.
Quelqu’un pourrait éclairer ma lanterne ?
Merci d’avance !
JMarc

Bonjour :slightly_smiling_face:
Avez-vous fait une mise à jour de Dolibarr ou directement installé la 11?

Visiblement la valeur par défaut est ‹ 1 ›


L’appel de cette requete se fait il semble via load_board du fichier adherents/class/adherent.class.php

Merci pour votre réponse.

J’ai installé la 11.0.3 de base, puis mise à jour 11.0.4, qui n’a rien modifié.
Je viens de modifier la table suivant le lien que vous m’avez transmis :
00
J’ai maintenant cet enregistrement :

Redémarré l’appli puis vidé le cache : toujours la même erreur :

Ai-je commis une erreur ?

Quel type d’adhérent as tu déclaré ?
https://wiki.dolibarr.org/index.php/Module_Adhérents

Ceux-ci :

et quand tu exécutes directement :

SELECT 
a.rowid, a.datefin, a.statut 
FROM llx_adherent as a, llx_adherent_type as t 
WHERE a.fk_adherent_type = t.rowid AND a.statut = 1 AND a.entity IN (1) AND ((a.datefin IS NULL or a.datefin < ' 2020-06-11 20:46:21 ') AND t.subscription = 1)

Même réponse :


Même chose donc : j’ai l’impression qu’il attend un smallinteger pour subscription…
Merci de ton aide, en tous les cas !

:wink:
Et si tu modifie la structure en smallint pour voir?
Étonnant quand même car moi pour la même requête je n’ai pas d’erreur :roll_eyes: