Project

General

Profile

Development #38066

utiliser uniquement LEFT OUTER JOIN pour les jointures avec les tables d'item

Added by Benjamin Dauvergne 18 days ago. Updated 12 days ago.

Status:
Solution déployée
Priority:
Normal
Target version:
-
Start date:
28 Nov 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

Description

Les schéma des formulaires étant dynamique il est parfaitement normal qu'un formulaire n'ait pas de valeur pour un itemfield même un itemfield requis.

J'en profite aussi pour forcer RIGHT OUTER JOIN sur les dates (un formulaire sans date ça n'existe pas).

0001-tox.ini-do-not-force-basepython.patch View (594 Bytes) Benjamin Dauvergne, 28 Nov 2019 08:06 PM

0002-feeder-use-full-outer-join-for-item-fields-38066.patch View (1.7 KB) Benjamin Dauvergne, 28 Nov 2019 08:06 PM

0002-feeder-define-all-joins-38066.patch View (4.81 KB) Benjamin Dauvergne, 03 Dec 2019 03:40 PM

0001-tox.ini-do-not-force-basepython.patch View (594 Bytes) Benjamin Dauvergne, 03 Dec 2019 03:40 PM

0001-feeder-define-all-joins-38066.patch View (7.96 KB) Benjamin Dauvergne, 04 Dec 2019 10:28 AM


Related issues

Related to BiJoe - Development #38067: Revoir complètement la génération des tableaux et la gestion des valeurs NULL dues aux OUTER JOIN Solution déployée 28 Nov 2019

Associated revisions

Revision f806b9d6 (diff)
Added by Benjamin Dauvergne 12 days ago

feeder: define all joins (#38066)

  • join with the dates table must be inner because we do not want to
    see results for forms outside the dates table (every form must have a
    receipt_time),
  • all other joins must be left because form's schemas are dynamic and
    dimension can be absent from older forms but we still want to count them.

History

#1 Updated by Benjamin Dauvergne 18 days ago

#2 Updated by Benjamin Dauvergne 13 days ago

  • Related to Development #38067: Revoir complètement la génération des tableaux et la gestion des valeurs NULL dues aux OUTER JOIN added

#3 Updated by Benjamin Dauvergne 13 days ago

Changement de fusil d'épaule, left suffit désormais (puisque coté bijoe dans
tous les cas on calcule les membres des dimensions), par contre sur les dates
il faut faire du right outer join au cas où, encore que, du inner marcherait
aussi.

#4 Updated by Benjamin Dauvergne 12 days ago

  • Description updated (diff)
  • Subject changed from utiliser uniquement FULL OUTER JOIN pour les jointures avec les tables d'item to utiliser uniquement LEFT OUTER JOIN pour les jointures avec les tables d'item

#5 Updated by Benjamin Dauvergne 12 days ago

J'ai retiré le commit sur basepython en fait le build python3 ne fonctionne pas, ce sera pour un autre ticket.

#6 Updated by Thomas Noël 12 days ago

  • Status changed from Solution proposée to Solution validée

Ack.

Pour receipt_time ça peut éventuellement ne pas exister (brouillons) mais pour l'instant bijoe ne compte rien à ce sujet (et je pense que ça restera ainsi).

#7 Updated by Benjamin Dauvergne 12 days ago

Thomas Noël a écrit :

Pour receipt_time ça peut éventuellement ne pas exister (brouillons) mais pour l'instant bijoe ne compte rien à ce sujet (et je pense que ça restera ainsi).

Si jamais on devait traiter les brouillons ce sera je pense via une table globale spécifique (on ne devra pas traiter les données qui n'ont pas de sens) et on prendra une date de démarrage du brouillon, donc on aura une date mais ce sera de toute façon un cube à part des autres. Ça permettra au mieux de faire des stats sur combien de brouillons commencés, finis, durée entre le démarrage et la complétion, tout ça.

#8 Updated by Benjamin Dauvergne 12 days ago

  • Status changed from Solution validée to Résolu (à déployer)
commit f806b9d6755230f1c1f20a46efc411701d481063
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu Nov 28 19:54:05 2019 +0100

    feeder: define all joins (#38066)

    * join with the dates table must be inner because we do not want to
    see results for forms outside the dates table (every form must have a
    receipt_time),
    * all other joins must be left because form's schemas are dynamic and
    dimension can be absent from older forms but we still want to count them.

#9 Updated by Frédéric Péters 12 days ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF