Forum OpenACS Development: Test upgrade dotlrn from 2.3.1 to dotlrn-2-4-0a1 on Oracle

I test upgrade dotlrn for Oracle. This test was done with a few data.

The errors are:

  • /acs-content-repository/sql/oracle/upgrade/upgrade-5.4.0d1-5.4.0d2.sql:
    create table images (
                 *
    ERROR at line 1:
    ORA-00955: name is already used by an existing object
    declare
    *
    ERROR at line 1:
    ORA-00001: unique constraint (DOTLRN.ACS_OBJECT_TYPES_PK) violated
    ORA-06512: at "DOTLRN.ACS_OBJECT_TYPE", line 28
    ORA-06512: at "DOTLRN.CONTENT_TYPE", line 46
    ORA-06512: at line 5
    No errors.
    
    The script add a table images and this exist on 2.3.1
  • packages/categories/sql/oracle/upgrade/upgrade-1.1.2d1-1.1.2d2
    Warning: Package created with compilation errors.
    Errors for PACKAGE CATEGORY_TREE:
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    48/5     PL/SQL: Declaration ignored
    48/5     PLS-00410: duplicate fields in RECORD,TABLE or argument list are
             not permitted
    Warning: Package Body created with compilation errors.
    Errors for PACKAGE BODY CATEGORY_TREE:
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    0/0      PL/SQL: Compilation unit analysis terminated
    1/14     PLS-00304: cannot compile body of 'CATEGORY_TREE' without its
             specification
    1/14     PLS-00905: object DOTLRN.CATEGORY_TREE is invalid
    SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    
    Solution: Replace argument require_category_p on procedure map by widget. On package body is all right.
  • I see a error on log on this query:
    select notifications.notification_id
    
                from notifications
    
                minus
    
                select nnr.notification_id
    
                from (select notification_id, user_id
    
                      from notifications, notification_requests, acs_objects
    
                      where notifications.type_id = notification_requests.type_id
    
                        and notifications.object_id = notification_requests.object_i
    
    d
    
                        and notification_requests.request_id = acs_objects.object_id
    
                        and acs_objects.creation_date <= notifications.notif_date) n
    
    nr,
    
                  notification_user_map
    
                where nnr.notification_id = notification_user_map.notification_id(+)
    
                  and nnr.user_id = notification_user_map.user_id(+)
    
                  and notification_user_map.sent_date is null
    
                  and !>>>!notifications.notif_date < sysdate
    
    Solution: Replace notifications.notif_date by nnr.notification_date and add notifiacation_date to from (select notification_id, user_id ... on /pockage/notication/tcl/sweep-procs-oracle.xql Note: On postgres query this condition doesn't exist.

    I'm cvs commiter but I don't know if i should done commit these changes.

    Sorry for my english languaje 😟

Hi Mario,

Thank you for testing and reporting.

The thing is that 2 of those errors affect core (content repository and notifications) which has been released, hum..., yesterday.

If you can, please join the meeting on IRC at 16:00 gmt (18:00 CEST) so we can discuss those issues.

your english if fine, Mario, and your testing even better - thanks.

I'll cut a replacement tarball with the oracle changes which hopefully we'll discuss at today's meeting, as emmanuelle suggests.

Thaks Emmanuelle and Don.

I repeated the update process with changes made by Daveb and what I changed on sweep-procs-oracle.xql and category-tree-package.sql.

The update proccess was ok.
I have commited my changes on cvs.

I saw one problem with install on oracle 10G. Only is for this version of ORACLE. The problem is that oracle 10.2 add a restriction with index on temporaty tables and the index cann't create. "Now a domain index cannot be created on temporary table".
The error is:

create index cr_doc_filter_index on cr_doc_filter ( content )
                                    *
ERROR at line 1:
ORA-29918: cannot create domain indexes on temporary tables