Tue, 29 Sep 2015 15:49:10 +0200 moved_entities.extid may not be NULL
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 15:49:10 +0200] rev 10627
moved_entities.extid may not be NULL
Tue, 29 Sep 2015 15:15:03 +0200 [server] use sqls_create_multicol_unique_index to index entities.extid
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 15:15:03 +0200] rev 10626
[server] use sqls_create_multicol_unique_index to index entities.extid SQL Server's UNIQUE is not standards compliant, it doesn't accept two NULL values. Related to #7173702.
Tue, 29 Sep 2015 15:11:29 +0200 [server] fix checkintegrity with pyodbc
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 15:11:29 +0200] rev 10625
[server] fix checkintegrity with pyodbc "msg % row" dies with "not enough arguments for format string" if row is a pyodbc.Row.
Tue, 29 Sep 2015 14:23:57 +0200 [schema] remove unique constraint on unlimited String attribute
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Sep 2015 14:23:57 +0200] rev 10624
[schema] remove unique constraint on unlimited String attribute SQL Server doesn't allow indexing (and thus unique constraints) on nvarchar(max). Related to #7173702.
Mon, 05 Oct 2015 16:36:49 +0200 [sources/native] fix potential NameError (closes #7364249)
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Mon, 05 Oct 2015 16:36:49 +0200] rev 10623
[sources/native] fix potential NameError (closes #7364249)
Mon, 14 Sep 2015 11:15:47 +0200 [py3k] unicode → six.text_type
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 11:15:47 +0200] rev 10622
[py3k] unicode → six.text_type
Mon, 14 Sep 2015 18:10:20 +0200 [devtools/testlib] Port CubicWebTC.view() to py3k
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:10:20 +0200] rev 10621
[devtools/testlib] Port CubicWebTC.view() to py3k testlib.TestCase.set_description's argument will eventually be printed out to sys.stdout/stderr. On python 2, this object takes bytes-like objects (eg, str) whereas python 3's takes unicode-like objects and handles the encoding on its own. Thus the 'str' type can used in both versions to eventually display the description on screen.
Mon, 14 Sep 2015 18:12:44 +0200 [devtools/testlib] port 'fake_form' test to io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:12:44 +0200] rev 10620
[devtools/testlib] port 'fake_form' test to io.BytesIO
Mon, 14 Sep 2015 16:45:03 +0200 [dataimport] port ucsvreader tests to io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 16:45:03 +0200] rev 10619
[dataimport] port ucsvreader tests to io.BytesIO
Mon, 14 Sep 2015 18:56:29 +0200 [py3k] io.BytesIO
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 18:56:29 +0200] rev 10618
[py3k] io.BytesIO
Fri, 11 Sep 2015 17:40:23 +0200 [py3k] io.StringIO
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 11 Sep 2015 17:40:23 +0200] rev 10617
[py3k] io.StringIO
Tue, 15 Sep 2015 12:51:27 +0200 Port cw.Binary to io.BytesIO
Rémi Cardona <remi.cardona@free.fr> [Tue, 15 Sep 2015 12:51:27 +0200] rev 10616
Port cw.Binary to io.BytesIO And add plenty of tests too!
Fri, 18 Sep 2015 18:26:07 +0200 [py3k] execfile → exec
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 18 Sep 2015 18:26:07 +0200] rev 10615
[py3k] execfile → exec
Tue, 15 Sep 2015 15:33:47 +0200 [py3k] file → open
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:33:47 +0200] rev 10614
[py3k] file → open
Thu, 17 Sep 2015 09:52:06 +0200 [py3k] six.integer_types
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 17 Sep 2015 09:52:06 +0200] rev 10613
[py3k] six.integer_types
Mon, 14 Sep 2015 16:03:07 +0200 [py3k] basestring → six.string_types
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 16:03:07 +0200] rev 10612
[py3k] basestring → six.string_types
Wed, 16 Sep 2015 11:23:51 +0200 [py3k] import CookieJar using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 11:23:51 +0200] rev 10611
[py3k] import CookieJar using six.moves
Tue, 15 Sep 2015 18:50:25 +0200 [py3k] import urllib2 from six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 18:50:25 +0200] rev 10610
[py3k] import urllib2 from six.moves
Tue, 15 Sep 2015 16:56:57 +0200 [py3k] import range using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 16:56:57 +0200] rev 10609
[py3k] import range using six.moves
Tue, 15 Sep 2015 15:07:13 +0200 [py3k] import queue using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:07:13 +0200] rev 10608
[py3k] import queue using six.moves
Tue, 15 Sep 2015 14:59:06 +0200 [py3k] import filter using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 14:59:06 +0200] rev 10607
[py3k] import filter using six.moves
Tue, 15 Sep 2015 14:58:52 +0200 [py3k] import zip using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 14:58:52 +0200] rev 10606
[py3k] import zip using six.moves
Tue, 22 Sep 2015 15:36:32 +0200 [py3k] import SimpleCookie using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 15:36:32 +0200] rev 10605
[py3k] import SimpleCookie using six.moves
Mon, 14 Sep 2015 12:40:57 +0200 [py3k] import HTTP client constants and exceptions using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 12:40:57 +0200] rev 10604
[py3k] import HTTP client constants and exceptions using six.moves
Tue, 22 Sep 2015 09:39:30 +0200 [py3k] import URL mangling functions using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Sep 2015 09:39:30 +0200] rev 10603
[py3k] import URL mangling functions using six.moves
Mon, 14 Sep 2015 12:19:48 +0200 [py3k] import 'pickle' using six.moves
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 12:19:48 +0200] rev 10602
[py3k] import 'pickle' using six.moves
Wed, 16 Sep 2015 14:45:15 +0200 [pkg] Add dependency on six 1.4.0
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 14:45:15 +0200] rev 10601
[pkg] Add dependency on six 1.4.0
Wed, 16 Sep 2015 11:32:09 +0200 [tests] Replace use of deprecated TestCase.assert_
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 16 Sep 2015 11:32:09 +0200] rev 10600
[tests] Replace use of deprecated TestCase.assert_
Tue, 15 Sep 2015 16:30:25 +0200 [predicates] Simplify range(len()) iteration
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 16:30:25 +0200] rev 10599
[predicates] Simplify range(len()) iteration
Mon, 14 Sep 2015 15:34:09 +0200 [dataimport] Use pickle.dump instead of dumps
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 15:34:09 +0200] rev 10598
[dataimport] Use pickle.dump instead of dumps
Mon, 14 Sep 2015 15:42:38 +0200 [web/facet] Simplify reversed/sorted calls
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 15:42:38 +0200] rev 10597
[web/facet] Simplify reversed/sorted calls
Mon, 28 Sep 2015 13:47:30 +0200 [web/test] Use TestCase.setUpClass instead of setUpModule
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Sep 2015 13:47:30 +0200] rev 10596
[web/test] Use TestCase.setUpClass instead of setUpModule
Mon, 14 Sep 2015 11:16:10 +0200 Use isinstance() instead of type comparison
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 14 Sep 2015 11:16:10 +0200] rev 10595
Use isinstance() instead of type comparison
Tue, 15 Sep 2015 15:10:59 +0200 Unused imports
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 15 Sep 2015 15:10:59 +0200] rev 10594
Unused imports
Fri, 11 Sep 2015 16:01:10 +0200 [py3k] tuple unpacking in function args
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 16:01:10 +0200] rev 10593
[py3k] tuple unpacking in function args
Fri, 11 Sep 2015 15:52:18 +0200 [py3k] ur'' is gone
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:52:18 +0200] rev 10592
[py3k] ur'' is gone
Fri, 11 Sep 2015 15:50:29 +0200 [py3k] octals and long
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:50:29 +0200] rev 10591
[py3k] octals and long
Fri, 11 Sep 2015 15:29:25 +0200 [py3k] Fix raise with embedded traceback
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 15:29:25 +0200] rev 10590
[py3k] Fix raise with embedded traceback python 3 removed the raise syntax with 2 and 3 expressions.
Fri, 11 Sep 2015 14:52:09 +0200 [py3k] print function
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:52:09 +0200] rev 10589
[py3k] print function
Fri, 11 Sep 2015 14:28:06 +0200 [py3k] except as
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:28:06 +0200] rev 10588
[py3k] except as
Fri, 11 Sep 2015 14:27:34 +0200 [py3k] backtick to repr
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 11 Sep 2015 14:27:34 +0200] rev 10587
[py3k] backtick to repr
Wed, 23 Sep 2015 15:01:55 +0200 [hooks/syncschema] make sure CWUniqueTogetherConstraintDelOp happens before CWConstraintDelOp
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Sep 2015 15:01:55 +0200] rev 10586
[hooks/syncschema] make sure CWUniqueTogetherConstraintDelOp happens before CWConstraintDelOp SQLServer refuses to index an unlimited text column, so we should drop unique_together constraints (which imply an index) before we drop size constraints. Closes #5560601.
Wed, 23 Sep 2015 15:00:33 +0200 [hooks/syncschema] only call "ALTER TABLE" once when changing a size constraint
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 23 Sep 2015 15:00:33 +0200] rev 10585
[hooks/syncschema] only call "ALTER TABLE" once when changing a size constraint Until now we would: - remove the old size constraint from the in-memory schema - call update_rdef_column which removes the size restriction from the column's type - add the new constraint object - call update_rdef_column which adds the size restriction back This breaks on SQL Server when the column is involved in an index (e.g. as part of a multi-column unique constraint), because in the intermediate stage the column's type is "nvarchar(max)", which is not indexable. Of course we must still detect the case where a size constraint is really dropped and update the db schema accordingly. Closes #5557633.
Wed, 02 Sep 2015 15:24:46 +0200 [syncschema] only add to the `synchronized` set if all possible updates have been done
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Wed, 02 Sep 2015 15:24:46 +0200] rev 10584
[syncschema] only add to the `synchronized` set if all possible updates have been done Otherwise a simple sync_schema(syncprops=False) turns the subsequent sync_schema() calls into a no-op. Closes #6510918.
Thu, 23 Jul 2015 12:32:51 +0200 [qunit] remove unused 'data_files' parameter
Julien Cristau <julien.cristau@logilab.fr> [Thu, 23 Jul 2015 12:32:51 +0200] rev 10583
[qunit] remove unused 'data_files' parameter Its use was removed when we stoppped pointing firefox at file:// web/test/jstests/ajax_url2.html has never actually been used, it's only been ever mentioned in a QUnit comment.
Mon, 20 Jul 2015 13:55:54 +0200 [urlpublish] RESTPathEvaluator now use vid_from_rset
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 20 Jul 2015 13:55:54 +0200] rev 10582
[urlpublish] RESTPathEvaluator now use vid_from_rset This avoid cases where vid may be unexpectedly overwritten. For instance when you define a custom vid for a mime type in VID_BY_MIMETYPE, it will currently be overriden by the URL publisher when you access to /<etype> with the proper Accept header. To do so, a new 'check_table' argument is introduced, which may cause bw compatibility problems if the function has been monkey-patched. Also pep8 a bit the tests. Closes #5705835
Fri, 24 Jul 2015 16:19:39 +0200 [server/sources] use decode_extid in datafeed
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:19:39 +0200] rev 10581
[server/sources] use decode_extid in datafeed
Fri, 24 Jul 2015 16:15:17 +0200 [server/sources] add decode_extid method
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:15:17 +0200] rev 10580
[server/sources] add decode_extid method avoids having the same dance in both eid_type_source variants
Wed, 29 Jul 2015 10:18:56 +0200 [server/repo] kill repo.pinfo()
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:18:56 +0200] rev 10579
[server/repo] kill repo.pinfo() session.cnxset is dead, this can't work.
Wed, 29 Jul 2015 10:18:23 +0200 [web/sessions] simplify session cleanup
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:18:23 +0200] rev 10578
[web/sessions] simplify session cleanup session.cnx.check() is no longer a thing. It dates back to dbapi.
Wed, 29 Jul 2015 10:17:42 +0200 [server/repo] fix typo
Julien Cristau <julien.cristau@logilab.fr> [Wed, 29 Jul 2015 10:17:42 +0200] rev 10577
[server/repo] fix typo
Fri, 24 Jul 2015 16:09:29 +0200 [server/sources] AbstractSource.__ne__
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:09:29 +0200] rev 10576
[server/sources] AbstractSource.__ne__ Seems confusing to have __eq__ but not __ne__.
Fri, 24 Jul 2015 16:09:37 +0200 [server/sources] fix docstring for eid_type_source
Julien Cristau <julien.cristau@logilab.fr> [Fri, 24 Jul 2015 16:09:37 +0200] rev 10575
[server/sources] fix docstring for eid_type_source
Mon, 27 Jul 2015 10:00:32 +0200 [views] fix ProcessInformationView: SESSION_MANAGER can be None (closes #5753280)
David Douard <david.douard@logilab.fr> [Mon, 27 Jul 2015 10:00:32 +0200] rev 10574
[views] fix ProcessInformationView: SESSION_MANAGER can be None (closes #5753280) eg. with pyramid.
Thu, 06 Aug 2015 15:21:58 +0200 [server/migractions] drop mock_object
Julien Cristau <julien.cristau@logilab.fr> [Thu, 06 Aug 2015 15:21:58 +0200] rev 10573
[server/migractions] drop mock_object It doesn't seem to have ever been used.
Thu, 06 Aug 2015 15:24:16 +0200 [test] kill unused lgc.testlib imports
Julien Cristau <julien.cristau@logilab.fr> [Thu, 06 Aug 2015 15:24:16 +0200] rev 10572
[test] kill unused lgc.testlib imports
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 tip