Changeset 16041


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

(Adding dynamic classifiers) Implemented the necessary code for the metadata value grouping expression.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gsdl/trunk/src/lib/sqlitedbclass.cpp

    r16039 r16041  
    202202  }
    203203
     204  // Get the raw "value" field unless a grouping expression was provided (in this case an edited value is returned)
     205  text_t value_select_expression = "value";
     206  if (metadata_value_grouping_expression != "")
     207  {
     208    value_select_expression = metadata_value_grouping_expression;
     209  }
     210
    204211  // Get the entries in the "document_metadata" table where the element matches that specified
    205   text_t sql_cmd = "SELECT DISTINCT docOID,value FROM document_metadata WHERE element='" + sqlite_safe(metadata_element_name) + "'";
     212  text_t sql_cmd = "SELECT DISTINCT docOID," + value_select_expression + " FROM document_metadata WHERE element='" + sqlite_safe(metadata_element_name) + "'";
    206213
    207214  // Add value filter, if one has been defined
     
    211218  }
    212219
     220  // Perform the SQL request
    213221  vector<text_tmap> sql_results;
    214222  if (!sqlgetarray(sql_cmd, sql_results) || sql_results.size() == 0)
     
    222230  {
    223231    text_tmap sql_result = (*sql_results_iterator);
    224     metadata_values.push_back(sql_result["value"]);
     232    metadata_values.push_back(sql_result[value_select_expression]);
    225233    sql_results_iterator++;
    226234  }
Note: See TracChangeset for help on using the changeset viewer.