GNUmed server v 11.1 -cannot bootstrap bundles

View: New views
2 Messages — Rating Filter:   Alert me  

GNUmed server v 11.1 -cannot bootstrap bundles

by Jason Beery :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I am currently running CentOS and postgresql-8.4.0 to try to boostrap the gnumed server v11.1 to my postgres database. It boot straps from v2 all the way to 10 when I have the following error:

You are about to install the following parts of GNUmed:
-------------------------------------------------------
bundle "v8-v9-static" in <gnumed_v9> (or overridden) on <>
bundle "v8-v9-dynamic" in <gnumed_v9> (or overridden) on <>
-------------------------------------------------------
This will update an existing GNUmed version 8
database to the version 9 schema. It does not do
any harm to the data contained within.

The existing database is cloned first. The copy is
then modified. The original database remains unchanged.
Do you really want to install this database setup ?
Type yes or no: yes
==> bootstrapping "v8-v9-static" ...
==> dropping pre-existing *target* database [gnumed_v9] ...
==> creating new target database [gnumed_v9] ...
    (this can take a while if [gnumed_v8] is large)
==> transferring users ...
==> bootstrapping "v8-v9-dynamic" ...
==> setting up auditing ...
==> setting up notifications ...
You are about to install the following parts of GNUmed:
-------------------------------------------------------
bundle "v9-v10-static" in <gnumed_v10> (or overridden) on <>
bundle "v9-v10-dynamic" in <gnumed_v10> (or overridden) on <>
bundle "v9-v10-fixups" in <gnumed_v10> (or overridden) on <>
-------------------------------------------------------
This will update an existing GNUmed version 9
database to the version 10 schema. It does not do
any harm to the data contained within.

The existing database is cloned first. The copy is
then modified. The original database remains unchanged.
Do you really want to install this database setup ?
Type yes or no: yes
==> bootstrapping "v9-v10-static" ...
==> dropping pre-existing *target* database [gnumed_v10] ...
==> creating new target database [gnumed_v10] ...
    (this can take a while if [gnumed_v9] is large)
==> transferring users ...
==> bootstrapping "v9-v10-dynamic" ...
Cannot bootstrap bundles.
Please check the log file for details.
Bootstrapping "gnumed_v10" did not finish successfully. Aborting.

Attached is a piece of the boostrap-latest.log file where the error occurs.

Thanks.

Jason



_______________________________________________
Gnumed-devel mailing list
Gnumed-devel@...
http://lists.gnu.org/mailman/listinfo/gnumed-devel

bootstrap-latest.log (4K) Download Attachment

Re: GNUmed server v 11.1 -cannot bootstrap bundles

by Karsten Hilbert :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Jason,

> I am currently running CentOS and postgresql-8.4.0 to try
> to boostrap the gnumed server v11.1 to my postgres database.

...

> 2009-10-28 06:17:06  ERROR   ../sql/v9-v10/dynamic/v10-gm-role_management-dynamic.sql:263: loop variable of loop over rows must be record or row variable at or near "LOOP" at character 496

All three loop variables ("FOR _user") are of type text:

create or replace function gm.get_users(name)
...
DECLARE
        _user text;
BEGIN
        FOR _user in
                select distinct rolname from pg_roles where oid in (
                        select member from pg_auth_members where roleid in (
                                select oid from pg_roles where rolname in (''gm-logins'', ''gm-public'', _db)
                        )
                )
        LOOP

...

        END LOOP;

        FOR _user in select distinct modified_by from audit.audit_fields LOOP

...

        END LOOP;

        FOR _user in select distinct db_user from dem.staff LOOP

...

        END LOOP;
END;'

This is what the 8.4 manual says about FOR LOOP variables:

        38.6.4. Looping Through Query Results

        Using a different type of FOR loop, you can iterate through the results of a query and manipulate that data accordingly. The
        syntax is:

        [ <<label>> ]
        FOR target IN query LOOP
            statements
        END LOOP [ label ];

        The target is a record variable, row variable, or comma-separated list of scalar variables.

Note the "comma-separated list of scalar variables". This
works flawlessly for me on 8.4.1 on Debian. The 8.4.1
release notes show no change regarding FOR LOOP targets:

        http://www.postgresql.org/docs/8.4/static/release-8-4-1.html

Are you entirely sure this is PostgreSQL 8.4 ? It was a
fairly recent change.

If so, I'd suggest asking CentOS about it. It surely is
expected to work (it does work here).

Karsten
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346


_______________________________________________
Gnumed-devel mailing list
Gnumed-devel@...
http://lists.gnu.org/mailman/listinfo/gnumed-devel