Skip to Content.
Sympa Menu

en - Re: [sympa-users] After Upgrade to 6.1.11

Subject: The mailing list for listmasters using Sympa

List archive

Chronological Thread  
  • From: Amos <address@concealed>
  • To: David Verdin <address@concealed>
  • Cc: Alex Hanselka <address@concealed>, "address@concealed >> address@concealed" <address@concealed>
  • Subject: Re: [sympa-users] After Upgrade to 6.1.11
  • Date: Mon, 13 May 2013 16:16:46 -0500

Just out of curiosity, is 6.2 not too far away?




On Wed, May 16, 2012 at 7:54 AM, David Verdin <address@concealed> wrote:
Hi Alex,

You're not a pain, Sympa support of Postgres is. Fortunately, this will come to an end with 6.2. I'll explain at the end of this message.

First, your problem: Until Sympa 6.1.10, The exclusion table was not robot aware: there was no information about which robot hosted the list you wanted to be excluded from. Consequently, if a user excluded herself from a list called "list@robot1", she was excluded from other lists having the same name on other robots. Fat chance this could lessa to actual problems, but it could happen.
So we added a robot column to the exclunios table and developped an upgrade process that adds the right robot information to any existing exclusion entry.

What you need to do now is adding to the "exclusion_table" table a column called "robot_exclusion", then rerun the upgrade process (edit the etc/data_structure.version file. replace "6.1.11" by "6.1.10" and run sympa.pl --upgrade again).

Second: Sympa support of Postgres:
Any user whose DB backend is PostgreSQL, Sybase orOracle will have the two problems you met, ecxept if they update their database structure first.
To make sure these troubles will stop, the next version of Sympa has a completely rewritten RDBMS support. The parts related to RDBMS-specific function or queries (mainly database structure related) are embedded in RDBMS-spcific modules called "DBManipulator<RDBMSname>.pm". I attached the Postgres module to this mail so that you can have a glimpse at what it is.

Shortly: all the code of Sympa is now completely RDBMS agnostic. It uses generic function, such as "add_table", "set_index", "add_field" or "update_field". This function all exist in each RDBMS module (such as DBManipulatorPostgres.pm attached here) and contain the queries that need to be used for the corresponding RDBMS.

This way, we hope that it will be easier to have contributions by people using theses RDBMS. Indeed, we (the Sympa authors) have expertship in MySQL only. The support of all the other RDBMS relies on contributions only. Now, people knowing the other RDBMS will be able to contribute by simply providing us the queries (or successions of queries) necessary to do some operations: add a field, add a table, update a field type, etc.

For now, the work is done for MySQL, SQLite and PostgreSQL. We have a contribution ongoing for Oracle (11gR2).
Sybase, anybody? ;-)

Meanwhile, we'll tag a new stable version in which we'll make more emphasis on the necessary upgrade of the database structure before running sympa.pl --upgrade.

Sorry for this inconvenience.

Best regards,

David

Le 15/05/12 17:36, Alex Hanselka a écrit :

That fixed the issue, but while running the upgrade, I also got this error

notice Upgrade::upgrade() fixing robot column of exclusion table.
DBD::Pg::st execute failed: ERROR:  column "robot_exclusion" of relation "exclusion_table" does not exist
LINE 1: UPDATE exclusion_table SET robot_exclusion = 'lists.darkdna....
                                    ^ at /srv/sympa/bin/Upgrade.pm line 737.
err Upgrade::upgrade() Unable to execute SQL statement "UPDATE exclusion_table SET robot_exclusion = 'lists.darkdna.net' WHERE list_exclusion='serverstatus' AND user_exclusion='ldaptest3@darkdna.net'" : ERROR:  column "robot_exclusion" of relation "exclusion_table" does not exist
LINE 1: UPDATE exclusion_table SET robot_exclusion = 'lists.darkdna....
                                    ^
notice Upgrade::upgrade() Caching all lists config subset to database

Sorry that I have become a pain :)

Alex


On May 15, 2012, at 10:12 AM, David Verdin wrote:

Hi,

Postgres is not upgraded automatically - at least in 6.1, It will be starting 6.2.

To create the list_table table, please use the following requests:

CREATE TYPE type_list_status AS ENUM ('open', 'closed', 'pending', 'error_config', 'family_closed');
CREATE TABLE list_table (
    creation_email_list    varchar(100),
    creation_epoch_list    timestamptz,
    editors_list        varchar(100),
    name_list        varchar(100) NOT NULL,
    owners_list        varchar(100),
    path_list        varchar(100),
    robot_list        varchar(100) NOT NULL,
    status_list        type_list_status,
    subject_list        varchar(100),
    topics_list        varchar(100),
    web_archive_list    int2,
    constraint ind_list primary key (name_list,robot_list)
);

After that, you should edit the etc/data_structure.version file. replace "6.1.11" by "6.1.10" and run sympa.pl --upgrade again.

Regards,

David




  • Re: [sympa-users] After Upgrade to 6.1.11, Amos, 05/13/2013

Archive powered by MHonArc 2.6.19+.

Top of Page