[Groonga-mysql-commit] mroonga/mroonga [fix-for-visual-studio] fix a bug of rnx_next, info and some refactering.

Back to archive index

Tetsuro IKEDA null+****@clear*****
Thu Oct 4 11:18:51 JST 2012


Tetsuro IKEDA	2009-07-30 15:44:09 +0900 (Thu, 30 Jul 2009)

  New Revision: 7205864fa84ef6a381cea20553fafd53810c1d1c
  https://github.com/mroonga/mroonga/commit/7205864fa84ef6a381cea20553fafd53810c1d1c

  Log:
    fix a bug of rnx_next, info and some refactering.

  Modified files:
    ha_groonga.cc

  Modified: ha_groonga.cc (+12 -5)
===================================================================
--- ha_groonga.cc    2009-07-29 17:31:29 +0900 (8ddbb46)
+++ ha_groonga.cc    2009-07-30 15:44:09 +0900 (a13cac5)
@@ -423,7 +423,14 @@ int ha_groonga::info(uint flag)
 int ha_groonga::info(uint flag)
 {
   MRN_HTRACE;
-  stats.records = (ha_rows) mrn_table_size(ctx, this->minfo);
+  if (this->minfo)
+  {
+    stats.records = (ha_rows) mrn_table_size(ctx, this->minfo);
+  }
+  else
+  {
+    stats.records = 2;
+  }
   return 0;
 }
 #endif
@@ -523,7 +530,8 @@ int ha_groonga::rnd_next(uchar *buf)
   if (rc == 0)
   {
     Field **field = table->field;
-    mrn_column_info **column = cond->list->columns;
+    mrn_column_info **column =
+      cond ? cond->list->columns : info->columns;
     grn_obj *value;
     int i;
     for (i=0; *field; field++, column++)
@@ -681,12 +689,11 @@ int ha_groonga::write_row(uchar *buf)
   {
     /* TODO: replace if-else into swtich-case */
     if ((*field)->type() == MYSQL_TYPE_LONG) {
-      int val = (*field)->val_int();
-      GRN_TEXT_SET(ctx, record->value[i], (char*)&val, sizeof(val));
+      GRN_INT32_SET(ctx, record->value[i], (*field)->val_int());
     } else if ((*field)->type() == MYSQL_TYPE_VARCHAR) {
       String tmp;
       const char *val = (*field)->val_str(&tmp)->ptr();
-      GRN_TEXT_SET(ctx, record->value[i], val, strlen(val));
+      GRN_TEXT_SET(ctx, record->value[i], val, (*field)->data_length());
     } else {
       return HA_ERR_UNSUPPORTED;
     }
-------------- next part --------------
HTML����������������������������...
Download 



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