Added the necessary database code to convert the contents of event
queues into actual event records. The changes include:
* a new table, events.pending_events, which is automatically filled by
a trigger when events are inserted into queue tables,
* the game.events.batchSize constant which defines the maximal amount
of events to process in a single transaction,
* the events.eq_process() stored procedure, which processes the events.
In addition, the "hstore" extension was added as it is the easiest way
to convert events from the queues' table model to the store's
meta-model.
* Implemented new research update. Old research system no longer
updates.
* Fixed a major bug in the constants registrar
* Added game.research.vacation constant (determines the rate of
research when players are in vacation mode)
* Added game.research.weightBase constant
* Added view which computes the weights for each in-progress research
* Added view which computes total weights per empire
* Added new research-related constants
* Added set of views and functions to list empires' technologies. This
includes a view which determines the visibility of an in-progress
research's details, and a main list view.
* The production adjustment function was completely off (and always has
been). It has been fixed.
* The problem with the adjustment function not being reported means that
no-one ever encountered it. As a consequence, happiness strike threshold
has been increased to 50%
/!\ Full database reset required (or at least much easier than other
options).
* Regrouped component definitions into one single file per package in
most cases, with a few exceptions
* Added documentation about how the configuration is stored and which
guidelines should be followed when adding or modifying Spring component
configurations.
* Spring upgraded from 3.0.3 to 3.1.0 - As a consequence, all code that
used SimpleJdbcTemplate has been modified to use JdbcTemplate, as the
former has been deprecated.
* SLF4J upgraded from 1.5.11 to 1.6.4
* Apache Commons: DBCP upgraded from 1.2.2 to 1.4, Codec upgraded from
1.4 to 1.6
* CGLib upgraded from 2.2 to 2.2.2
* javax.mail upgraded from 1.4.1 to 1.4.4
* XStream upgraded from 1.3.1 to 1.4.2
* JUnit upgraded from 4.7 to 4.10
* FreeMarker upgraded from 2.3.16 to 2.3.18
* PostgreSQL JDBC glue upgraded from 8.4-701 to 9.1-901
* legacyworlds-server-tests no longer considered a dummy package
* Added various views and helper functions used by the mining
computation but which may be re-used in other parts.
* Added mining computation update type and associated update function
* New constants: game.resources.weightBase (the value used to compute
weights from mining settings) and game.resources.extraction (the
quantity extracted in a day from a full provider at difficulty 0)
Implemented resource regeneration computation in the
verse.compute_provider_regeneration() function.
Created the PLANET_RES_REGEN update type, and added the corresponding
implementation.
Added resource regeneration constants registration.