feeder: always include hash in json index (#33059)
This commit is contained in:
parent
89bfafb6dd
commit
da5435384d
|
@ -287,9 +287,9 @@ class WcsOlapFeeder(object):
|
|||
self.cur.execute("SELECT 1 FROM pg_type WHERE typname = 'jsonb'")
|
||||
return bool(self.cur.rowcount)
|
||||
|
||||
def hash_table_name(self, table_name, hash_length=6):
|
||||
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:
|
||||
if len(table_name) < 64 and not force_hash:
|
||||
return table_name
|
||||
else:
|
||||
return table_name[:63-hash_length] + hashlib.md5(table_name).hexdigest()[:hash_length]
|
||||
|
@ -555,7 +555,7 @@ CREATE TABLE public.dates AS (SELECT
|
|||
if varname in self.formdata_json_index:
|
||||
return
|
||||
index_name = self.hash_table_name('{formdata_table}_%s_json_idx' % varname,
|
||||
hash_length=8)
|
||||
hash_length=8, force_hash=True)
|
||||
self.ex('CREATE INDEX {index_name} ON {generic_formdata_table} (("json_data"->>%s))',
|
||||
ctx={'index_name': index_name}, vars=[varname])
|
||||
# prevent double creation
|
||||
|
|
Loading…
Reference in New Issue