[Groonga-mysql-commit] mroonga/mroonga at 65d0d9e [master] Add normalize() method to mrn::FieldNormalizer

Back to archive index

Kouhei Sutou null+****@clear*****
Sun Apr 21 16:58:56 JST 2013


Kouhei Sutou	2013-04-21 16:58:56 +0900 (Sun, 21 Apr 2013)

  New Revision: 65d0d9e061193cfb15a721460ab854b7a5f95351
  https://github.com/mroonga/mroonga/commit/65d0d9e061193cfb15a721460ab854b7a5f95351

  Message:
    Add normalize() method to mrn::FieldNormalizer

  Modified files:
    lib/mrn_field_normalizer.cpp
    lib/mrn_field_normalizer.hpp

  Modified: lib/mrn_field_normalizer.cpp (+14 -0)
===================================================================
--- lib/mrn_field_normalizer.cpp    2013-04-21 16:58:03 +0900 (a3faa57)
+++ lib/mrn_field_normalizer.cpp    2013-04-21 16:58:56 +0900 (e30b464)
@@ -18,6 +18,7 @@
 */
 
 #include "mrn_field_normalizer.hpp"
+#include "mrn_encoding.hpp"
 
 // for debug
 #define MRN_CLASS_NAME "mrn::FieldNormalizer"
@@ -88,6 +89,19 @@ namespace mrn {
     DBUG_RETURN(text_type_p);
   }
 
+  grn_obj *FieldNormalizer::normalize(const char *string,
+                                      unsigned int string_length) {
+    MRN_DBUG_ENTER_METHOD();
+    grn_obj *normalizer = find_grn_normalizer();
+    int flags = 0;
+    grn_encoding original_encoding = GRN_CTX_GET_ENCODING(ctx_);
+    encoding::set(ctx_, field_->charset());
+    grn_obj *grn_string = grn_string_open(ctx_, string, string_length,
+                                          normalizer, flags);
+    GRN_CTX_SET_ENCODING(ctx_, original_encoding);
+    DBUG_RETURN(grn_string);
+  }
+
   grn_obj *FieldNormalizer::find_grn_normalizer() {
     MRN_DBUG_ENTER_METHOD();
 

  Modified: lib/mrn_field_normalizer.hpp (+1 -0)
===================================================================
--- lib/mrn_field_normalizer.hpp    2013-04-21 16:58:03 +0900 (049c4a1)
+++ lib/mrn_field_normalizer.hpp    2013-04-21 16:58:56 +0900 (436d157)
@@ -32,6 +32,7 @@ namespace mrn {
     ~FieldNormalizer();
 
     bool is_need_normalize();
+    grn_obj *normalize(const char *string, unsigned int string_length);
     grn_obj *find_grn_normalizer();
 
   private:
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-mysql-commit mailing list
Back to archive index