diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py index e118cab..6a9a503 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py @@ -1417,6 +1417,7 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings): # Parse & format columns data = self._parse_format_columns(data) + data['name'] = str(data['name']) # 'coll_inherits' is Array but it comes as string from browser # We will convert it again to list @@ -1447,8 +1448,10 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings): return internal_server_error(errormsg=res) # PostgreSQL truncates the table name to 63 characters. - # Have to truncate the name like PostgreSQL to get the proper schema id + # Have to truncate the name like PostgreSQL to get the + # proper OID CONST_MAX_CHAR_COUNT = 63 + if len(data['name']) > CONST_MAX_CHAR_COUNT: data['name'] = data['name'][0:CONST_MAX_CHAR_COUNT] @@ -2129,9 +2132,12 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings): data['relacl'][mode], self.acl ) - # If name if not present + # If name is not present in request data if 'name' not in data: data['name'] = old_data['name'] + else: + data['name'] = str(data['name']) + # If name if not present if 'schema' not in data: data['schema'] = old_data['schema'] @@ -2310,6 +2316,7 @@ class TableView(PGChildNodeView, DataTypeReader, VacuumSettings): # Parse & format columns data = self._parse_format_columns(data) + data['name'] = str(data['name']) if 'foreign_key' in data: for c in data['foreign_key']: