[server] improve the speed of setting relations between entities (closes #1625257)
The main idea is to add methods equivalent to session.add_relation and
repository.glob_add_relation which handle several relations in one call. Speed
gain results from:
* using cursor.executemany to run SQL statements
* factorizing some code which otherwise has to be performed for each relation,
such as context manager creation before calling hooks or to enable security,
creation of the EditedEntity instance (when several inlined relations are set
on a single entity, and consequently when refreshing the cached entity)
benchmark runs 1.1x faster for non inlined entities and 125x faster for inlined
entities :-)
8a9dac5a67a67e6342728c88085a38ff190f790b cubicweb-version-2_99_1
8280fa6906f38bb51f5652c4d835ae1c613ad0a8 cubicweb-version-2_99_3
aa7d98f8f07f94afe750769640161f948a8a0d07 cubicweb-debian-version-2_99_3-1
76c1707200cfc5222672d1a5337b5e4b0b27bb0f cubicweb-version-2_99_4
eaf1089ae49d19cd8ae81732ff20e1003af0a238 cubicweb-debian-version-2_99_4-1
68b7a92468857ef741b91f3422ef14d78e3f5491 cubicweb-version-2_99_5
91793edd3b2fb11320b5421895296331da952524 cubicweb-debian-version-2_99_5-1
5b58fd1aba50680e261857dcc47ede0d1c2ecc59 cubicweb-version-2_99_6
c718f6495ace1e33831862f221e1b93ee0b386e2 cubicweb-debian-version-2_99_6-1
a93da6d88d4ee493ec6bc8852f3ee921af8324ad cubicweb-version_3_0_0
221886d8e3c84bb31937e24398a783f27cd350dd cubicweb-version-3_0_2
18d3e56c1de4a6597ab36536964bc66b5550cf98 cubicweb-debian-version-3_0_2-1
0cb027c056f939ec3580ea1cc0aeda9f9884f0fa cubicweb-version-3_0_3
a736bae56d4a703a26933fb9875fb9caab216c6b cubicweb-debian-version-3_0_3-1
2e400b8dfc25ae30db602f64601e30e210b3fade cubicweb-version-3_0_4
fc222bc99929d395c1c2235c40d3bb6f247b4ba9 cubicweb-debian-version-3_0_4-1
7ad527099393ef56f27af313392022bb8ed73082 cubicweb-version-3_0_9
a8e9e53b245d53838a07aa8c76d1bed352692a9f cubicweb-debian-version-3_0_9-1
a711c7c185d15a1bd22b7eaab46a26b98b74fbf3 cubicweb-version-3_1_0
dd3efdf58d281286d6f52f7416db349b75b7789c cubicweb-debian-version-3_1_0-1
ce8094084165419ff1717bdb2f426574bcaaad93 cubicweb-version-3_1_1
dfaedb0bba88e3a4e931948bb0c6a9587269303f cubicweb-debian-version-3_1_1-1
a9ba200ab15098704a6255387c558c02488551c6 cubicweb-version-3_1_2
a823124b812f4fa494bfceb773f3ca1cd00407e8 cubicweb-debian-version-3_1_2-1
a5dc91adb7c133f83f5ad9cceb07bc246d21ed01 cubicweb-version-3_1_3
9e98dec0768b87363a7826a04636dc161ed0ec7d cubicweb-debian-version-3_1_3-1
e0e0a1c3d80f4fbf4bbd55066278e467b75df8a4 cubicweb-version-3_1_4
0e132fbae9cc5e004f4b79a8b842addad43519a7 cubicweb-debian-version-3_1_4-1
c14231e3a4f9120e2bb6a1d8690252fff5e48131 cubicweb-version-3_2_0
c9c492787a8aa1b7916e22eb6498cba1c8fa316c cubicweb-debian-version-3_2_0-1
634c251dd032894850080c4e5aeb0a4e09f888c0 cubicweb-version-3_2_1
e784f8847a124a93e5b385d7a92a2772c050fe82 cubicweb-debian-version-3_2_1-1
6539ce84f04357ef65ccee0896a30997b16a4ece cubicweb-version-3_2_2
92d1a15f08f7c5fa87643ffb4273d12cb3f41c63 cubicweb-debian-version-3_2_2-1
6539ce84f04357ef65ccee0896a30997b16a4ece cubicweb-version-3_2_2
9b21e068fef73c37bcb4e53d006a7bde485f390b cubicweb-version-3_2_2
92d1a15f08f7c5fa87643ffb4273d12cb3f41c63 cubicweb-debian-version-3_2_2-1
0e07514264aa1b0b671226f41725ea4c066c210a cubicweb-debian-version-3_2_2-1
f60bb84b86cf371f1f25197e00c778b469297721 cubicweb-version-3_2_3
4003d24974f15f17bd03b7efd6a5047cad4e4c41 cubicweb-debian-version-3_2_3-1
2d7d3062ca03d4b4144100013dc4ab7f9d9cb25e cubicweb-version-3_3_0
07214e923e75c8f0490e609e9bee0f4964b87114 cubicweb-debian-version-3_3_0-1
a356da3e725bfcb59d8b48a89d04be05ea261fd3 3.3.1
e3aeb6e6c3bb5c18e8dcf61bae9d654beda6c036 cubicweb-version-3_3_2
bef5e74e53f9de8220451dca4b5863a24a0216fb cubicweb-debian-version-3_3_2-1
1cf9e44e2f1f4415253b8892a0adfbd3b69e84fd cubicweb-version-3_3_3
81973c897c9e78e5e52643e03628654916473196 cubicweb-debian-version-3_3_3-1
1cf9e44e2f1f4415253b8892a0adfbd3b69e84fd cubicweb-version-3_3_3
47b5236774a0cf3b1cfe75f6d4bd2ec989644ace cubicweb-version-3_3_3
2ba27ce8ecd9828693ec53c517e1c8810cbbe33e cubicweb-debian-version-3_3_3-2
d46363eac5d71bc1570d69337955154dfcd8fcc8 cubicweb-version-3.3.4
7dc22caa7640bf70fcae55afb6d2326829dacced cubicweb-debian-version-3.3.4-1
d85937184430b2e7a8d9318100272757026c01a4 cubicweb-version-3.3.5
82fe8a6d077b34e972664c8e2bace3ae30c94b9d cubicweb-debian-version-3.3.5-1
cfcc7f6121d6c6b53a1ef9bc96c3b7c82f33d169 cubicweb-version-3.4.2
e6a8cd8cc910507e5f928ddba6de3cf5e5bdf3d4 cubicweb-debian-version-3.4.2-1
b2add17d5bc437a807976cd13870f92d3a94f2a6 cubicweb-version-3.4.3
a3828745e2cf0c4bf1cab6f5397c524ba0510df6 cubicweb-debian-version-3.4.3-1
2aee4ea585cdba159bc9490741db3fcd25dcaaca cubicweb-version-3.4.4
e244a0fd7d719c25f4267470342ff8334b2dc8b3 cubicweb-debian-version-3.4.4-1
3a65f9b3367c7297dc540a53f84e6507cb309892 cubicweb-version-3.4.5
7fd294cbf6ff3cf34475cc50e972f650a34ae6e8 cubicweb-debian-version-3.4.5-1
921fdbf8b3038dc27a2ec5398a0fbcbc5b9ba4be cubicweb-version-3.4.6
52dba800ca4d4b82c47f3befb824bd91ef015368 cubicweb-debian-version-3.4.6-1
0e549b299f0b357837ea620c561aa843f46de17a cubicweb-version-3.4.7
ebb92e62eb040a070deb1f2d2434734cfac3af01 cubicweb-debian-version-3.4.7-1
ba43e084e8841f62c3b4c2449b26a7546233e5fb cubicweb-version-3.4.8
97273eeaaead11c0f422dc5a4fe2d4f14fc6a2dd cubicweb-debian-version-3.4.8-1
e916f1e856c83aced0fe73f7ae9068e37edcc38c cubicweb-version-3.4.9
24ea70f19a48cce60248ab18695925755009bcb8 cubicweb-debian-version-3.4.9-1
f3d2adf483320d7726136433a41c57b130cbdc15 cubicweb-version-3.4.11
635a25031f4abdd89c44d17f5d2b0d0d43914511 cubicweb-debian-version-3.4.11-1
70c0dd1c3b7d747c3a268396a7f79d9a7a3340e6 cubicweb-version-3.5.0
7e5d0ae8d2026c77f12ab512a4cde9911dcd8896 cubicweb-debian-version-3.5.0-1
77ed72f3c2602bf300929f8863447653ce1beb0c cubicweb-version-3.5.1
f476cecd46904f215bd29249ded8508d8f5634d7 cubicweb-debian-version-3.5.1-1
1f0aa3cd5af2c92df8f9695773b8e465eb6f1795 cubicweb-version-3.5.2
75cc4aa76fb12c06d4190956aa050cdf19ba4d8f cubicweb-debian-version-3.5.2-1
540210e138d323e5224d7b08cbd71f5a23ed630d cubicweb-version-3.5.3
2e22b975f9c23aebfe3e0a16a798c3fe81fa2a82 cubicweb-debian-version-3.5.3-1
312349b3712e0a3e32247e03fdc7408e17bd19de cubicweb-version-3.5.4
37d025b2aa7735dae4a861059014c560b45b19e6 cubicweb-debian-version-3.5.4-1
1eca47d59fd932fe23f643ca239cf2408e5b1856 cubicweb-version-3.5.5
aad818d9d9b6fdb2ffea56c0a9af718c0b69899d cubicweb-debian-version-3.5.5-1
b79f361839a7251b35eb8378fbc0773de7c8a815 cubicweb-version-3.5.6
e6225e8e36c6506c774e0a76acc301d8ae1c1028 cubicweb-debian-version-3.5.6-1
b79f361839a7251b35eb8378fbc0773de7c8a815 cubicweb-version-3.5.6
4e619e97b3fd70769a0f454963193c10cb87f9d4 cubicweb-version-3.5.6
e6225e8e36c6506c774e0a76acc301d8ae1c1028 cubicweb-debian-version-3.5.6-1
5f7c939301a1b915e17eec61c05e8e9ab8bdc182 cubicweb-debian-version-3.5.6-1
0fc300eb4746e01f2755b9eefd986d58d8366ccf cubicweb-version-3.5.7
7a96c0544c138a0c5f452e5b2428ce6e2b7cb378 cubicweb-debian-version-3.5.7-1
1677312fd8a3e8c0a5ae083e3104ca62b7c9a5bb cubicweb-version-3.5.9
d7f2d32340fb59753548ef29cbc1958ef3a55fc6 cubicweb-debian-version-3.5.9-1
9b52725d8c534ba40877457b413077a10173bf88 cubicweb-version-3.5.10
dfe2f245248c97bea3a29c8ecc6d293e25ff708e cubicweb-debian-version-3.5.10-1
f48b2f193961803cf42147272671a335a2daeceb cubicweb-version-3.5.11
4920121d41f28c8075a4f00461911677396fc566 cubicweb-debian-version-3.5.11-1
98af3d02b83e7635207781289cc3445fb0829951 cubicweb-version-3.5.12
4281e1e2d76b9a37f38c0eeb1cbdcaa2fac6533c cubicweb-debian-version-3.5.12-1
5f957e351b0a60d5c5fff60c560b04e666c3a8c6 cubicweb-version-3.6.0
17e88f2485d1ea1fb8a3926a274637ce19e95d69 cubicweb-debian-version-3.6.0-1
450804da3ab2476b7ede0c1f956235b4c239734f cubicweb-version-3.6.0
d2ba93fcb8da95ceab08f48f8149a480215f149c cubicweb-debian-version-3.6.0-1
4ae30c9ca11b1edad67d25b76fce672171d02023 cubicweb-version-3.6.1
b9cdfe3341d1228687515d9af8686971ad5e6f5c cubicweb-debian-version-3.6.1-1
0a16f07112b90fb61d2e905855fece77e5a7e39c cubicweb-debian-version-3.6.1-2
bfebe3d14d5390492925fc294dfdafad890a7104 cubicweb-version-3.6.2
f3b4bb9121a0e7ee5961310ff79e61c890948a77 cubicweb-debian-version-3.6.2-1
270aba1e6fa21dac6b070e7815e6d1291f9c87cd cubicweb-version-3.7.0
0c9ff7e496ce344b7e6bf5c9dd2847daf9034e5e cubicweb-debian-version-3.7.0-1
6b0832bbd1daf27c2ce445af5b5222e1e522fb90 cubicweb-version-3.7.1
9194740f070e64da5a89f6a9a31050a8401ebf0c cubicweb-debian-version-3.7.1-1
9c342fa4f1b73e06917d7dc675949baff442108b cubicweb-version-3.6.3
f9fce56d6a0c2bc6c4b497b66039a8bbbbdc8074 cubicweb-debian-version-3.6.3-1
d010f749c21d55cd85c5feb442b9cf816282953c cubicweb-version-3.7.2
8fda29a6c2191ba3cc59242c17b28b34127c75fa cubicweb-debian-version-3.7.2-1
768beb8e15f15e079f8ee6cfc35125e12b19e140 cubicweb-version-3.7.3
44c7bf90df71dd562e5a7be5ced3019da603d24f cubicweb-debian-version-3.7.3-1
ec23f3ebcd34a92b9898b312f44d56cca748d0d6 cubicweb-version-3.7.4
fefeda65bb83dcc2d775255fe69fdee0e793d135 cubicweb-debian-version-3.7.4-1
c476d106705ebdd9205d97e64cafa72707acabe7 cubicweb-version-3.7.5
2d0982252e8d780ba964f293a0e691d48070db6d cubicweb-debian-version-3.7.5-1
3c703f3245dc7696341ae1d66525554d9fa2d11d cubicweb-version-3.8.0
24cc65ab2eca05729d66cef3de6f69bb7f9dfa35 cubicweb-debian-version-3.8.0-1
1e074c6150fe00844160986852db364cc5992848 cubicweb-version-3.8.1
eb972d125eefd0de2d0743e95c6e1f4e3e93e4c1 cubicweb-debian-version-3.8.1-1
ef2e37d34013488a2018e73338fbbfbde5901c5c cubicweb-version-3.8.2
2b962bb9eee8ee7156a12cf137428c292f8e3b35 cubicweb-debian-version-3.8.2-1
7e6c6a2a272d0a95fd42248f3125e45185f0eef1 cubicweb-version-3.8.3
1ccaa924786047be66b44f6dbc76e6631f56b04a cubicweb-debian-version-3.8.3-1
d00d1fab42afec8607fc84d862becfd7f58850f1 cubicweb-version-3.8.4
b7883287f40c853e8278edc3f24326f2c9549954 cubicweb-debian-version-3.8.4-1
2de32c0c293ba451b231efe77d6027376af3a2a3 cubicweb-version-3.8.5
5d05b08adeab1ea301e49ed8537e35ede6db92f6 cubicweb-debian-version-3.8.5-1
1a24c62aefc5e57f61be3d04affd415288e81904 cubicweb-version-3.8.6
607a90073911b6bb941a49b5ec0b0d2a9cd479af cubicweb-debian-version-3.8.6-1
d9936c39d478b6701a4adef17bc28888ffa011c6 cubicweb-version-3.9.0
eda4940ffef8b7d36127e68de63a52388374a489 cubicweb-debian-version-3.9.0-1
a1a334d934390043a4293a4ee42bdceb1343246e cubicweb-version-3.8.7
1cccf88d6dfe42986e1091de4c364b7b5814c54f cubicweb-debian-version-3.8.7-1
4d75f743ed49dd7baf8bde7b0e475244933fa08e cubicweb-version-3.9.1
9bd75af3dca36d7be5d25fc5ab1b89b34c811456 cubicweb-debian-version-3.9.1-1
e51796b9caf389c224c6f66dcb8aa75bf1b82eff cubicweb-version-3.9.2
8a23821dc1383e14a7e92a931b91bc6eed4d0af7 cubicweb-debian-version-3.9.2-1
900772fd9caaf068eb2fdd4544b03efec91901e6 cubicweb-version-3.9.3
ab1f9686ff3e0843b570b98f89fb5ccc8d7dec8c cubicweb-debian-version-3.9.3-1
6cebb361dcb27ded654426b4c82f6401c862e034 cubicweb-version-3.9.4
8d32d82134dc1d8eb0ce230191f34fd49084a168 cubicweb-debian-version-3.9.4-1
0a1fce8ddc672ca9ee7328ed4f88c1aa6e48d286 cubicweb-version-3.9.5
12038ca95f0fff2205f7ee029f5602d192118aec cubicweb-debian-version-3.9.5-1
d37428222a6325583be958d7c7fe7c595115663d cubicweb-version-3.9.6
7d2cab567735a17cab391c1a7f1bbe39118308a2 cubicweb-debian-version-3.9.6-1
de588e756f4fbe9c53c72159c6b96580a36d3fa6 cubicweb-version-3.9.7
1c01f9dffd64d507863c9f8f68e3585b7aa24374 cubicweb-debian-version-3.9.7-1
eed788018b595d46a55805bd8d2054c401812b2b cubicweb-version-3.9.8
e4dba8ae963701a36be94ae58c790bc97ba029bb cubicweb-debian-version-3.9.8-1
0793fe84651be36f8de9b4faba3781436dc07be0 cubicweb-version-3.10.0
9ef1347f8d99e7daad290738ef93aa894a2c03ce cubicweb-debian-version-3.10.0-1
6c6859a676732c845af69f92e74d4aafae12f83a cubicweb-version-3.10.1
3abb41c47925f8fc6e327164d0ceca3773503ef9 cubicweb-debian-version-3.10.1-1
3fc6b4aaaff301e482a92c61e39789621bd7ed3b cubicweb-version-3.10.2
4a87c8af6f3ffe59c6048ebbdc1b6b204d0b9c7f cubicweb-debian-version-3.10.2-1
8eb58d00a0cedcf7b275b1c7f43b08e2165f655c cubicweb-version-3.10.3
303b150ebb7a92b2904efd52b446457999cab370 cubicweb-debian-version-3.10.3-1
3829498510a754b1b8a40582cb8dcbca9145fc9d cubicweb-version-3.10.4
49f1226f2fab6d9ff17eb27d5a66732a4e5b5add cubicweb-debian-version-3.10.4-1
df0b2de62cec10c84a2fff5233db05852cbffe93 cubicweb-version-3.9.9
1ba51b00fc44faa0d6d57448000aaa1fd5c6ab57 cubicweb-debian-version-3.9.9-1
b7db1f59355832a409d2032e19c84cfffdb3b265 cubicweb-debian-version-3.9.9-2
09c98763ae9d43616d047c1b25d82b4e41a4362f cubicweb-debian-version-3.9.9-3
3829498510a754b1b8a40582cb8dcbca9145fc9d cubicweb-version-3.10.4
d73733479a3af453f06b849ed88d120784ce9224 cubicweb-version-3.10.4
49f1226f2fab6d9ff17eb27d5a66732a4e5b5add cubicweb-debian-version-3.10.4-1
7b41930e1d32fea3989a85f6ea7281983300adb1 cubicweb-debian-version-3.10.4-1
159d0dbe07d9eb1c6ace4c5e160d1ec6e6762086 cubicweb-version-3.10.5
e2e7410e994777589aec218d31eef9ff8d893f92 cubicweb-debian-version-3.10.5-1
3c81dbb58ac4d4a6f61b74eef4b943a8316c2f42 cubicweb-version-3.10.6
1484257fe9aeb29d0210e635c12ae5b3d6118cfb cubicweb-debian-version-3.10.6-1
1959d97ebf2e6a0f7cd05d4cc48bb955c4351da5 cubicweb-version-3.10.7
bf5d9a1415e3c9abe6b68ba3b24a8ad741f9de3c cubicweb-debian-version-3.10.7-1
e581a86a68f089946a98c966ebca7aee58a5718f cubicweb-version-3.10.8
132b525de25bc75ed6389c45aee77e847cb3a437 cubicweb-debian-version-3.10.8-1
48f468f33704e401a8e7907e258bf1ac61eb8407 cubicweb-version-3.9.x
37432cede4fe55b97fc2e9be0a2dd20e8837a848 cubicweb-version-3.11.0
8daabda9f571863e8754f8ab722744c417ba3abf cubicweb-debian-version-3.11.0-1
d0410eb4d8bbf657d7f32b0c681db09b1f8119a0 cubicweb-version-3.11.1
77318f1ec4aae3523d455e884daf3708c3c79af7 cubicweb-debian-version-3.11.1-1
56ae3cd5f8553678a2b1d4121b61241598d0ca68 cubicweb-version-3.11.2
954b5b51cd9278eb45d66be1967064d01ab08453 cubicweb-debian-version-3.11.2-1
fd502219eb76f4bfd239d838a498a1d1e8204baf cubicweb-version-3.12.0
92b56939b7c77bbf443b893c495a20f19bc30702 cubicweb-debian-version-3.12.0-1
59701627adba73ee97529f6ea0e250a0f3748e32 cubicweb-version-3.12.1
07e2c9c7df2617c5ecfa84cb819b3ee8ef91d1f2 cubicweb-debian-version-3.12.1-1
5a9b6bc5653807500c30a7eb0e95b90fd714fec3 cubicweb-version-3.12.2
6d418fb3ffed273562aae411efe323d5138b592a cubicweb-debian-version-3.12.2-1