Hi,
Please find attached updated patch for RM1720.
Also test this patch with updated test suite patch which Navnath would be
sending.
--
*Harshal Dhumal*
*Software Engineer*
EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Wed, Sep 21, 2016 at 8:39 PM, Dave Page <[email protected]> wrote:
> On Wed, Sep 21, 2016 at 4:02 PM, Navnath Gadakh
> <[email protected]> wrote:
> > Hi Dave,
> > Can you please run testsuite for server or database node only, as
> > there are some code modifications are remaining on the rest of the nodes.
> > Currently i don't have a machine to look into issue, will check it
> tomorrow.
>
> OK, here's the result:
>
> (pgadmin4)piranha:web dpage$ python regression/runtests.py --pkg
> browser.server_groups.servers.databases
> pgAdmin 4 - Application Initialisation
> ======================================
>
>
> The configuration database - '/Users/dpage/.pgadmin/test_pgadmin4.db'
> does not exist.
> Entering initial setup mode...
> NOTE: Configuring authentication for SERVER mode.
>
>
> The configuration database has been created at
> /Users/dpage/.pgadmin/test_pgadmin4.db
>
> =============Running the test cases for 'Regression - PG 9.4'=============
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_add.DatabaseAddTestCase)
> This function will add database under 1st server of tree node. (Check
> Databases Node URL) ... ok
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_delete.DatabaseDeleteTestCase)
> This function will delete the database. (Check Databases Node URL) ... ok
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_get.DatabasesGetTestCase)
> This function will fetch added database. (Check Databases Node URL) ... ok
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_put.DatabasesUpdateTestCase)
> This function will update the comments field of database. (Check
> Databases Node) ... ok
>
> ----------------------------------------------------------------------
> Ran 4 tests in 1.310s
>
> OK
>
> =============Running the test cases for 'Regression - PG 9.5'=============
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_add.DatabaseAddTestCase)
> This function will add database under 1st server of tree node. (Check
> Databases Node URL) ... ok
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_delete.DatabaseDeleteTestCase)
> This function will delete the database. (Check Databases Node URL) ... FAIL
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_get.DatabasesGetTestCase)
> This function will fetch added database. (Check Databases Node URL) ...
> ERROR
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_put.DatabasesUpdateTestCase)
> This function will update the comments field of database. (Check
> Databases Node) ... ERROR
>
> ======================================================================
> ERROR: runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_get.DatabasesGetTestCase)
> This function will fetch added database. (Check Databases Node URL)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/test_db_get.py",
> line 33, in runTest
> self.db_id)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/utils.py",
> line 142, in verify_database
> follow_redirects=True)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 788, in post
> return self.open(*args, **kw)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/testing.py",
> line 113, in open
> follow_redirects=follow_redirects)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 751, in open
> response = self.run_wsgi_app(environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 668, in run_wsgi_app
> rv = run_wsgi_app(self.application, environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 871, in run_wsgi_app
> app_rv = app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 2000, in __call__
> return self.wsgi_app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1991, in wsgi_app
> response = self.make_response(self.handle_exception(e))
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1567, in handle_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1988, in wsgi_app
> response = self.full_dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1641, in full_dispatch_request
> rv = self.handle_user_exception(e)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1544, in handle_user_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1639, in full_dispatch_request
> rv = self.dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1625, in dispatch_request
> return self.view_functions[rule.endpoint](**req.view_args)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/views.py",
> line 84, in view
> return self.dispatch_request(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/utils.py", line
> 235, in dispatch_request
> return method(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/__init__.py",
> line 364, in connect
> conn = manager.connection(did=did, auto_reconnect=True)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/
> psycopg2/__init__.py",
> line 1448, in connection
> "Couldn't find the specified database."
> Exception: Couldn't find the specified database.
>
> ======================================================================
> ERROR: runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_put.DatabasesUpdateTestCase)
> This function will update the comments field of database. (Check Databases
> Node)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/test_db_put.py",
> line 37, in runTest
> db_id)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/utils.py",
> line 142, in verify_database
> follow_redirects=True)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 788, in post
> return self.open(*args, **kw)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/testing.py",
> line 113, in open
> follow_redirects=follow_redirects)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 751, in open
> response = self.run_wsgi_app(environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 668, in run_wsgi_app
> rv = run_wsgi_app(self.application, environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 871, in run_wsgi_app
> app_rv = app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 2000, in __call__
> return self.wsgi_app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1991, in wsgi_app
> response = self.make_response(self.handle_exception(e))
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1567, in handle_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1988, in wsgi_app
> response = self.full_dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1641, in full_dispatch_request
> rv = self.handle_user_exception(e)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1544, in handle_user_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1639, in full_dispatch_request
> rv = self.dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1625, in dispatch_request
> return self.view_functions[rule.endpoint](**req.view_args)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/views.py",
> line 84, in view
> return self.dispatch_request(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/utils.py", line
> 235, in dispatch_request
> return method(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/__init__.py",
> line 364, in connect
> conn = manager.connection(did=did, auto_reconnect=True)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/
> psycopg2/__init__.py",
> line 1448, in connection
> "Couldn't find the specified database."
> Exception: Couldn't find the specified database.
>
> ======================================================================
> FAIL: runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_delete.DatabaseDeleteTestCase)
> This function will delete the database. (Check Databases Node URL)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/test_db_delete.py",
> line 38, in runTest
> self.assertEquals(response.status_code, 200)
> AssertionError: 410 != 200
>
> ----------------------------------------------------------------------
> Ran 4 tests in 1.019s
>
> FAILED (failures=1, errors=2)
>
> =============Running the test cases for 'Regression - EPAS
> 9.5'=============
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_add.DatabaseAddTestCase)
> This function will add database under 1st server of tree node. (Check
> Databases Node URL) ... ok
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_delete.DatabaseDeleteTestCase)
> This function will delete the database. (Check Databases Node URL) ... FAIL
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_get.DatabasesGetTestCase)
> This function will fetch added database. (Check Databases Node URL) ...
> ERROR
> runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_put.DatabasesUpdateTestCase)
> This function will update the comments field of database. (Check
> Databases Node) ... ERROR
>
> ======================================================================
> ERROR: runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_get.DatabasesGetTestCase)
> This function will fetch added database. (Check Databases Node URL)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/test_db_get.py",
> line 33, in runTest
> self.db_id)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/utils.py",
> line 142, in verify_database
> follow_redirects=True)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 788, in post
> return self.open(*args, **kw)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/testing.py",
> line 113, in open
> follow_redirects=follow_redirects)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 751, in open
> response = self.run_wsgi_app(environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 668, in run_wsgi_app
> rv = run_wsgi_app(self.application, environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 871, in run_wsgi_app
> app_rv = app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 2000, in __call__
> return self.wsgi_app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1991, in wsgi_app
> response = self.make_response(self.handle_exception(e))
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1567, in handle_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1988, in wsgi_app
> response = self.full_dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1641, in full_dispatch_request
> rv = self.handle_user_exception(e)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1544, in handle_user_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1639, in full_dispatch_request
> rv = self.dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1625, in dispatch_request
> return self.view_functions[rule.endpoint](**req.view_args)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/views.py",
> line 84, in view
> return self.dispatch_request(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/utils.py", line
> 235, in dispatch_request
> return method(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/__init__.py",
> line 364, in connect
> conn = manager.connection(did=did, auto_reconnect=True)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/
> psycopg2/__init__.py",
> line 1448, in connection
> "Couldn't find the specified database."
> Exception: Couldn't find the specified database.
>
> ======================================================================
> ERROR: runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_put.DatabasesUpdateTestCase)
> This function will update the comments field of database. (Check Databases
> Node)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/test_db_put.py",
> line 37, in runTest
> db_id)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/utils.py",
> line 142, in verify_database
> follow_redirects=True)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 788, in post
> return self.open(*args, **kw)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/testing.py",
> line 113, in open
> follow_redirects=follow_redirects)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 751, in open
> response = self.run_wsgi_app(environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 668, in run_wsgi_app
> rv = run_wsgi_app(self.application, environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/werkzeug/test.py",
> line 871, in run_wsgi_app
> app_rv = app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 2000, in __call__
> return self.wsgi_app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1991, in wsgi_app
> response = self.make_response(self.handle_exception(e))
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1567, in handle_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1988, in wsgi_app
> response = self.full_dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1641, in full_dispatch_request
> rv = self.handle_user_exception(e)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1544, in handle_user_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1639, in full_dispatch_request
> rv = self.dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/app.py",
> line 1625, in dispatch_request
> return self.view_functions[rule.endpoint](**req.view_args)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/flask/views.py",
> line 84, in view
> return self.dispatch_request(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/utils.py", line
> 235, in dispatch_request
> return method(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/__init__.py",
> line 364, in connect
> conn = manager.connection(did=did, auto_reconnect=True)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/
> psycopg2/__init__.py",
> line 1448, in connection
> "Couldn't find the specified database."
> Exception: Couldn't find the specified database.
>
> ======================================================================
> FAIL: runTest (pgadmin.browser.server_groups.servers.databases.
> tests.test_db_delete.DatabaseDeleteTestCase)
> This function will delete the database. (Check Databases Node URL)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/server_
> groups/servers/databases/tests/test_db_delete.py",
> line 38, in runTest
> self.assertEquals(response.status_code, 200)
> AssertionError: 410 != 200
>
> ----------------------------------------------------------------------
> Ran 4 tests in 1.807s
>
> FAILED (failures=1, errors=2)
>
> Test Result Summary
> ============================
> Regression - EPAS 9.5: 1 test passed, 3 tests failed :
> DatabaseDeleteTestCase
> DatabasesGetTestCase
> DatabasesUpdateTestCase
> Regression - PG 9.5: 1 test passed, 3 tests failed :
> DatabaseDeleteTestCase
> DatabasesGetTestCase
> DatabasesUpdateTestCase
> Regression - PG 9.4: 4 tests passed, 0 tests failed
> ============================
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py
index 0b6c6ca..611d701 100644
--- a/web/pgadmin/browser/server_groups/servers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/__init__.py
@@ -24,6 +24,7 @@ from pgadmin.utils.menu import MenuItem
import config
from config import PG_DEFAULT_DRIVER
from pgadmin.model import db, Server, ServerGroup, User
+from pgadmin.utils.driver import get_driver
def has_any(data, keys):
@@ -64,7 +65,6 @@ class ServerModule(sg.ServerGroupPluginModule):
servers = Server.query.filter_by(user_id=current_user.id,
servergroup_id=gid)
- from pgadmin.utils.driver import get_driver
driver = get_driver(PG_DEFAULT_DRIVER)
for server in servers:
@@ -156,7 +156,6 @@ class ServerModule(sg.ServerGroupPluginModule):
sub-modules at once.
"""
if first_registration:
- from pgadmin.utils.driver import get_driver
driver = get_driver(PG_DEFAULT_DRIVER, app)
app.jinja_env.filters['qtLiteral'] = driver.qtLiteral
app.jinja_env.filters['qtIdent'] = driver.qtIdent
@@ -224,7 +223,6 @@ class ServerNode(PGChildNodeView):
servers = Server.query.filter_by(user_id=current_user.id,
servergroup_id=gid)
- from pgadmin.utils.driver import get_driver
driver = get_driver(PG_DEFAULT_DRIVER)
for server in servers:
@@ -293,7 +291,6 @@ class ServerNode(PGChildNodeView):
)
)
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(server.id)
conn = manager.connection()
connected = conn.connected()
@@ -353,6 +350,7 @@ class ServerNode(PGChildNodeView):
else:
try:
for s in servers:
+ get_driver(PG_DEFAULT_DRIVER).delete_manager(s.id)
db.session.delete(s)
db.session.commit()
except Exception as e:
@@ -405,7 +403,6 @@ class ServerNode(PGChildNodeView):
request.data, encoding='utf-8'
)
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
connected = conn.connected()
@@ -473,7 +470,6 @@ class ServerNode(PGChildNodeView):
).first()
res = []
- from pgadmin.utils.driver import get_driver
driver = get_driver(PG_DEFAULT_DRIVER)
for server in servers:
@@ -519,7 +515,6 @@ class ServerNode(PGChildNodeView):
id=server.servergroup_id
).first()
- from pgadmin.utils.driver import get_driver
driver = get_driver(PG_DEFAULT_DRIVER)
manager = driver.connection_manager(sid)
@@ -594,7 +589,6 @@ class ServerNode(PGChildNodeView):
user = None
if 'connect_now' in data and data['connect_now']:
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(server.id)
manager.update(server)
conn = manager.connection()
@@ -663,7 +657,6 @@ class ServerNode(PGChildNodeView):
return make_json_response(data='')
def statistics(self, gid, sid):
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
@@ -717,7 +710,6 @@ class ServerNode(PGChildNodeView):
def connect_status(self, gid, sid):
"""Check and return the connection status."""
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
res = conn.connected()
@@ -769,7 +761,6 @@ class ServerNode(PGChildNodeView):
save_password = False
# Connect the Server
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
@@ -902,7 +893,6 @@ class ServerNode(PGChildNodeView):
return bad_request(gettext("Server not found."))
# Release Connection
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
status = manager.release()
@@ -923,7 +913,6 @@ class ServerNode(PGChildNodeView):
"""Reload the server configuration"""
# Reload the server configurations
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
@@ -958,7 +947,6 @@ class ServerNode(PGChildNodeView):
try:
data = request.form
restore_point_name = data['value'] if data else None
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
@@ -1033,7 +1021,6 @@ class ServerNode(PGChildNodeView):
if user is None:
return unauthorized(gettext("Unauthorized request."))
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
@@ -1100,7 +1087,6 @@ class ServerNode(PGChildNodeView):
)
try:
- from pgadmin.utils.driver import get_driver
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
conn = manager.connection()
diff --git a/web/pgadmin/utils/driver/psycopg2/__init__.py b/web/pgadmin/utils/driver/psycopg2/__init__.py
index 2d6239f..1ad3aa8 100644
--- a/web/pgadmin/utils/driver/psycopg2/__init__.py
+++ b/web/pgadmin/utils/driver/psycopg2/__init__.py
@@ -1721,6 +1721,17 @@ class Driver(BaseDriver):
"""
return self.connection_manager(sid).release(database, conn_id)
+ def delete_manager(self, sid):
+ """
+ Delete manager for given server id.
+ """
+ manager = self.connection_manager(sid)
+ if manager is not None:
+ manager.release()
+ if session['_id'] in self.managers and \
+ str(sid) in self.managers[session['_id']]:
+ del self.managers[session['_id']][str(sid)]
+
def gc(self):
"""
Release the connections for the sessions, which have not pinged the
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers