Index: openacs-4/packages/acs-content-repository/sql/oracle/content-symlink.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/oracle/content-symlink.sql,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-content-repository/sql/oracle/content-symlink.sql	30 Sep 2003 12:10:01 -0000	1.2
+++ openacs-4/packages/acs-content-repository/sql/oracle/content-symlink.sql	23 Jan 2004 04:31:10 -0000	1.3
@@ -147,6 +147,7 @@
   target_folder_id	in cr_folders.folder_id%TYPE,
   creation_user		in acs_objects.creation_user%TYPE,
   creation_ip		in acs_objects.creation_ip%TYPE default null
+  name                  in cr_items.name%TYPE default null
 ) is
   v_current_folder_id   cr_folders.folder_id%TYPE;
   v_name		cr_items.name%TYPE;
@@ -165,11 +166,9 @@
     where
       item_id = copy.symlink_id;
 
-    -- can't copy to the same folder
-    if copy.target_folder_id ^= v_current_folder_id then
 
       select
-        i.name, content_symlink.resolve(i.item_id), s.label
+        i.name content_symlink.resolve(i.item_id), s.label
       into
         v_name, v_target_id, v_label
       from
@@ -179,7 +178,16 @@
       and
         s.symlink_id = copy.symlink_id;
 
+    if copy.name = '' then
+      copy.name := NULL;
+    end if;
 
+-- can't copy to the same folder
+    if copy.target_folder_id ^= v_current_folder_id or (v.name != copy.name and copy.name is not null) then
+
+    if copy.name is not null then
+      v_name := copy.name;
+    end if;
       if content_folder.is_registered(copy.target_folder_id,
         'content_symlink') = 't' then
         if content_folder.is_registered(copy.target_folder_id,
