Hi

Attached is the modified patch. I have fixed the similar code for Backup
and Restore as well along with this patch.

On Thu, Jan 10, 2019 at 12:26 PM Dave Page <dp...@pgadmin.org> wrote:

> Hi
>
> On Wed, Jan 9, 2019 at 6:46 PM Akshay Joshi <akshay.jo...@enterprisedb.com>
> wrote:
>
>> Hi Hackers,
>>
>> Attached is the patch to fix RM #3836 VACUUM FULL FREEZE ANALYZE VERBOSE
>> syntax error on PostgreSQL 11. Order of commands has been changed in
>> PostgreSQL 11 "https://github.com/postgres/postgres
>> /commit/921059bd66c7fb1230c705d3b1a65940800c4cbb"
>>
>> Please review it.
>>
>
> I tried to test this, and got what looks like the same issue that we
> looked at the other day with Import/Export. Can you look at it please?
>
> 2019-01-10 12:25:02,044: INFO werkzeug: 127.0.0.1 - - [10/Jan/2019
> 12:25:02] "POST /maintenance/job/2/12669 HTTP/1.1" 500 -
> 2019-01-10 12:25:02,051: 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/maintenance/__init__.py", line
> 179, in create_maintenance_job
>     data = json.loads(data['data'][0], encoding='utf-8')
>   File
> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/simplejson/__init__.py",
> line 535, in loads
>     return cls(encoding=encoding, **kw).decode(s)
>   File
> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/simplejson/decoder.py",
> line 370, in decode
>     obj, end = self.raw_decode(s)
>   File
> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/simplejson/decoder.py",
> line 400, in raw_decode
>     return self.scan_once(s, idx=_w(s, idx).end())
> simplejson.errors.JSONDecodeError: Expecting property name enclosed in
> double quotes or '}': line 1 column 2 (char 1)
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>


-- 
*Akshay Joshi*

*Sr. Software Architect *



*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*
diff --git a/web/pgadmin/tools/backup/__init__.py b/web/pgadmin/tools/backup/__init__.py
index c55390db..60bfd5bf 100644
--- a/web/pgadmin/tools/backup/__init__.py
+++ b/web/pgadmin/tools/backup/__init__.py
@@ -276,9 +276,7 @@ def create_backup_objects_job(sid):
         None
     """
     if request.form:
-        # Convert ImmutableDict to dict
-        data = dict(request.form)
-        data = json.loads(data['data'][0], encoding='utf-8')
+        data = json.loads(request.form['data'], encoding='utf-8')
     else:
         data = json.loads(request.data, encoding='utf-8')
 
diff --git a/web/pgadmin/tools/maintenance/__init__.py b/web/pgadmin/tools/maintenance/__init__.py
index 0e806d97..6ae0159e 100644
--- a/web/pgadmin/tools/maintenance/__init__.py
+++ b/web/pgadmin/tools/maintenance/__init__.py
@@ -174,9 +174,7 @@ def create_maintenance_job(sid, did):
         None
     """
     if request.form:
-        # Convert ImmutableDict to dict
-        data = dict(request.form)
-        data = json.loads(data['data'][0], encoding='utf-8')
+        data = json.loads(request.form['data'], encoding='utf-8')
     else:
         data = json.loads(request.data, encoding='utf-8')
 
diff --git a/web/pgadmin/tools/maintenance/templates/maintenance/sql/command.sql b/web/pgadmin/tools/maintenance/templates/maintenance/sql/command.sql
index 5532d6cc..dfaab725 100644
--- a/web/pgadmin/tools/maintenance/templates/maintenance/sql/command.sql
+++ b/web/pgadmin/tools/maintenance/templates/maintenance/sql/command.sql
@@ -1,5 +1,5 @@
 {% if data.op == "VACUUM" %}
-VACUUM{% if data.vacuum_full %} FULL{% endif %}{% if data.vacuum_freeze %} FREEZE{% endif %}{% if data.vacuum_analyze %} ANALYZE{% endif %}{% if data.verbose %} VERBOSE{% endif %}{% if data.schema %} {{ conn|qtIdent(data.schema) }}.{{ conn|qtIdent(data.table) }}{% endif %};
+VACUUM{% if data.vacuum_full %} FULL{% endif %}{% if data.vacuum_freeze %} FREEZE{% endif %}{% if data.verbose %} VERBOSE{% endif %}{% if data.vacuum_analyze %} ANALYZE{% endif %}{% if data.schema %} {{ conn|qtIdent(data.schema) }}.{{ conn|qtIdent(data.table) }}{% endif %};
 {% endif %}
 {% if data.op == "ANALYZE" %}
 ANALYZE{% if data.verbose %} VERBOSE{% endif %}{% if data.schema %} {{ conn|qtIdent(data.schema, data.table) }}{% endif %};
diff --git a/web/pgadmin/tools/restore/__init__.py b/web/pgadmin/tools/restore/__init__.py
index 50eacc14..bcaf1da2 100644
--- a/web/pgadmin/tools/restore/__init__.py
+++ b/web/pgadmin/tools/restore/__init__.py
@@ -183,9 +183,7 @@ def create_restore_job(sid):
         None
     """
     if request.form:
-        # Convert ImmutableDict to dict
-        data = dict(request.form)
-        data = json.loads(data['data'][0], encoding='utf-8')
+        data = json.loads(request.form['data'], encoding='utf-8')
     else:
         data = json.loads(request.data, encoding='utf-8')
 

Reply via email to