[server] prevent returning closed cursor to the database pool
In since c8c6ad8 init_repository use repo.internal_cnx() instead of
repo.system_source.get_connection() so it use the pool and we should not close
cursors from the pool before returning it back. Otherwise we may have
"connection already closed" error.
This bug only trigger when connection-pool-size = 1. Since we are moving to use
a dynamic pooler we need to get this fixed.
This does not occur with sqlite since the connection wrapper instantiate new
cursor everytime, but this occur with other databases.
--- a/cubicweb/server/__init__.py Fri Mar 20 14:34:07 2020 +0100
+++ b/cubicweb/server/__init__.py Tue Mar 31 19:15:03 2020 +0200
@@ -253,7 +253,6 @@
print('The following SQL statements failed. You should check your schema.')
print(failed)
raise Exception('execution of the sql schema failed, you should check your schema')
- sqlcursor.close()
sqlcnx.commit()
with repo.internal_cnx() as cnx:
# insert entity representing the system source