Changeset 15941
- Timestamp:
- 2008-06-09T17:15:24+12:00 (16 years ago)
- Location:
- gsdl/trunk/src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
gsdl/trunk/src/colservr/sqlbrowsefilter.cpp
r15836 r15941 110 110 { 111 111 text_t metadata_element_name = ""; 112 text_t metadata_value_filter = ""; 112 113 OptionValue_tarray::const_iterator options_iterator = request.filterOptions.begin(); 113 114 while (options_iterator != request.filterOptions.end()) … … 117 118 metadata_element_name = (*options_iterator).value; 118 119 } 120 if ((*options_iterator).name == "MetadataValueFilter") 121 { 122 metadata_value_filter = (*options_iterator).value; 123 } 119 124 options_iterator++; 120 125 } 121 126 122 text_tarray metadata_values = sql_db_ptr->get_metadata_values (metadata_element_name );127 text_tarray metadata_values = sql_db_ptr->get_metadata_values (metadata_element_name, metadata_value_filter); 123 128 124 129 // Create a map from metadata value to ResultDocInfo_t, to remove duplicate values and obtain occurrence counts -
gsdl/trunk/src/lib/sqldbclass.h
r15836 r15941 48 48 49 49 // returns array of values 50 virtual text_tarray get_metadata_values (const text_t &metadata_element_name) = 0; 50 virtual text_tarray get_metadata_values (const text_t &metadata_element_name, 51 const text_t &metadata_value_filter) = 0; 51 52 }; 52 53 -
gsdl/trunk/src/lib/sqlitedbclass.cpp
r15849 r15941 193 193 194 194 // returns array of values 195 text_tarray sqlitedbclass::get_metadata_values (const text_t &metadata_element_name) 195 text_tarray sqlitedbclass::get_metadata_values (const text_t &metadata_element_name, 196 const text_t &metadata_value_filter) 196 197 { 197 198 text_tarray metadata_values; … … 205 206 // Get the entries in the "document_metadata" table where the element matches that specified 206 207 text_t sql_cmd = "SELECT value FROM document_metadata WHERE element='" + sqlite_safe(metadata_element_name) + "'"; 208 209 // Add value filter, if one has been defined 210 if (metadata_value_filter != "") 211 { 212 sql_cmd += " AND value LIKE '" + metadata_value_filter + "'"; 213 } 214 207 215 vector<text_tmap> sql_results; 208 216 if (!sqlgetarray(sql_cmd, sql_results) || sql_results.size() == 0) -
gsdl/trunk/src/lib/sqlitedbclass.h
r15849 r15941 60 60 61 61 // returns array of values 62 text_tarray get_metadata_values (const text_t &metadata_element_name); 62 text_tarray get_metadata_values (const text_t &metadata_element_name, 63 const text_t &metadata_value_filter); 63 64 64 65 // returns true on success -
gsdl/trunk/src/protocol/recptprototools.cpp
r15836 r15941 251 251 252 252 253 bool get_metadata_values (const text_t metadata_element_name, const text_t &collection, 254 recptproto *collectproto, FilterResponse_t &response, ostream &logout) 253 bool get_metadata_values (const text_t metadata_element_name, const text_t metadata_value_filter, 254 const text_t &collection, recptproto *collectproto, 255 FilterResponse_t &response, ostream &logout) 255 256 { 256 257 response.clear(); … … 267 268 request_option.value = metadata_element_name; 268 269 request.filterOptions.push_back (request_option); 270 request_option.name = "MetadataValueFilter"; 271 request_option.value = metadata_value_filter; 272 request.filterOptions.push_back (request_option); 269 273 270 274 assert (collectproto != NULL); -
gsdl/trunk/src/protocol/recptprototools.h
r15836 r15941 68 68 ostream &logout); 69 69 70 bool get_metadata_values (const text_t metadata_element_name, const text_t &collection, 71 recptproto *collectproto, FilterResponse_t &response, ostream &logout); 70 bool get_metadata_values (const text_t metadata_element_name, const text_t metadata_value_filter, 71 const text_t &collection, recptproto *collectproto, 72 FilterResponse_t &response, ostream &logout); 72 73 73 74 bool get_documents_with_metadata_value (const text_t metadata_element_name, const text_t metadata_value,
Note:
See TracChangeset
for help on using the changeset viewer.