Hi,

PFA minor patch to fix the issue in table node where it fails to create
table when user provides numeric table name eg: 123.
RM#2284

Issue is when use json.loads() it converts string "123" into integer 123.

--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
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']:
-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to