Changeset 15941 for gsdl/trunk/src/lib


Ignore:
Timestamp:
2008-06-09T17:15:24+12:00 (16 years ago)
Author:
mdewsnip
Message:

(Adding dynamic classifiers) Added a new "metadata value filter" argument to the SQL browse filter requests, in order to support hierarchical dynamic classifiers.

Location:
gsdl/trunk/src/lib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • gsdl/trunk/src/lib/sqldbclass.h

    r15836 r15941  
    4848
    4949  // 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;
    5152};
    5253
  • gsdl/trunk/src/lib/sqlitedbclass.cpp

    r15849 r15941  
    193193
    194194// returns array of values
    195 text_tarray sqlitedbclass::get_metadata_values (const text_t &metadata_element_name)
     195text_tarray sqlitedbclass::get_metadata_values (const text_t &metadata_element_name,
     196                        const text_t &metadata_value_filter)
    196197{
    197198  text_tarray metadata_values;
     
    205206  // Get the entries in the "document_metadata" table where the element matches that specified
    206207  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
    207215  vector<text_tmap> sql_results;
    208216  if (!sqlgetarray(sql_cmd, sql_results) || sql_results.size() == 0)
  • gsdl/trunk/src/lib/sqlitedbclass.h

    r15849 r15941  
    6060
    6161  // 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);
    6364
    6465  // returns true on success
Note: See TracChangeset for help on using the changeset viewer.