Différence entre critères {id_xx} et {id_xx?} avec id_xx un tableau #4014

Closed
opened 5 years ago by marcimat · 2 comments
marcimat commented 5 years ago
Owner

Soit un squelette de test appelé avec ?page=test&id_mot[]=1&id_mot[]=2&id_mot[]=3&id_mot[]=4&id_mot[]=5&id_mot[]=6
et 2 boucles avec pour seule différence le ?

#ID_MOT
#ID_MOT

Dans le premier cas la requête SQL crée un IN avec les différents identifiants.
Dans le second cas la requête SQL générée est en erreur avec un where : (mots.id_mot = (2 1 (3) : 4))
(notons que ça s’arrête au 4è élément du tableau)

Quel comportement devrait-il y avoir ?

Soit un squelette de test appelé avec `?page=test&id_mot[]=1&id_mot[]=2&id_mot[]=3&id_mot[]=4&id_mot[]=5&id_mot[]=6` et 2 boucles avec pour seule différence le `?` <pre> <BOUCLE_1(MOTS){id_mot?}>#ID_MOT</BOUCLE_1> <BOUCLE_2(MOTS){id_mot}>#ID_MOT</BOUCLE_2> </pre> Dans le premier cas la requête SQL crée un IN avec les différents identifiants. Dans le second cas la requête SQL générée est en erreur avec un where : `(mots.id_mot = (2 1 (3) : 4))` (notons que ça s’arrête au 4è élément du tableau) Quel comportement devrait-il y avoir ?
Owner

J'ai tendance à penser que le {id_mot?} a un comportement dérogatoire acceptable puisqu'il implique qu'on ne connait pas le type de la donnée à la compilation et donc il est normal qu'il s'adapte

Si on modifie {id_mot} de la même façon cela implique donc une indétermination à la compilation qui ralentira toutes les requetes, et surtout ça ouvre ensuite la question de pourquoi {id_mot=#ENV{id_mot}} ne fonctionne pas pareil ?
Statut changé à En cours

J'ai tendance à penser que le `{id_mot?}` a un comportement dérogatoire acceptable puisqu'il implique qu'on ne connait pas le type de la donnée à la compilation et donc il est normal qu'il s'adapte Si on modifie `{id_mot}` de la même façon cela implique donc une indétermination à la compilation qui ralentira toutes les requetes, et surtout ça ouvre ensuite la question de pourquoi `{id_mot=#ENV{id_mot}}` ne fonctionne pas pareil ? **Statut changé à En cours**
Owner

Statut changé à Fermé

**Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.