Re: [pgAdmin4][Patch]: RM #3551 pgAdmin4 doesn't handle \'s in data fields correctly

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4][Patch]: RM #3551 pgAdmin4 doesn't handle \'s in data fields correctly
Date: 2018-09-14 15:21:42
Message-ID: CA+OCxoxYc2zDmBGoPBbE9CHTveu=eT60reNPoRj63cpFm0uD5w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Sidenote: This does seem like something we should have a test for.

On Fri, Sep 14, 2018 at 3:32 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> Hi
>
> On Fri, Sep 14, 2018 at 12:48 PM, Akshay Joshi <
> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>
>> Hi Hackers,
>>
>> Attached is the patch to fix RM #3551 pgAdmin4 doesn't handle \'s in data
>> fields correctly.
>>
>
> This doesn't work for me. If I add a new row and enter:
>
> \\server\path\to\file
>
> as a value, I get the following on the Messages tab:
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <title>500
> Internal Server Error</title> <h1>Internal Server Error</h1> <p>The server
> encountered an internal error and was unable to complete your request.
> Either the server is overloaded or there is an error in the application.</p>
>
> And this on the Python (3.6) console:
>
> 2018-09-14 15:30:28,516: INFO werkzeug: 127.0.0.1 - - [14/Sep/2018
> 15:30:28] "POST /sqleditor/save/4073406 HTTP/1.1" 500 -
> 2018-09-14 15:30:28,522: ERROR werkzeug: Error on request:
> Traceback (most recent call last):
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/serving.py",
> line 270, in run_wsgi
> execute(self.server.app)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/serving.py",
> line 258, in execute
> application_iter = app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/app.py",
> line 1997, in __call__
> return self.wsgi_app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/app.py",
> line 1985, in wsgi_app
> response = self.handle_exception(e)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/app.py",
> line 1540, in handle_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/_compat.py",
> line 33, in reraise
> raise value
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/app.py",
> line 1982, in wsgi_app
> response = self.full_dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/app.py",
> line 1614, in full_dispatch_request
> rv = self.handle_user_exception(e)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/app.py",
> line 1517, in handle_user_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/_compat.py",
> line 33, in reraise
> raise value
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/app.py",
> line 1612, in full_dispatch_request
> rv = self.dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask/app.py",
> line 1598, in dispatch_request
> return self.view_functions[rule.endpoint](**req.view_args)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/flask_login.py",
> line 792, in decorated_view
> return func(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/tools/sqleditor/__init__.py",
> line 785, in save
> default_conn)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/tools/sqleditor/command.py",
> line 858, in save
> item['select_sql'], res['rows'][0])
> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py",
> line 1147, in execute_dict
> self.__internal_blocking_execute(cur, query, params)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py",
> line 659, in __internal_blocking_execute
> params = self.escape_params_sqlascii(params)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py",
> line 636, in escape_params_sqlascii
> for key, val in params.items()
> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py",
> line 636, in <genexpr>
> for key, val in params.items()
> AttributeError: 'int' object has no attribute 'encode'
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2018-09-14 15:55:17 pgAdmin 4 commit: Update some of the JS dependencies to ensure we can u
Previous Message Dave Page 2018-09-14 14:32:55 Re: [pgAdmin4][Patch]: RM #3551 pgAdmin4 doesn't handle \'s in data fields correctly