use truncate_pg_identifier on fields and table names (#48684)

This commit is contained in:
Benjamin Dauvergne 2020-11-26 11:11:52 +01:00
parent fc92793e49
commit ea72fe5d7e
1 changed files with 4 additions and 7 deletions

View File

@ -309,10 +309,7 @@ class WcsOlapFeeder(object):
def hash_table_name(self, table_name, hash_length=6, force_hash=False):
table_name = table_name.format(**self.default_ctx)
if len(table_name) < 64 and not force_hash:
return table_name
else:
return table_name[:63 - hash_length] + hashlib.md5(table_name.encode('utf-8')).hexdigest()[:hash_length]
return truncate_pg_identifier(table_name, hash_length=hash_length, force_hash=force_hash)
@property
def default_ctx(self):
@ -686,7 +683,7 @@ class WcsFormdefFeeder(object):
continue
columns[field.varname] = {
'field': field,
'sql_col_name': 'field_%s' % field.varname,
'sql_col_name': truncate_pg_identifier('field_%s' % field.varname),
'sql_col_def': field_def,
'sql_comment': field.label,
}
@ -857,7 +854,7 @@ class WcsFormdefFeeder(object):
if field.varname and raw is not None:
json_data[field.varname] = raw
row['field_%s' % field.varname] = v
row[truncate_pg_identifier('field_%s' % field.varname)] = v
if self.has_jsonb:
row['json_data'] = json.dumps(json_data)
# add geolocation fields value
@ -1059,7 +1056,7 @@ class WcsFormdefFeeder(object):
join = None
join_name = 'join_' + field.varname
field_name = 'field_%s' % field.varname
field_name = truncate_pg_identifier('field_%s' % field.varname)
dimension_name = field.varname
dimension_label = field.label.lower()