Commit Graph

215 Commits

Author SHA1 Message Date
Antony Lesuisse aa2a854af7 [MERGE] icon moved to description
bzr revid: al@openerp.com-20130628150755-2z42ct0p819ajtyq
2013-06-28 17:07:55 +02:00
niv-openerp ac1d0742a0 [IMP] minor improvement in RegistryManager, useful for web client
bzr revid: nicolas.vanhoren@openerp.com-20130619105335-w3xftm6g0llh1ade
2013-06-19 12:53:35 +02:00
Christophe Simonis 23f326328a [IMP] openerp.modules.migration: lint file; remove unused imports, reorder imports, reformat literal dict creation
bzr revid: chs@openerp.com-20130508105056-v4arz8d2kem5sngi
2013-05-08 12:50:56 +02:00
Christophe Simonis 4897f1740e [FIX] openerp.modules.migration: do not shadow AttributeError that may occure when executing the migrate() function
bzr revid: chs@openerp.com-20130508104658-d2553vdx0etiuhpk
2013-05-08 12:46:58 +02:00
Olivier Dony 54ad990e48 [MERGE] Forward-port of 7.0 bugfixes up to rev.4970
revision-id: odo@openerp.com-20130507104025-em6w03pcxeq92az9

bzr revid: odo@openerp.com-20130507112024-p3cukmwp7d8xm2e0
2013-05-07 13:20:24 +02:00
Quentin (OpenERP) 0d21c3eba3 [IMP] modules loading: log as INFO test files because, if they are logged as TEST, the loading statement get lost in the mass of real TEST logs in case there are a lot of test files (more visible that way) + there are no reason to special case these files
bzr revid: qdp-launchpad@openerp.com-20130507092422-co9w0qug8k9zw16n
2013-05-07 11:24:22 +02:00
Raphael Collet 05851d21ba [MERGE] from trunk
bzr revid: rco@openerp.com-20130411073017-x6e4h8xbvmy3ofdw
2013-04-11 09:30:17 +02:00
Vo Minh Thu 307ca374d6 [MERGE] forward merge 7.0 until revision 4919.
bzr revid: vmt@openerp.com-20130404130704-24vsmczw34cssytd
2013-04-04 15:07:04 +02:00
Raphael Collet b99398fa29 [IMP] registry: make class Registry inherit from abstract class collections.Mapping
bzr revid: rco@openerp.com-20130404102524-innz9qu824yfds4b
2013-04-04 12:25:24 +02:00
Vo Minh Thu 27ab383508 [FIX] loading: typo.
lp bug: https://launchpad.net/bugs/1162753 fixed

bzr revid: vmt@openerp.com-20130402092914-cqrjxveg66gbpm3s
2013-04-02 11:29:14 +02:00
Raphael Collet 09be864f1d [IMP] replace all tests like 'registry.get(X)' by 'X in registry' where X is non static
bzr revid: rco@openerp.com-20130329140723-dnrl02saky570xg0
2013-03-29 15:07:23 +01:00
Raphael Collet d3657d858f [IMP] registry: add convenience operators ('in' and 'iter') on registry objects
bzr revid: rco@openerp.com-20130329135853-woi26cl2yiofv7h2
2013-03-29 14:58:53 +01:00
Vo Minh Thu 4ed7ec95b7 [MERGE] removed LocalService("workflow"), Logger class, and TEST log level.
bzr revid: vmt@openerp.com-20130327170639-uamgg7shlmtxgpxv
2013-03-27 18:06:39 +01:00
Vo Minh Thu d6ea526e36 [MERGE] openerp.pooler is deprecated.
bzr revid: vmt@openerp.com-20130327164045-ziw4lj50owdvmfbw
2013-03-27 17:40:45 +01:00
Vo Minh Thu 7b8f4fe5ee [REF] tests: use the openerp.tests namespace for test-related logging.
bzr revid: vmt@openerp.com-20130327153843-u62ftp74qv01u1ww
2013-03-27 16:38:43 +01:00
Vo Minh Thu 1e7e2ca753 [REF] no longer use openerp.pooler.
Either use openerp.modules.registry.RegistryManager when the full
new() signature is needed, or use openerp.registry().

Replaced also some pool.get() with pool[] because KeyErrors
are better than AttributeErrors on None.

bzr revid: vmt@openerp.com-20130327111014-2i0hlvpy5y5ku7hm
2013-03-27 12:10:14 +01:00
Vo Minh Thu 684bd35442 [REF] registry: begin to remove openerp.pooler:
- call openerp.modules.registry.RegistryManager instead
- expose openerp.get_pool()

bzr revid: vmt@openerp.com-20130327093125-iqsyvvjm0ej7do14
2013-03-27 10:31:25 +01:00
Vo Minh Thu a4fbd26541 [REF]: use openerp.workflow instead of LocalService("workflow").
bzr revid: vmt@openerp.com-20130326162040-kkq46wrur3pgn6eh
2013-03-26 17:20:40 +01:00
Vo Minh Thu c313b4073a [REF] logging: removed pseudo log-level TEST.
When --test-enable is used, it is expected that test output is visible,
thus using log-level INFO is natural.

On the down side you lose the nice blue hint that tests did actually
run when --log-level test was given.

bzr revid: vmt@openerp.com-20130326155844-83e2tcqokvblr0ln
2013-03-26 16:58:44 +01:00
Vo Minh Thu b08d7ef6bd [REF] ir.actions.report.xml: register_all do not make sense any more:
auto=True reports are looked up in the database for each rendering, so they do
no have to be in the report registry any longer.
auto=False reports will register themselves but at this point
they can be updated to use the new `parser` XML attribute.

bzr revid: vmt@openerp.com-20130322153955-s6nyux2pyez6c01w
2013-03-22 16:39:55 +01:00
Vo Minh Thu ef127fddc7 [IMP] netsvc: removed unused import.
bzr revid: vmt@openerp.com-20130222145250-qd9v52tu2xt8jyb2
2013-02-22 15:52:50 +01:00
Vo Minh Thu b985c7302f [FIX] openerp namespace: the import hook was still inserting modules in sys.moduls at their shortname.
bzr revid: vmt@openerp.com-20130218164839-2qludhn3znpdftq5
2013-02-18 17:48:39 +01:00
Vo Minh Thu 9f9c9585a1 [REF] Removed support for __terp__.py files and `terp` root elements in XML files.
bzr revid: vmt@openerp.com-20130212152328-flpn1tbz75lhi2m2
2013-02-12 16:23:28 +01:00
Vo Minh Thu 96f7f49b3e [MERGE] Latest bugfixes from 7.0, up to rev 4834.
bzr revid: vmt@openerp.com-20130212104546-v2w5k59egx1fiony
2013-02-12 11:45:46 +01:00
Vo Minh Thu e746cb1654 [FIX] registry: fix a bug where RegistryManager.new() could return an out-of-date registry.
bzr revid: vmt@openerp.com-20130212085311-o53wv7yful39kktd
2013-02-12 09:53:11 +01:00
Vo Minh Thu 69fefde965 [IMP] The open openerp namespace is removed.
bzr revid: vmt@openerp.com-20130209060246-o7qs51c2uc0kecjo
2013-02-09 07:02:46 +01:00
Christophe Simonis 4857a8a020 [FIX] module loading: call adapt_version() instead of computing it ourself
bzr revid: chs@openerp.com-20130117135108-a4wt4wtbtfdwiui3
2013-01-17 14:51:08 +01:00
Raphael Collet e7ce4a4529 [MERGE] from trunk
bzr revid: rco@openerp.com-20121221134259-scc92nby1dn91pe8
2012-12-21 14:42:59 +01:00
Olivier Dony 4fd1bc7b3c [IMP] cron: remove useless pooljobs and schedule_cron_jobs methods
The pooljobs and scheduled_cron_jobs stuff was only used to
delay the processing of cron jobs until after the registry
was fully loaded. However this is already the case because
RegistryManager.new() only sets the flag at the end of the
init step.
The flag was named `registry.cron` but simply meant that the
registry was fully loaded and ready, so it is simpler to
rename it to `registry.ready`.

In multiprocess mode this flag is enterily irrelevant
so there is no need to selectively set it to True or
False. `registry.ready` is simpler.

bzr revid: odo@openerp.com-20121221133751-h4x670vblfr3d09e
2012-12-21 14:37:51 +01:00
Olivier Dony e373ac5aeb [MERGE] *: fix/rationalize db logging to avoid incorrect values during logging
The setting/clearing of the tracking were not done
consistently, causing log messages that appeared
to come from one database while coming from another
one or none at all.

The tracker is now set at the earliest points
of request handling as possible:
- in web, when creating WebRequests (dbname, uid)
- at RPC dispatching in server (uid)
- at cron job acquisition in CronWorker (dbname)
- at Registry acquisition in RegistryManager (dbname)


The tracker is cleared at the very entrance of
the request in the WSGI `application`, ensuring
that no logging is produced with an obsolete
db name. (It cannot be cleared at the end of
the request handling because the werkzeug
wrapper outputs more logging afterwards)

bzr revid: odo@openerp.com-20130301182510-1fqo9o8di0jw95b5
2013-03-01 19:25:10 +01:00
Olivier Dony 9770caedf3 [FIX] registry: another pass of cleanup for registry signaling
Some important points to consider:
 - signaling should be done after any schema alteration (including module [un]installation),
   service registration (e.g. reports)
 - the changes need to be committed to the database *before* signaling, otherwise an
   obvious race condition occurs during reload by other workers
 - any call to restart_pool() must be considered a possible candidate for
   signaling, and the 2 above conditions must be checked

The number of explicit calls was reduced by forcing the signaling at the end of
Registry.new() in case `update_module` was passed as True. In that situation
we always want to signal the changes - so all the redundant signaling calls
can be centralized. We can also assume that the relevant changes have already
been committed at that point, otherwise the registry update would not
have worked in the first place.
This means that there is no need for explicit signaling anymore everytime
`restart_pool` is called with `update_module=True`.

Some missing cr.commit() and explicit signaling calls were added or
moved to the right place. As a reminder: signaling must be done
*after* committing the changes, and usually *after* reloading the
registry on the current worker.

bzr revid: odo@openerp.com-20130301143203-e2csf5pkllwhmwqs
2013-03-01 15:32:03 +01:00
Olivier Dony db81edc287 [FIX] *: fix/rationalize db logging to avoid incorrect values during logging
The setting/clearing of the tracking were not done
consistently, causing log messages that appeared
to come from one database while coming from another
one or none at all.

The tracker is now set at the earliest points
of request handling where we can:
- in web client, when creating WebRequests (dbname, uid)
- at RPC dispatching in server (uid)
- at cron job acquisition in CronWorker (dbname)
- at Registry acquisition in RegistryManager (dbname)


The tracker is cleared at the very entrance of
the request in the WSGI `application`, ensuring
that no logging is produced with an obsolete
db name. (It cannot be cleared at the end of
the request handling because the werkzeug
wrapper outputs more logging afterwards)

bzr revid: odo@openerp.com-20130301120744-jfitcmze2jldecod
2013-03-01 13:07:44 +01:00
Antony Lesuisse 1a5b4160ef [FIX] logging level of pooler loading, number of modules is info, the actual list of modules is debug
bzr revid: al@openerp.com-20130218121441-i8tidklmhafudp4k
2013-02-18 13:14:41 +01:00
Antony Lesuisse 565853b732 [MERGE] trunk
bzr revid: al@openerp.com-20121219030106-i59u10tml3baqvun
bzr revid: al@openerp.com-20121219150107-8l92w2bi510yem45
2012-12-19 16:01:07 +01:00
Raphael Collet 95b41b40e9 [IMP] register_hook: improve a bit the code
bzr revid: rco@openerp.com-20121219132138-npf12n5l5ug6ujvx
2012-12-19 14:21:38 +01:00
Raphael Collet fd5dee2267 [MERGE] from trunk
bzr revid: rco@openerp.com-20121219130750-3ljqo3dyz05zww08
2012-12-19 14:07:50 +01:00
Olivier Dony 9f77d2e2f4 [FIX] orm,registry: properly check m2o FKs during model update + fix some models `auto_init`ed multiple times
The case where no constraint existed at all was not working,
and after fixing it, the ORM started to re-create the same
constraints multiple times for some modules. This was for
models that are split within a module (such as res.users in
base, which is made of several small classes): all the
partial models were going through _auto_init instead
of only the final one - doing useless extra work.
      
Unfortunately establishing the FK happens before the
XML data files are loaded, so a number of FK and
NOT NULL constraints failed to apply due to missing
tables/records. base.sql had to be extended a bit
to cover these cases in a minimalist fashion

bzr revid: odo@openerp.com-20121217214645-av9n003yzterhujw
2012-12-17 22:46:45 +01:00
Christophe Simonis 0c7f17c0ac merge upstream
bzr revid: chs@openerp.com-20121217172614-3z1pstu5th26wuuc
2012-12-17 18:26:14 +01:00
Olivier Dony f0c826cec6 [IMP] loading.py: lint cleanup - unused code
bzr revid: odo@openerp.com-20121217151626-1pbzf7mxh9inx1y9
2012-12-17 16:16:26 +01:00
Antony Lesuisse 14ad37779c cleanups
bzr revid: al@openerp.com-20121216015214-kfo6zlarh4gdccrx
2012-12-16 02:52:14 +01:00
Vo Minh Thu 08a082f63f [FIX] registry: Set the fields_by_model attribute in __init__(), use None to flag non-existing fields-per-model cache.
bzr revid: vmt@openerp.com-20121214141114-em9r66e3sfy21t2r
2012-12-14 15:11:14 +01:00
Vo Minh Thu 3667e3c619 [IMP] module loading: removed unnecessary indentation, added comments.
bzr revid: vmt@openerp.com-20121214105820-9nlgzu9pm7cvh1pz
2012-12-14 11:58:20 +01:00
Vo Minh Thu f668a123d9 [IMP] Reduce considerably the loading time of a new registry.
Loading time was mesured on the loading of a second database (identical to the
first one), i.e. by passing -d xx,yy on the command line, using cProfile. The
databases were installed with sale, mrp, and the crm.

The cProfile code is commited as part of this patch and should be removed (or
maybe guarded by some command-line flag) (just as the commenting-out of the
cron startup).

The patch was also applied on top of the trunk-simple-table-stats-vmt branch
which provides SQL queries counters.

Results indicate that the number of SQL queries are reduced from about 2100 to
27. Loading time is reduced from 1.3s to 0.26s (i.e. improved by 5).

Changes:

All calls to ir_model_fields to fetch manual (custom) fields are done in a
single call (prior to instanciate all models).

Checks for empty module descriptions are not done unless we are in init or
update mode. (The behavior was the opposite, which was probably a mistake).

Some calls to ir_translation, passing en_US because there was no lang in the
context, are not done anymore.

The improved time is also a result of a change in the decimal_precision module
where precision_get fetches all digits/applications instead of one at a time
(and thus implements its own caching instead of relying on
openerp.tools.ormache).

bzr revid: vmt@openerp.com-20121211105954-lwgs5js7yw3tzghs
2012-12-11 11:59:54 +01:00
Christophe Simonis 236df95b22 merge upstream
bzr revid: chs@openerp.com-20121210132406-9ro3amw6s6pzeez4
2012-12-10 14:24:06 +01:00
Antony Lesuisse ae45df93a4 misc
bzr revid: al@openerp.com-20121209190543-83hmvyfcu1af7wiv
2012-12-09 20:05:43 +01:00
Antony Lesuisse f4977b1f44 cron registrymanager removal
bzr revid: al@openerp.com-20121209175300-rhwf9n0y29o7ct19
2012-12-09 18:53:00 +01:00
Antony Lesuisse 42f292af93 cron cleanup, back to the Kernighan KISS roots 1min poll time, rely only on database, multiprocess/multiserver ready.
Nota: If we replace sequence signaling for cache invalidation with pg
listen/notify in the future, we will use the same mechanism for more accurate
cron timing.

bzr revid: al@openerp.com-20121209170447-zs0k3jazokylwvar
2012-12-09 18:04:47 +01:00
Antony Lesuisse f224ce1d8b [IMP] cli first command testjs
bzr revid: al@openerp.com-20121209024618-cae0ux1vmo38ccwr
2012-12-09 03:46:18 +01:00
Antony Lesuisse 3d2a09a973 multiprocessing signaling manually backported from 6.1
bzr revid: al@openerp.com-20121208181151-lfy956ysnok5b5hf
2012-12-08 19:11:51 +01:00
Christophe Simonis 69d057efc5 merge upstream
bzr revid: chs@openerp.com-20121201003326-j6n5r8juz16752j5
bzr revid: chs@openerp.com-20121204165557-u1oxocye3la4r6gf
bzr revid: chs@openerp.com-20121205143722-olswf8gsg8mhref3
2012-12-05 15:37:22 +01:00