Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 18:24:40 +0200] rev 10368
[repository] rename session -> cnx
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 18:18:37 +0200] rev 10367
[server/test] delete commented-out test
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 17:58:19 +0200] rev 10366
[connection] remove the `mode` attribute
It is now unused.
While removing mode, we also drop some sqlserver-specific reconnection logic snippets.
These had several downsides:
* untested
* partial coverage
* done at the wrong level
Related to #2919309.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 17:14:32 +0200] rev 10365
[connection] remove ensure_cnx_set context manager uses
It has been deprecated in a previous changeset and is now a no-op.
Related to #2919309.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 15:32:07 +0200] rev 10364
[server] remove cnxset tracking, it is now unneeded
Indeed, all cnxsets will now be acquired using the following API::
with session.new_cnx() as cnx:
cnx.execute(...)
# do stuff
cnx.commit()
These well-scoped blocks are the only place a cnxset can be acquired.
The old use-case for un-delimited cnxsets (pyro/zmqpickle protocols)
have been removed.
The "mode" of connection objects becomes "write" forever (it will be
removed in a couple of changesets).
Related to #2919309.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 15:58:01 +0200] rev 10363
[devtools] remove the remaining bw compat for old-style tests
It is just:
* dangerously untested right now
* on the path of further bw compat removal (cnxset handling)
webtest drops an apparently pointless .login call
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 14:52:27 +0200] rev 10362
[session] remove session-related bw compat code
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 14:47:50 +0200] rev 10361
[session/transaction] removed unused transaction class
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 11 Jun 2014 13:39:56 +0200] rev 10360
[transactions] cleanup after the dbapi removal
* end req vs cnx dichotomy
* Transaction takes a cnx at __init__ time
* a couple of super calls are fixed
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 15:06:44 +0200] rev 10359
[session/cnx] remove `session_handled` logic
Related to #3837233 .
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 14:44:36 +0200] rev 10358
[web/sessions] reduce repoapi usage where possible
Using session.new_cnx() should be the new preferred way.
Related to #3837233.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 18:17:07 +0200] rev 10357
[entity,storage] remove hackish code from the bfss path
The ClientConnection/Connection duality brought some painful hacks
that are no longer needed.
Hence we can send entity._cw_update_attr_cache and ._cw_dont_cache_attribute
to the grave.
Related to #3837233
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 15:56:08 +0200] rev 10356
[connection] eliminate ClientConnection leftovers
* in the documentation
* in the docstrings
* in code notations (e.g. clt_cnx -> cnx)
Related to #3837233.
From now, there should be just one ClientConnection left in repoapi.py.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 15:42:04 +0200] rev 10355
[session] all cnx._session become cnx.session
The _session belonged to ClientConnection, which is just gone.
Related to #3837233.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 10 Jun 2014 16:01:49 +0200] rev 10354
[repoapi] fold ClientConnection into Connection
Connection replaces ClientConnection everywhere.
Some notes:
* testlib: .client_cnx and .repo_cnx become aliases of .cnx (we might
not want to tell people to update their tests again for just no real
benefit, so we'll live with these aliases for a while)
* entity.as_rset must not be cached because we risk caching result
sets having a Connection object as .req (helps unittest_breadcrumbs)
* entity._cw_dont_cache_attributes loses its repo/request special
paths and only keeps its storage/bfss user (this helps
unittest_wfobjs)
* moreover, entity.cw_instantiate and .cw_set stop overriding the
attributes cache *after* the before_*_entity hooks have run, because
there is no need to (it is now actually harmful to do it and
unittest_hooks.test_html_tidy* tests remain green because of this)
* rset._build_entity sticks its .req onto the entity just fetched from
the cache, because otherwise it might carry a _cw that is a
Connection object where a Request is expected (helps
unittest_views_actions)
* we get overall better cache usages (entity caches were split over
Request + ClientConnection and Connection), hence the changes
unittest_entity and unittest_wfobjs
* void the ecache when providing the cnx to a request object
Having the entity cache pre-filled when we bind it to the request
object hurts because these entities are bound to Connection objects,
that lack e.g. `.form` or `.add_js` and crash the views subsystem.
Thus, the unittest_testlib.test_error_raised test will are kept
green.
Closes #3837233
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 13:54:28 +0200] rev 10353
[migractions] remove any session related leftovers
Also, the migration handler really wants a "repo" session anyway.
This highlights a bug in unittest_wfobjs.test_duplicated_transition
where an old connection is reused. It probably used to work because it
was made of session + set_cnxset magic dust.
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 13 Jun 2014 12:07:51 +0200] rev 10352
[session] provide missing apis to Connection
From this point, Connection provides a superset of ClientConnection.
Related to #3837233.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 01 Jul 2014 16:55:49 +0200] rev 10351
[connection] replace .running_dbapi_query with .hooks_in_progress
The thing was badly named.
It tries to help distinguish between queries issued
directly by the programmer (e.g in the views: cnx.execute(...))
from queries issued from the hooks, operations ... or even
the repository or the native source objects.
It worked heuristically being associated with
the security being disabled.
We provide a better name and an implementation distinct from
the security management methods.
Related to #3933480.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 05 May 2015 08:41:19 +0200] rev 10350
[dataimport] Turn the module into a package
Just `hg mv` dataimport.py and test/unittest_dataimport.py.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 07 Nov 2014 15:33:30 +0100] rev 10349
[dataimport] Properly escape strings sent to COPY FROM (closes #5278743)
See http://www.postgresql.org/docs/9.1/static/sql-copy.html#AEN64296
for escaping codes.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Tue, 28 Apr 2015 17:00:35 +0200] rev 10348
[http] fix cache-control syntax in EtagHTTPCacheManager
use , to separate cache response directive
closes #5307539
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 01 Jul 2014 13:19:35 +0200] rev 10347
[connection] provide some missing documentation bits
The previous changesets remove information about session data and transaction data.
We provide the necessary entries in the docstring of the Connection class.
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 06 Jun 2014 17:08:08 +0200] rev 10346
[repoapi,session] remove all session-as-cnx backward compat
The `dbapi` being gone, we now can drop the session object
bw-compatibility layer. This will allow further simplifications, such
as folding ClientConnection and Connection (without too much pain),
and then having persistent sessions.
Related to #3933480.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Apr 2015 18:28:58 +0200] rev 10345
[server] drop repo.internal_session and InternalSession