Projet

Général

Profil

0001-use-truncate_pg_identifier-on-fields-and-table-names.patch

Benjamin Dauvergne, 17 décembre 2020 14:43

Télécharger (2,16 ko)

Voir les différences:

Subject: [PATCH] use truncate_pg_identifier on fields and table names (#48684)

 wcs_olap/feeder.py | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
wcs_olap/feeder.py
309 309

  
310 310
    def hash_table_name(self, table_name, hash_length=6, force_hash=False):
311 311
        table_name = table_name.format(**self.default_ctx)
312
        if len(table_name) < 64 and not force_hash:
313
            return table_name
314
        else:
315
            return table_name[:63 - hash_length] + hashlib.md5(table_name.encode('utf-8')).hexdigest()[:hash_length]
312
        return truncate_pg_identifier(table_name, hash_length=hash_length, force_hash=force_hash)
316 313

  
317 314
    @property
318 315
    def default_ctx(self):
......
686 683
                continue
687 684
            columns[field.varname] = {
688 685
                'field': field,
689
                'sql_col_name': 'field_%s' % field.varname,
686
                'sql_col_name': truncate_pg_identifier('field_%s' % field.varname),
690 687
                'sql_col_def': field_def,
691 688
                'sql_comment': field.label,
692 689
            }
......
857 854
                if field.varname and raw is not None:
858 855
                    json_data[field.varname] = raw
859 856

  
860
                row['field_%s' % field.varname] = v
857
                row[truncate_pg_identifier('field_%s' % field.varname)] = v
861 858
            if self.has_jsonb:
862 859
                row['json_data'] = json.dumps(json_data)
863 860
            # add geolocation fields value
......
1059 1056
            join = None
1060 1057

  
1061 1058
            join_name = 'join_' + field.varname
1062
            field_name = 'field_%s' % field.varname
1059
            field_name = truncate_pg_identifier('field_%s' % field.varname)
1063 1060
            dimension_name = field.varname
1064 1061
            dimension_label = field.label.lower()
1065 1062

  
1066
-