Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Commits on Oct 1, 2013
  1. Setup new 1.1.0 version

Commits on Aug 13, 2013
Commits on Aug 9, 2013
Commits on Jul 6, 2013
  1. Adjust emaj_hist function and event columns content for consistency.

    Revert the change of the MARK_DELETED event into DELETE_MARK. Change the CLEANUP_ROLLBACK_STATE hist_function into CLEANUP_RLBK_STATE. And replace the (DBLINK, OPEN CNX) and (DBLINK, CLOSE CNX) hist_function + hist_event into simple DBLINK_OPEN_CNX and DBLINK_OPEN_CNX hist_function records.
Commits on Jun 19, 2013
  1. Add the emaj 1.0.2 to 1.1.0 migration script, with its regression tests.

    Also move the dblink extension detection at the end of the installation procedure.
Commits on May 26, 2013
Commits on May 25, 2013
  1. for security reason, revoke the access to the emaj_param table to ema…

    …j_viewer role. Instead, create a new emaj_visible_param view that provides the same visibility, except for the value of the new 'dblink_user_password' parameter that is masked and grant select to emaj_adm and emaj_viewer roles.
  2. Transform all rollback identifiers into integer rather than bigint. A…

    …ll other E-Maj ids are of type bigint, but it seems to be largely overstated for this case.
  3. Process some code cleaning.

    Suppress trailing spaces, add or adjust some comments, align type clauses in DECLARE sections, replace remaining ':=' by '=' operators.
Commits on May 23, 2013
  1. The primary index of each log table is declared as CLUSTER to help th…

    …e log tables reorganization.
  2. Modify _rlbk_async() function to return the total number of processed…

    … tables and sequences, like other main rollback functions.
Commits on Apr 9, 2013
  1. Change the definition of the index on log tables by removing the DESC…

    … clause for the emaj_tuple column. With the new rollback coding, this specific ordering is now useless.
  2. Remove from the create_group, drop_group and verify_group processings…

    … the per table rollback functions that are now useless. Improve the CHANGES file to report the optimizations done in the rollback processing.
  3. Finaly simplify the rollback duration estimation model for DELETE_LOG…

    … steps by keeping estimated quantities in emaj_rlbk_stat, instead of real quantities. This is also more coherent with what is done for other steps and do not lead to really less accurate estimates.
Commits on Apr 5, 2013
  1. In rollback operations, use TEMP table when the number of rollback se…

    …ssions = 1. Otherwise, use UNLOGGED table with pg9.1+ or standart table with pg 9.0-.
  2. In the parallel rollback client (emajParallelRollback.php), avoid a 2…

    … phase commit when only a single session is used.
    This allows to use TEMP tables in the rollback processing when the number of requested session equals 1. Also call the
    _rlbk_init() function after the transactions have been started.
Commits on Mar 27, 2013
  1. Improve the rollback operations. Set the fixed_dblink_cost default va…

    …lue to 4 ms. Adjust the way steps duration are recorded. Remove the 'LOCK_TABLE' event from the emaj_rlbk_plan table at the end of the rollback operation (they are not useful any more). For each rollback operation, add a pseudo 'CTRL+DBLINK' or 'CTRL-DBLINK' step to estimate and record the time needed to chain the steps execution, with ou without using dblink connections. Use them in all time estimations. And some minor coding improvements.
Commits on Mar 23, 2013
  1. Improve the emajRollbackMonitor.php client. It now displays also the …

    …most recently completed operations. And a bug has been fixed.
  2. Improve the transactional aspects of the rollback operations.

    Reject the dblink connection if the transaction is not in READ COMMITTED isolation level.
    For parallel rollbacks (number of sessions > 1), check that the dblink connection is possible (otherwise, it generates endless locks between sessions).
    Being in READ COMMITTED isolation level, optimize the accesses to rollback tables by avoiding to use dblink for SELECT only statements.
    Rename into 'rlbk#' the dblink connection name suffix used for rollback operations.
Commits on Mar 22, 2013
  1. In the installation procedure, set the dblink installation as only op…

    …tional. If dblink is not already installed at E-Maj installation time, issue a warning message to advise to also install dblink.
Commits on Mar 21, 2013
  1. In both emajParallelRollback.php and emajRollbackMonitor.php clients,…

    … improve the help display.
  2. Include tests of clients (emajParallelRollback.php and emajRollbackMo…

    …nitor.php) into a new client.sql script added to the non regression tests scenarios. Also remove some old references to pg 8.2 test environment.
  3. A new client, emajRollbackMonitor.php, is provided to monitor E-Maj r…

    …ollback operations that are currently in progress.
Commits on Mar 20, 2013
  1. Adjust the rollback duration estimate model.

    Adjust some costs. Rename the 'fixed_table_with_rollback_duration' parameter into 'fixed_step_rollback_duration' to better reflect its meaning. Create and use a new 'fixed_dblink_rollback_duration' parameter to systematicaly take into account the dblink overhead.
    In passing, optimize the duration estimate processing by directly inserting the duration estimate at insert time for steps easy to evaluate.
  2. Fix a bug in the _estimate_rollback_groups() function. It returned NU…

    …LL when there was no update to rollback.
Commits on Mar 19, 2013
  1. Improve the checks on groups content performed at emaj_create_group()…

    … and emaj_alter_group() time.
    Replace the _check_class() function by a new _check_group_content() function. This function performs similar checks but in a more efficient set oriented manner. It also checks that no application table belongs to an E-Maj secondary schema. When a check fails, it now returns the list of faulting tables and not only the first detected.
Commits on Mar 18, 2013
  1. AUTHORS file update.

  2. In _rlbk_start_mark() and _rlbk_end() functions, improve the way the …

    …mark names are built, by simply using the rollback start time already stored into the emaj_rlbk table.
  3. Create a new technical function named _rlbk_async and dedicated to th…

    …e phpPgAdmin plugin. It calls the main internal rollback functions after initialisation. Called asynchronously, it allows the ppa plugin to switch on the rollback monitoring just after the rollback submission.
  4. Add a rlbk_msg column into the emaj_rlbk table to store a final messa…

    …ge for the rollback operation (either OK or KO).
    Store a completion message (similar to the message inserted into the emaj_hist table) when the operation goes well.
    And trap the errors in all main rollback functions to populate this new column if a problem occurs.
    (Some additional trapping to add when pg 8.3 will not be supported any more)
Commits on Mar 10, 2013
Commits on Mar 1, 2013
  1. Add a new emaj_rollback_activity() function that provides information…

    … about in progress rollback operations.
    It returns a set of rows of type emaj_rollback_activity_type. They contain a description of each running rollback operation, as well as a remaining duration estimate and a percentage of work already done.
    emaj_adm and emaj_viewer roles can call it.
Something went wrong with that request. Please try again.