mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-24 02:04:04 +08:00
Cleanup add_index/drop_index
This commit is contained in:
@@ -56,6 +56,7 @@ def truncate_index_name(index_name, engine):
|
||||
index_name = "{trunc}_{suffix}".format(trunc=index_name[0 : max_index_name_length - 8], suffix=suffix)
|
||||
return index_name
|
||||
|
||||
|
||||
def create_table(table):
|
||||
try:
|
||||
table.create()
|
||||
@@ -144,9 +145,6 @@ def add_index(index_name, table, column_name, metadata=None, **kwds):
|
||||
:param metadata: Needed only if ``table`` is a table name
|
||||
:type metadata: :class:`Metadata`
|
||||
"""
|
||||
if len(index_name) > 63 and metadata.bind.name in ('postgres', 'postgresql'):
|
||||
suffix = hashlib.md5(index_name.encode('utf-8')).hexdigest()[-4:]
|
||||
|
||||
try:
|
||||
if not isinstance(table, Table):
|
||||
assert metadata is not None
|
||||
@@ -181,9 +179,9 @@ def drop_index(index, table, column_name=None, metadata=None):
|
||||
if not isinstance(table, Table):
|
||||
assert metadata is not None
|
||||
table = Table(table, metadata, autoload=True)
|
||||
index = truncate_index_name(index, table.metadata.bind)
|
||||
if index in [ix.name for ix in table.indexes]:
|
||||
index = Index(index, table.c[column_name])
|
||||
index_name = truncate_index_name(index, table.metadata.bind)
|
||||
if index_name in [ix.name for ix in table.indexes]:
|
||||
index = Index(index_name, table.c[column_name])
|
||||
else:
|
||||
log.debug("Index '%s' in table '%s' does not exist.", index, table)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user