Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 26 Jun 2015 17:01:03 +0200] rev 10459
[test] Use store.prepare_insert_relation instead of deprecated relate method
Follow-up for 1f5026e7d848.
Related to #5040344.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 24 Jun 2015 23:30:47 +0200] rev 10458
[dataimport] since we have foreign key constraints in the database, 'entities' table should be updated first
Yann Voté <yann.vote@logilab.fr> [Wed, 24 Jun 2015 23:23:57 +0200] rev 10457
[dataimport] Move stores to new API.
Here is the final store API:
* ``prepare_insert_entity(<entity type>, **kwargs) -> eid``: given an entity
type, attributes and inlined relations, return the eid of the entity to be
inserted, *with no guarantee that anything has been inserted in database*,
* ``prepare_update_entity(<entity type>, eid, **kwargs) -> None``: given an
entity type and eid, promise for update given attributes and inlined
relations *with no guarantee that anything has been inserted in database*,
* ``prepare_insert_relation(eid_from, rtype, eid_to) -> None``: indicate that a
relation ``rtype`` should be added between entities with eids ``eid_from``
and ``eid_to``. Similarly to ``prepare_insert_entity()``, *there is no
guarantee that the relation will be inserted in database*,
* ``flush() -> None``: flush any temporary data to database. May be called
several times during an import,
* ``finish() -> None``: additional stuff to do after import is terminated.
**Warning:** ``prepare_update_entity()`` still needs to be implemented for
NoHookRQLObjectStore.
Related to #5040344
Rabah Meradi <rabah.meradi@logilab.fr> [Tue, 23 Jun 2015 13:08:48 +0200] rev 10456
[js] Using appropriate http method when calling a remote function to respect REST principles.
closes #5355952
Julien Cristau <julien.cristau@logilab.fr> [Tue, 06 May 2014 10:28:23 +0200] rev 10455
[server/test] Add a test for db-statement-timeout option
Sadly I don't think there's a way to test that functionality without
adding sleeps which make the test suite longer :/
Related to #2547026
Julien Cristau <julien.cristau@logilab.fr> [Wed, 05 Mar 2014 13:51:28 +0100] rev 10454
[datafeed] give an error message if a source is missing a parser id
Closes #3484231
Julien Cristau <julien.cristau@logilab.fr> [Mon, 23 Jun 2014 16:54:35 +0200] rev 10453
[storage] use mkstemp to create files in bfss
Avoids race condition, at the cost of slightly less predictable file names.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 11 Jun 2015 09:51:30 +0200] rev 10452
[test] Skip spa2rql tests when fyzz is not available
Closes #5456750.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 18:10:45 +0200] rev 10451
[web/staticcontrollers] fix docstring spelling
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:50:18 +0200] rev 10450
[server/rql2sql] fix spelling in comment
Not that I understand what that sentence means.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 15:17:31 +0200] rev 10449
[doc/book] fix rql syntax examples
"Any", not "ANY". "EXISTS" is a function.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 23:05:54 +0200] rev 10448
[migration] add sql constraints on upgrade
Related to #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:10:13 +0100] rev 10447
[schema] neuter check method for constraints we implement in sql
Closes #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 23:27:13 +0100] rev 10446
add IUserFriendlyError adapter for violation of check constraints
This way we get back the same error messages we get from the python
check.
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 19:47:34 +0200] rev 10445
[hooks/syncschema] drop/add check constraints as appropriate
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Sun, 22 Mar 2015 19:39:29 +0100] rev 10444
[schema2sql] support NOW and TODAY in check constraints
Related to #5154406.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 11:36:07 +0200] rev 10443
[schema2sql] insert some constraints into the backend
BoundaryConstraint, IntervalBoundConstraint and
StaticVocabularyConstraint can be implemented in SQL with CHECK
constraints.
Next steps, not part of this changeset:
- migrations
- removing no longer necessary pre-insertion work on the python side
- translating backend exception due to constraint violation into
ValidationError
Note: this means that these constraints can no longer be ignored by
disabling integrity hooks.
Related to #5154406
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Jun 2015 10:05:34 +0200] rev 10442
[test] run unittest_syncschema with postgresql
Lets us test more things, since we can actually do ALTER TABLE.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 18:11:08 +0200] rev 10441
[test] run unittest_migractions on postgresql
sqlite's lack of support for a bunch of alter table functionality means
some thing just don't get tested otherwise.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:26:03 +0200] rev 10440
[devtools] Put pg sockets in /tmp
Makes for shorter paths (limited by sockaddr_un). Also use the default port,
since we're not listening on TCP sockets.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:44:49 +0200] rev 10439
[devtools] change the way we start/stop postgresql
Instead of having the test db handler start a cluster on demand, use the
test module's setUp/tearDown callbacks to do it. This allows to have
one data directory (and thus cluster) per test module, allowing
different test modules to run in parallel, each using its own database
cluster whose path is based on the test module.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:36:26 +0200] rev 10438
[devtools] make test db name for postgresql process-specific
In case we run two tests concurrently on the same cluster, better not
use the same db name for both.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 16:30:32 +0200] rev 10437
[devtools] extract functions to start/stop a postgresql cluster
Julien Cristau <julien.cristau@logilab.fr> [Mon, 18 May 2015 20:00:06 +0200] rev 10436
[test] don't leave NULL columns around when making an attribute required
It doesn't matter on sqlite (it doesn't do ALTER COLUMN), but when
running this test on postgresql it fails to add the 'NOT NULL'
constraint otherwise.
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 23 Jun 2015 10:02:41 +0200] rev 10435
[server/session] Roll back in connection exit
This was changed in commit 8b35a898b334 "[server] remove cnxset
tracking, it is now unneeded".
When exiting a CubicWeb Connection, the database connection is put back
into the common pool. At that point anything done during the lifetime
of the CubicWeb Connection needs to be committed or rolled back.
Do a proper rollback to finish the transaction, as was happening before
the above-mentionned commit.
This showed up on testing with postgresql, when a DB schema modification
was blocked by an old connection that was still "in transaction".
Alain Leufroy <alain.leufroy@logilab.fr> [Wed, 20 May 2015 16:13:07 +0200] rev 10434
[web/views/formrenderer] do not use `cubicweb:target` attribute on form (closes #5534074)
The `cubicweb:target` is a flag indicating that the form data (with
file input) shall be posted inside an iframe - this is a well known
"ajax-like" workaround to post files with browsers that do not support
`FormData` (a.k.a IE<10).
The `cubicweb:target` was introduced when CW used the "xhtml strict"
doctype. Now that CW uses the "html5" doctype, this namespaced
attribute is no longer necessary and the iframe can be generated
directly.
Before this patch, CW inserts the `cubicweb:target` attribute in the
form DOM element (server side) and `setFormsTarget()` updates the
DOM with a new `<iframe>` element (client side).
Now, CW inserts the `<iframe>` DOM element directly (server side),
making `setFormsTarget` useless.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 17:10:05 +0200] rev 10433
[js] lint : make it explicit that typeof is an operator, not a function.
Also, use === / !== except for null / undefined comparison
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 21 May 2015 16:20:04 +0200] rev 10432
[devtools] qunit: show helpful data when an assertion fails
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 17:25:40 +0200] rev 10431
[web/test] Use shorter $() instead of jQuery()
Consistency FTW.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 16:17:28 +0200] rev 10430
[devtools] qunit: use new async testing APIs
http://qunitjs.com/cookbook/#asynchronous-callbacks
QUnit keeps track of all the assert.async() objects created inside the
test functions and expects all done() functions to be called. Failure to
do so will result in the test being failed.
Unlike .start and .stop which were internal APIs, assert.async() is
stricter and fails tests if assert methods are used *after* all done()
functions are called (see "test callback execution order").
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 15:45:43 +0200] rev 10429
[devtools] qunit: use new assert APIs
test functions now accept an "assert" argument which exposes QUnit's
assert methods: assert.{expect,equal,deepEqual,ok}
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 17:04:43 +0200] rev 10428
[devtools] qunit: stop using global variables
test -> QUnit.test
module -> QUnit.module
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 15:12:58 +0200] rev 10427
[devtools] qunit: update to 1.18.0 (closes #5533333)
* the logging API has changed (register callbacks instead of setting
attributes on the QUnit object)
* the logging callbacks all have a single "details" object argument
* the "main" div was renamed to "qunit-fixture" (this change is
responsible for all the churn in our own JS test files)
* QUnit can now build the DOM elements it needs for reporting from a
single "qunit" div
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 20 May 2015 16:33:01 +0200] rev 10426
[devtools] qunit: stop using deprecated assert functions
equals -> equal
same -> deepEqual
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:39:29 +0200] rev 10425
[devtools] qunit: remove useless window.close()
Modern browsers don't allow it anymore.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:38:04 +0200] rev 10424
[devtools] qunit: refactor functions into QUnitView
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:13:51 +0200] rev 10423
[devtools] qunit: only start firefox once per test
The separate profile initialization step doesn't seem necessary anymore.
This was due to the system-wide installation of the "Sage" Firefox
extensions which breaks -url on a fresh profile. Removing this obnoxious
extension allows us to launch Firefox in a standard way.
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:13:00 +0200] rev 10422
[devtools] qunit: decrease test timeout
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:12:40 +0200] rev 10421
[devtools] qunit: increase resolution and depth of Xvfb screen
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 18:34:52 +0200] rev 10420
[web/test] Always call QUnit.ok with a message
Related to #5533333.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:43:03 +0200] rev 10419
[web/test] Fix remaining JS tests (closes #5533303)
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:42:01 +0200] rev 10418
[web/test] Stop testing that exceptions raised in Deferred callbacks call errback
They no longer do as of changeset 7f1f7f710b16.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:38:28 +0200] rev 10417
[web/test] stop calling loadxhtml with a form.callback
It was deprecated in 3.9 (changeset 7b9553a9db65) and removed in 3.18.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:30:57 +0200] rev 10416
[web/test] Fix reset of loaded JS/CSS files
Name changed in commit ede740bd7077.
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:27:46 +0200] rev 10415
[web/test] Use proper JSON syntax
Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 16:27:12 +0200] rev 10414
[web/test] Update mock ajax reply from "render" ajaxfunc
CubicWeb transforms add_js() calls in AJAX context to <cubicweb:script>
tags since ede740bd7077 and cd5738fc440f. Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 17:49:40 +0200] rev 10413
[devtools] Serve JS tests over HTTP (closes #5533285)
Instead of mixing file:// URLs with XHR.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 May 2015 15:58:21 +0200] rev 10412
[web/data] Support Deferred objects outside XHR
JS tests actually use this. Related to #5533303.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 14:27:37 +0200] rev 10411
merge 3.20.8 in 3.21
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 14:15:16 +0200] rev 10410
[views] Revert previous changeset 8f05aaabf355
Breaks cubicweb/web/test/test_views.py as some views don't have a 'vid'
kwarg.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:51:28 +0200] rev 10409
Added tag 3.20.8, debian/3.20.8-1, centos/3.20.8-1 for changeset ec284980ed9e
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:50:30 +0200] rev 10408
[pkg] Prepare 3.20.8
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Fri, 25 Jul 2014 16:11:46 +0200] rev 10407
[js] simplify cw.log implementation
There's no need to rebuild and array and join its content, just
call console.log with ``arguments``.
The only trick is that console.log must be called on a console instance.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 22 Jun 2015 11:28:16 +0200] rev 10406
[web/views] don't force http redirect on logout
We no longer forbid anonymous browsing on https, so we can keep the same
scheme when logged out. Closes #5507479.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Tue, 16 Jun 2015 00:26:55 +0200] rev 10405
[views/schema] extract a hardcoded css class attribute
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 03 Jun 2015 12:36:31 +0200] rev 10404
[formwidgets] move TextArea constants to the class level
This will make it easy to override them.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 22 Jun 2015 12:23:50 +0200] rev 10403
[server/test] fix broken test
The first bad revision is:
changeset: 10396:82071f767cb8
user: Sylvain Thénault <sylvain.thenault@logilab.fr>
date: Thu Jun 11 17:35:11 2015 +0200
summary: [schemas] cwuri should be read-only
This changed the number of RQLExpressions to be more than the number of
CWRelations in the test's schema.
Related to #5457566.
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 18 Jun 2015 14:43:06 +0200] rev 10402
[test] typo in entities test comment
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 18 Jun 2015 14:57:55 +0200] rev 10401
[cwconfig] typo in comment
Julien Cristau <julien.cristau@logilab.fr> [Fri, 19 Jun 2015 16:38:53 +0200] rev 10400
[serverctl] allow changing the log level for source-sync command
When calling this from cron we only want to see output if something
fails.
Katia Saurfelt <katia.saurfelt@logilab.fr> [Thu, 30 Apr 2015 13:06:45 +0200] rev 10399
[web, urlrewrite] remove unused `cachekey` argument from `rgx_action` (closes #5355967)
this argument prevent from generating the resulting rset descripition
Katia Saurfelt <katia.saurfelt@logilab.fr> [Fri, 19 Jun 2015 17:54:04 +0200] rev 10398
[web] Fix the path to the `static directory` (closes #5355965)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 18 Jun 2015 18:22:55 +0200] rev 10397
[web/json] Controller.publish must return encoded data
We were mixing binary from super() and text from our params, thus
wrongly returning text. Closes #5507573.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 15 Apr 2015 22:48:20 +0200] rev 10396
[entities] fix dc_title output for bool(value) == False
Closes #5194853.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 15 May 2015 18:06:03 +0200] rev 10395
[hooks] manhandle the parsed rql query, not its string representation
... and add a groupby clause to make it actually work (the selection
might well use an aggregate function, so we need to tell the backend to
group on our target entity).
Closes #5362574
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 19 Jun 2015 17:21:28 +0200] rev 10394
merge 3.19.12 in 3.20
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 19 Jun 2015 16:05:27 +0200] rev 10393
Added tag 3.19.12, debian/3.19.12-1, centos/3.19.12-1 for changeset 5932de3d50bf
Alain Leufroy <alain@leufroy.fr> [Fri, 19 Jun 2015 10:53:23 +0200] rev 10392
[pkg] prepare 3.19.12
Alain Leufroy <alain@leufroy.fr> [Thu, 18 Jun 2015 15:35:08 +0200] rev 10391
[web/views/formrenderer] remove `cubicweb:target` attribute on form once the target <iframe> is inserted
For some unknown reason, IE9 does not want to submit the form inside
the <iframe> when the ``cubicweb:target`` attribute exists.
(closes #5377672)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Tue, 16 Jun 2015 18:01:58 +0200] rev 10390
[views] implement a custom json error view
If the client asked for ``(e)jsonexport`` view, answer
him with a json response rather than an error formatted
in a big HTML blob.
add a custom _requested_vid predicate. In cw 3.21, it will
be deprecated in favor of ``match_form_params(vid=('jsonexport', 'ejsonexport'))``
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 13 May 2015 17:49:45 +0200] rev 10389
don't override req.form['vid'] in the publisher's error_handler
closes #5359234
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 15 Jun 2015 10:49:33 +0200] rev 10388
when some inlined relation is set using cw_edited, its security shouldn't be checked.
It's currently checked anyway because upon modification of `cw_edited`,
`entity.skip_security` is updated to avoid security checking, but this is only
considered for attributes, not relations.
Closes #5477315
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 15 Jun 2015 10:46:49 +0200] rev 10387
[test] stop depending on the email cube for hooks test
Backport necessary part of its schema.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Jun 2015 17:35:11 +0200] rev 10386
[schemas] cwuri should be read-only
Closes #5457566
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 06 Apr 2015 21:49:06 +0200] rev 10385
fix EditController._ordered_formparams method in case some mandatory relation isn't specified
If you have an HTML form which doesn't carry information about some mandatory
relation (maybe because this relation is set by a hook), you ends up with a
KeyError when the form is posted.
Using a get instead of subscription protocol fixes the problem.
Closes #5481617.
Laura Médioni <laura.medioni@logilab.fr> [Thu, 19 Mar 2015 11:30:37 +0100] rev 10384
[views] take into account subvid form param in SameETypeListView
closes #5098473
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:22:06 +0200] rev 10383
[doc] fix errors in test_visibility_propagation example
* forget to use the access instructions
* wrong use of the function entity_from_eid
* some indentation problems
Sylvain Thénault <sylvain.thenault@logilab.fr> [Sat, 13 Jun 2015 10:03:08 +0200] rev 10382
i18n typo
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 09 Jun 2015 12:05:40 +0200] rev 10381
[predicates] Use proper deprecation mechanisms
Rabah Meradi <rabah.meradi@logilab.fr> [Fri, 22 May 2015 11:28:56 +0200] rev 10380
[doc] loadRemote does a POST by default
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:15:08 +0200] rev 10379
[doc] how to change logo using css
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:17:29 +0200] rev 10378
[doc] escape | operator so it will be visible in the docs
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:19:24 +0200] rev 10377
[doc] add missing import for FourOhFour class
Rabah Meradi <rabah.meradi@logilab.fr> [Wed, 03 Jun 2015 17:21:05 +0200] rev 10376
[doc] the instance is sytweb_instance and sytweb is the cube
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Jun 2015 09:18:02 +0200] rev 10375
[server] Do not use progress bar when stdout is not a TTY
Closes #5460552.
Christophe de Vienne <christophe@unlish.com> [Wed, 13 May 2015 17:12:41 +0200] rev 10374
[wf] Fix Workflow.replace_state()
Closes #5359131
David Douard <david.douard@logilab.fr> [Tue, 05 May 2015 15:49:41 +0200] rev 10373
[tags] add properly formated tags for 3.19 and 3.20 releases
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 05 May 2015 15:36:56 +0200] rev 10372
[reledit] also check for cardinality before displaying the delete relation action. Closes #5334750
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 25 Feb 2015 10:33:41 +0100] rev 10371
[schema] add a unique index on cwuri
Closes #4985752
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 16:37:40 +0100] rev 10370
[web] move AbstractAuthManager near its immediate concrete subclass
Related to #1381328.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 13 Feb 2014 16:32:41 +0100] rev 10369
[web] move abstract session manager to web/sessions
Related to #1381328.
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
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 22 Apr 2015 17:48:32 +0200] rev 10344
Added tag cubicweb-version-3.20.7, cubicweb-debian-version-3.20.7-1, cubicweb-centos-version-3.20.7-1 for changeset 359d68bc1260
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 22 Apr 2015 17:48:00 +0200] rev 10343
[pkg] 3.20.7
Julien Cristau <julien.cristau@logilab.fr> [Wed, 22 Apr 2015 17:45:27 +0200] rev 10342
[dbapi] retire repo.[gs]et_shared_data which were used by the dbapi
Related to #3933480
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Mar 2015 16:00:30 +0100] rev 10341
[dbapi] retire repository transaction methods which were used by the dbapi
Related to #3933480.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 17 Mar 2015 15:57:22 +0100] rev 10340
[dbapi] retire repo.call_service which was used by the dbapi
Related to #3933480.