Index: openacs-4/packages/acs-content-repository/acs-content-repository.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/acs-content-repository.info,v diff -u -r1.103.2.9 -r1.103.2.10 --- openacs-4/packages/acs-content-repository/acs-content-repository.info 17 Oct 2013 09:05:21 -0000 1.103.2.9 +++ openacs-4/packages/acs-content-repository/acs-content-repository.info 25 Dec 2013 16:10:31 -0000 1.103.2.10 @@ -7,7 +7,7 @@ t t - + OpenACS The canonical repository for OpenACS content. 2013-09-08 @@ -20,7 +20,7 @@ GPL 3 - + Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-create.sql,v diff -u -r1.60.2.1 -r1.60.2.2 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-create.sql 16 Sep 2013 09:49:28 -0000 1.60.2.1 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-create.sql 25 Dec 2013 16:10:31 -0000 1.60.2.2 @@ -494,6 +494,7 @@ -- create index cr_revisions_lower_title_idx on cr_revisions(lower(title)); -- create index cr_revisions_title_ltr_idx on cr_revisions(substr(lower(title), 1, 1)); +create index cr_revisions_content_idx on cr_revisions (substring(content for 100)); comment on table cr_revisions is ' Each content item may be associated with any number of revisions. Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.8.1d5-5.8.1d6.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs-oracle.xql,v diff -u -r1.4 -r1.4.22.1 --- openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs-oracle.xql 13 Feb 2003 14:42:53 -0000 1.4 +++ openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs-oracle.xql 25 Dec 2013 16:10:31 -0000 1.4.22.1 @@ -13,4 +13,10 @@ + + + SELECT count(*) FROM cr_revisions WHERE content = :name + + + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs.tcl,v diff -u -r1.7.2.1 -r1.7.2.2 --- openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs.tcl 25 Dec 2013 12:40:13 -0000 1.7.2.1 +++ openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs.tcl 25 Dec 2013 16:10:31 -0000 1.7.2.2 @@ -76,28 +76,29 @@ ## -ad_proc cr_check_orphaned_files {-delete:boolean} { +ad_proc cr_check_orphaned_files {-delete:boolean {-mtime ""}} { Check for orphaned files in the content respository directory, and delete such files if required. Orphaned files might be created, when files add added to the content repository, but the transaction is being aborted. @param -delete delete the orphaned files + @param -mtime same semantics as mtime in the file command } { - package require fileutil - set cr_root [nsv_get CR_LOCATIONS CR_FILES] set root_length [string length $cr_root] set result "" # For every file in the content respository directory, check if this # file is still referenced from the content-revisions. - foreach f [::fileutil::find $cr_root "file isfile"] { + set cmd [list exec find $cr_root -type f] + if {$mtime ne ""} {lappend cmd -mtime $mtime} + foreach f [split [{*}$cmd] \n] { set name [string range $f $root_length end] if {![regexp {^[0-9/]+$} $name]} continue - set x [db_string _ {select count(*) from cr_revisions where content = :name}] + set x [db_string fetch_path { *SQL* }] if {$x > 0} continue lappend result $f Index: openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs.xql,v diff -u -r1.5 -r1.5.22.1 --- openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs.xql 13 Feb 2003 14:42:54 -0000 1.5 +++ openacs-4/packages/acs-content-repository/tcl/acs-content-repository-procs.xql 25 Dec 2013 16:10:31 -0000 1.5.22.1 @@ -1,16 +1,6 @@ - - - SELECT distinct crftd.path, crftd.storage_area_key - FROM cr_files_to_delete crftd - WHERE not exists (SELECT 1 - FROM cr_revisions r - WHERE r.content = crftd.path) - - - delete from cr_files_to_delete