Changeset 21856 for main/trunk/greenstone2/perllib/dbutil/sqlite.pm
- Timestamp:
- 2010-03-31T23:08:43+13:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/dbutil/sqlite.pm
r21411 r21856 72 72 73 73 74 sub read_infodb_cmd 75 { 76 my $infodb_file_path = shift(@_); 77 my $sqlcmd = shift(@_); 78 79 my $result = ""; 80 81 my $sqlite3_exe = &util::filename_cat($ENV{'GSDLHOME'},"bin",$ENV{'GSDLOS'}, "sqlite3" . &util::get_os_exe()); 82 my $infodb_handle = undef; 83 my $cmd = "echo \"$sqlcmd\" | \"$sqlite3_exe\" \"$infodb_file_path\""; 84 85 if (!-e "$sqlite3_exe" || !open($infodb_handle, "$cmd |")) 86 { 87 print STDERR "Unable to execute: $cmd\n"; 88 print STDERR "$!\n"; 89 } 90 else { 91 92 my $line; 93 while (defined($line=<$infodb_handle>)) { 94 $result .= $line; 95 } 96 97 close($infodb_handle); 98 } 99 100 return $result; 101 } 102 74 103 sub get_infodb_file_path 75 104 { … … 88 117 my $infodb_map = shift(@_); 89 118 90 # !! TO IMPLEMENT 119 120 my $keys_str = read_infodb_cmd($infodb_file_path,"SELECT key FROM data;"); 121 122 my @keys = split(/\n/,$keys_str); 123 124 foreach my $k (@keys) { 125 126 my $k_safe = &sqlite_safe($k); 127 my $select_val_cmd = "SELECT value FROM data WHERE key='$k_safe';"; 128 129 my $val_str = read_infodb_cmd($infodb_file_path,$select_val_cmd); 130 131 $infodb_map->{$k} = $val_str; 132 } 133 91 134 } 92 135 … … 146 189 147 190 191 sub write_infodb_rawentry 192 { 193 my $infodb_handle = shift(@_); 194 my $infodb_key = shift(@_); 195 my $infodb_val = shift(@_); 196 197 my $safe_infodb_key = &sqlite_safe($infodb_key); 198 print $infodb_handle "INSERT OR REPLACE INTO data (key, value) VALUES ('" . $safe_infodb_key . "', '" . &sqlite_safe($infodb_val) . "');\n"; 199 } 200 201 202 148 203 sub delete_infodb_entry 149 204 {
Note:
See TracChangeset
for help on using the changeset viewer.