Changeset 31208 for main/trunk/greenstone2/perllib/DBDrivers/JDBM.pm
- Timestamp:
- 2016-12-12T15:20:40+13:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/DBDrivers/JDBM.pm
r31188 r31208 79 79 80 80 81 # jdb also creates .lg log files, that don't get removed on delete or move operations 82 # Make sure to rename them to when performing a rename operation on the main db file. 83 # dbutil::renameTo(src,dest) already took care of renaming the main db file. 84 sub rename_db_file_to { 85 my $self = shift(@_); 86 87 $self->SUPER::rename_db_file_to(@_); 88 my ($srcpath, $destpath) = @_; 89 90 my ($srctailname, $srcdirname, $srcsuffix) 91 = &File::Basename::fileparse($srcpath, "\\.[^\\.]+\$"); 92 my ($desttailname, $destdirname, $destsuffix) 93 = &File::Basename::fileparse($destpath, "\\.[^\\.]+\$"); 94 95 # add in the lg extension 96 my $src_log_file = &FileUtils::filenameConcatenate($srcdirname, $srctailname.".lg"); 97 my $dest_log_file = &FileUtils::filenameConcatenate($destdirname, $desttailname.".lg"); 98 99 # finally, move/rename any log file belonging to the src db file 100 if(&FileUtils::fileExists($src_log_file)) { 101 &FileUtils::moveFiles($src_log_file, $dest_log_file); 102 } 103 104 # don't want to keep the log file for any files renamed to bak (backup file) though 105 if($destsuffix =~ m/bak$/) { 106 my $assoc_log_file = &FileUtils::filenameConcatenate($destdirname, $desttailname.".lg"); 107 if(&FileUtils::fileExists($assoc_log_file)) { 108 &FileUtils::removeFiles($assoc_log_file); 109 } 110 } 111 112 } 113 114 sub remove_db_file { 115 my $self = shift(@_); 116 117 print STDERR "###### |".join(",", @_) . "|\n"; 118 119 $self->SUPER::remove_db_file(@_); 120 my ($db_filepath) = @_; 121 122 # add in the lg extension to get the log file name 123 my ($tailname, $dirname, $suffix) = &File::Basename::fileparse($db_filepath, "\\.[^\\.]+\$"); 124 my $assoc_log_file = &FileUtils::filenameConcatenate($dirname, $tailname.".lg"); 125 126 # remove any log file associated with the db file 127 if(&FileUtils::fileExists($assoc_log_file)) { 128 &FileUtils::removeFiles($assoc_log_file); 129 } 130 131 } 132 133 134 81 135 # ----------------------------------------------------------------------------- 82 136 # JDBM IMPLEMENTATION
Note:
See TracChangeset
for help on using the changeset viewer.