Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Remonté de bugs en cours pour les sous questions d'un tableau

  • riqcles
  • riqcles's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
1 year 1 month ago #240046 by riqcles
Bonjour,
je me suis connecté sur ma base de données pour regarder ce qui ne vas pas lorsque je réalise le test d'intégrité des données.

j'ai réalisé l'action suivante pour sélectionner des tables :

///////////////////////////////////////////////////////////////////////////////////////
select 'DROP TABLE ' AS constante1 ,
        table_name,
         -- substr(table_name,24, 4) as "annee",
         -- substr(table_name,28, 2) as "mois",
        -- substr(table_name,29, 2) as "jour"
        ' CASCADE ; ' AS constante2
        
    from information_schema.tables
    
    where table_catalog = 'limesurvey'
        and table_schema = 'public'
        and table_type = 'BASE TABLE'
        and table_name 'lime_%_survey_9912%'

///////////////////////////////////////////////////////////////////////////////////////

Cela fonctionne bien, et me génère la liste des tables concernées....

Mais en regardant le fichier de log, on voit que des erreurs sur la sélection de la table lime_questions sont présentes :

2023-02-02 11:12:27.075 CET [28495] ERREUR:  la valeur « 28815429493 » est en dehors des limites pour le type integer au caractère 52
2023-02-02 11:12:27.075 CET [28495] INSTRUCTION :  SELECT * FROM "lime_questions" "t" WHERE "t"."qid"='28815429493' AND "t"."sid"=139916 LIMIT 1


la valeur pour chaque lignes (si j'ai des sous questions) dépasse la limite du nombre de caractères pour le type integer.
j'ai 11 caractères au lieu de 10 maximum.

En regardant plus en détail, je constate que si dans le code de la  sous question ne commence pas par une lettre (ex : SQ1) et qu'on a que des chiffres, la requête va prendre le code de la sous question qui est un titre, comme code interne de la sous question.

Les utilisateurs ont importé un questionnaire modèle, qui contenait des sous questions avec que des chiffres, et comme ils ont plein de questionnaires dupliqué (2000 lignes d'erreurs avec la sous questions), le temps de traitement lors de la vérification de l'intégrité des données, puis du nettoyage (qui plante chez moi) prends beaucoup de temps.

Je remonte le bug, c'est juste pour info, si vous constater la même chose.... :(

LimeSurvey version 3.22.19
OS : CentOS 7.9 / PHP 7.2.4
BDD : PostGresql 11.x /

Future LimeSurvey version 6.4.1
OS : CentOS 7.9 / RockyLinux / PHP 8.2
BDD : PostGresql 15.x

Please Log in to join the conversation.

  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 1 month ago #240047 by DenisChenu
Oui,
On fait un try/cast : github.com/LimeSurvey/LimeSurvey/pull/2312
Avant ca plantait …

Perso , j'ai un serveur avec plus de 2000 questionnaires (sur du MSSQL en plus) … j'ai laissé tomber …

Il faudrait 2 choses (ou 3)
1. Avoir un checkintegrity par questionnaire
2. Avoir un checkintegrity par ligne de commande (no limit !)
3. Faire le checkintegirit avec un peu d'ajax …

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The following user(s) said Thank You: riqcles

Please Log in to join the conversation.

  • riqcles
  • riqcles's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
1 year 1 month ago #240052 by riqcles
Ok, je vais supprimer les questionnaires concernés, car comme je suis le seul à lancer le test des données.....

Pour chaque questionnaire, les utilisateurs vont pas le faire (ou très peu)
En ligne de commande..... les exploitants me laisseront pas faire ce que je veux en root :)

En ajax....pourquoi pas, je pourrais demander un développement spécifique avec retour à la communauté si c'est demandé.

Sinon je supprime juste mes 2000 lignes de sous questions :)

LimeSurvey version 3.22.19
OS : CentOS 7.9 / PHP 7.2.4
BDD : PostGresql 11.x /

Future LimeSurvey version 6.4.1
OS : CentOS 7.9 / RockyLinux / PHP 8.2
BDD : PostGresql 15.x

Please Log in to join the conversation.

  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 1 month ago - 1 year 1 month ago #240068 by DenisChenu
Mais ca reste un bogue non ?

Sinon : chez certains hébergeur : tu as accès à des taches cron. Sinon : il suffit de l’accès ssh, pas celui de root.
 

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Last edit: 1 year 1 month ago by DenisChenu.

Please Log in to join the conversation.

  • riqcles
  • riqcles's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
More
1 year 1 month ago #240072 by riqcles
Effectivement, j'ai remonté : bugs.limesurvey.org/view.php?id=18614

mais pour la production, j'ai accès à rien (pas de ssh) sauf une lecture sur la base de données.
.

Il faudrait pouvoir choisir les années / mois pour le check.
Cela permettrait de faire un nettoyage ciblé et d’accélérer la phase de sélection, plutôt que de prendre toute la base.

Qu'en pensez-vous ?

LimeSurvey version 3.22.19
OS : CentOS 7.9 / PHP 7.2.4
BDD : PostGresql 11.x /

Future LimeSurvey version 6.4.1
OS : CentOS 7.9 / RockyLinux / PHP 8.2
BDD : PostGresql 15.x

Please Log in to join the conversation.

  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 1 month ago #240073 by DenisChenu

Il faudrait pouvoir choisir les années / mois pour le check.
Cela permettrait de faire un nettoyage ciblé et d’accélérer la phase de sélection, plutôt que de prendre toute la base.

Qu'en pensez-vous ?
 
C'est aussi une idée, mais le soucis est que 1 questionnaire d'il ya 3 ans à pu être modifié hier …
Et avoir un tag "Modifié" demande à ajouté une requête à chaque mise à jour de question, réponse ou questionnaire.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.

Please Log in to join the conversation.

Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose