0001-misc-increase-json-index-table-name-hash-size-33009.patch
wcs_olap/feeder.py | ||
---|---|---|
287 | 287 |
self.cur.execute("SELECT 1 FROM pg_type WHERE typname = 'jsonb'") |
288 | 288 |
return bool(self.cur.rowcount) |
289 | 289 | |
290 |
def hash_table_name(self, table_name): |
|
290 |
def hash_table_name(self, table_name, hash_length=6):
|
|
291 | 291 |
table_name = table_name.format(**self.default_ctx) |
292 | 292 |
if len(table_name) < 64: |
293 | 293 |
return table_name |
294 | 294 |
else: |
295 |
return table_name[:57] + hashlib.md5(table_name).hexdigest()[:6]
|
|
295 |
return table_name[:63-hash_length] + hashlib.md5(table_name).hexdigest()[:hash_length]
|
|
296 | 296 | |
297 | 297 |
@property |
298 | 298 |
def default_ctx(self): |
... | ... | |
554 | 554 |
def create_formdata_json_index(self, varname): |
555 | 555 |
if varname in self.formdata_json_index: |
556 | 556 |
return |
557 |
index_name = self.hash_table_name('{formdata_table}_%s_json_idx' % varname) |
|
557 |
index_name = self.hash_table_name('{formdata_table}_%s_json_idx' % varname, |
|
558 |
hash_length=8) |
|
558 | 559 |
self.ex('CREATE INDEX {index_name} ON {generic_formdata_table} (("json_data"->>%s))', |
559 | 560 |
ctx={'index_name': index_name}, vars=[varname]) |
560 | 561 |
# prevent double creation |
561 |
- |