Forum OpenACS Q&A: Oracle 9i Migration Toolkit

Collapse
Posted by Titi Ala'ilima on
Here is version 1.0b of our ACS migration toolkit. There's a shell script to edit your source files, and a tcl script to fix the PL/SQL in your data dictionary. This just covers the main problem with renaming "delete" and "rename" procs. Other issues will still remain, most notable making default values match between package header and body declarations, and fixing the relation segment constraint violation views.
Collapse
Posted by Titi Ala'ilima on
I've run the scripts on an openacs-4 installation, and it looks to be working pretty well.  I entered all the errors I encountered so far into the sdm.  Mostly quick fixes in the PL/SQL.
Collapse
Posted by Doug Harris on
Nice job with the migration toolkit.

I was investigating this issue before I found this toolkit and I discovered another workaround. Rather than renaming the delete procedure, renaming the parameter works as well. For example:

-- original
procedure delete (
  person_id	in persons.person_id%TYPE
 )
 is
 begin
  delete from persons
  where person_id = person.delete.person_id;

  party.delete(person_id);
 end delete;

-- new
procedure delete (
  v_person_id	in persons.person_id%TYPE
 )
 is
 begin
  delete from persons
  where person_id = v_person_id;

  party.delete(v_person_id);
 end delete;
By doing this, you don't need to change pages which call person.delete() because only the formal parameter has changed.

I haven't completely implemented this solution yet, nor have I tried it for rename. I also have a TAR open with Oracle to see if there is a "lax package syntax" flag available or some other easier solution.

Sorry for responding to such an old thread, but it's a current topic for me.