Projet

Général

Profil

Development #77911

gérer les nombres décimaux dans les filtres de requêtes

Ajouté par Frédéric Péters il y a 10 mois. Mis à jour il y a 5 mois.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
25 mai 2023
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

On gère le cas des entiers,

...
        value_is_int = isinstance(self.value, int) or value_is_list_of_int
...
            if self.field.key in ['item', 'string'] and value_is_int:
                # integer cast of db values
                attribute = "(CASE WHEN %s~E'^\\\\d{1,9}$' THEN (%s)::int ELSE NULL END)" % (

+ dans wcs/variables.py,

    def format_value(self, op, value, field):
        def check_int(val):
            try:
                # cast to integer so it can be used with numerical operators
                # (limit to 32bits to match postgresql integer range)
                int_value = int(val)
                if -(2**31) <= int_value < 2**31 and (int_value == 0 or str(value)[0] != '0'):
                    return int_value
            except (ValueError, TypeError):
                return str(val)
            return val

mais si on reçoit decimal ou float en entrée, 1/ on ne détectera pas qu'il s'agit de nombres, 2/ on ne fera pas le cast approprié dans la db.


Demandes liées

Lié à w.c.s. - Autre #77908: Le filtre greater_than_or_equal ne fonctionne pas toujours OU problème sur multiplyFermé

Actions
Lié à w.c.s. - Development #81185: champ de type nombreFermé14 septembre 2023

Actions

Historique

#1

Mis à jour par Frédéric Péters il y a 10 mois

  • Lié à Autre #77908: Le filtre greater_than_or_equal ne fonctionne pas toujours OU problème sur multiply ajouté
#2

Mis à jour par Frédéric Péters il y a 10 mois

  • Description mis à jour (diff)
#11

Mis à jour par Robot Gitea il y a 8 mois

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Frédéric Péters

Frédéric Péters (fpeters) a ouvert une pull request sur Gitea concernant cette demande :

#12

Mis à jour par Frédéric Péters il y a 7 mois

#13

Mis à jour par Robot Gitea il y a 6 mois

  • Statut changé de En cours à Solution proposée
#14

Mis à jour par Frédéric Péters il y a 5 mois

  • Statut changé de Solution proposée à Rejeté

Plutôt que partie complexifier des requêtes, il va y avoir un champ de type numérique, #81185, qui permettra ça.

#15

Mis à jour par Robot Gitea il y a 5 mois

Frédéric Péters (fpeters) a fermé une pull request sur Gitea concernant cette demande.

Formats disponibles : Atom PDF