Thread: [pgAdmin4][patch] error message is incorrect in domains

[pgAdmin4][patch] error message is incorrect in domains

From
"zhangjie2@fujitsu.com"
Date:
Hi, all

In domains's create function, res is used for all error messages.
I don't think this is correct.
On line 13, doid should be used as the error message.Because the execution result of line 11 is doid.
On line 21, scid should be used as the error message.Because the execution result of line 19 is scid.
There are similar problems in other functions.
Here is a patch for domains.
Please review.

file: pgadmin4\web\pgadmin\browser\server_groups\servers\databases\schemas\domains\__init__.py
----------------------------------------------------------------------------
   def create(self, gid, sid, did, scid):
        ......
 1       status, res = self.conn.execute_scalar(SQL)   
 2       if not status:
 3           return internal_server_error(errormsg=res) ※1   res is OK
 4
 5       # We need oid to add object in tree at browser, below sql will
 6       # gives the same
 7       SQL = render_template("/".join([self.template_path,
 8                                       self._OID_SQL]),
 9                             basensp=data['basensp'],
 10                             name=data['name'])
 11       status, doid = self.conn.execute_scalar(SQL)
 12       if not status:
 13           return internal_server_error(errormsg=res)   ※2  res => doid
 14
 15       # Get updated schema oid
 16       SQL = render_template("/".join([self.template_path,
 17                                       self._OID_SQL]),
 18                             doid=doid)
 19       status, scid = self.conn.execute_scalar(SQL)
 20       if not status:
 21           return internal_server_error(errormsg=res)   ※3  res => scid 
----------------------------------------------------------------------------------

Attachment

Re: [pgAdmin4][patch] error message is incorrect in domains

From
Akshay Joshi
Date:
Thanks, the patch applied.

On Mon, Sep 27, 2021 at 2:27 PM zhangjie2@fujitsu.com <zhangjie2@fujitsu.com> wrote:
Hi, all

In domains's create function, res is used for all error messages.
I don't think this is correct.
On line 13, doid should be used as the error message.Because the execution result of line 11 is doid.
On line 21, scid should be used as the error message.Because the execution result of line 19 is scid.
There are similar problems in other functions.
Here is a patch for domains.
Please review.

file: pgadmin4\web\pgadmin\browser\server_groups\servers\databases\schemas\domains\__init__.py
----------------------------------------------------------------------------
   def create(self, gid, sid, did, scid):
        ......
 1       status, res = self.conn.execute_scalar(SQL)   
 2       if not status:
 3           return internal_server_error(errormsg=res) ※1   res is OK
 4
 5       # We need oid to add object in tree at browser, below sql will
 6       # gives the same
 7       SQL = render_template("/".join([self.template_path,
 8                                       self._OID_SQL]),
 9                             basensp=data['basensp'],
 10                             name=data['name'])
 11       status, doid = self.conn.execute_scalar(SQL)
 12       if not status:
 13           return internal_server_error(errormsg=res)   ※2  res => doid
 14
 15       # Get updated schema oid
 16       SQL = render_template("/".join([self.template_path,
 17                                       self._OID_SQL]),
 18                             doid=doid)
 19       status, scid = self.conn.execute_scalar(SQL)
 20       if not status:
 21           return internal_server_error(errormsg=res)   ※3  res => scid
----------------------------------------------------------------------------------


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246