null+****@clear*****
null+****@clear*****
2012年 1月 29日 (日) 21:47:15 JST
Kouhei Sutou 2012-01-29 21:47:15 +0900 (Sun, 29 Jan 2012) New Revision: a084f36b8738e7e60d1205dfedfc69cd79ff5a7e Log: remove needless size argument. Modified files: ha_mroonga.cc ha_mroonga.h Modified: ha_mroonga.cc (+50 -61) =================================================================== --- ha_mroonga.cc 2012-01-29 21:34:09 +0900 (2fb5540) +++ ha_mroonga.cc 2012-01-29 21:47:15 +0900 (7f46b6a) @@ -3921,8 +3921,7 @@ int ha_mroonga::wrapper_write_row_index(uchar *buf) error = mrn_change_encoding(ctx, field->charset()); if (error) goto err; - int new_column_size; - error = generic_store_bulk(field, &new_value_buffer, &new_column_size); + error = generic_store_bulk(field, &new_value_buffer); if (error) { my_message(error, "mroonga: wrapper: " @@ -3960,7 +3959,7 @@ int ha_mroonga::storage_write_row(uchar *buf) } THD *thd = ha_thd(); - int i, col_size; + int i; int n_columns = table->s->fields; if (table->next_number_field && buf == table->record[0]) @@ -4012,8 +4011,9 @@ int ha_mroonga::storage_write_row(uchar *buf) #endif DBUG_RETURN(error); } - generic_store_bulk(pkey_field, &key_buffer, &pkey_size); + generic_store_bulk(pkey_field, &key_buffer); pkey = GRN_TEXT_VALUE(&key_buffer); + pkey_size = GRN_TEXT_LEN(&key_buffer); } else { mrn_change_encoding(ctx, NULL); uchar key[MRN_MAX_KEY_SIZE]; @@ -4079,7 +4079,7 @@ int ha_mroonga::storage_write_row(uchar *buf) grn_obj_unlink(ctx, &colbuf); DBUG_RETURN(error); } - generic_store_bulk(field, &colbuf, &col_size); + generic_store_bulk(field, &colbuf); grn_obj_set_value(ctx, grn_columns[i], record_id, &colbuf, GRN_OBJ_SET); if (ctx->rc) { #ifndef DBUG_OFF @@ -4323,12 +4323,10 @@ int ha_mroonga::wrapper_update_row_index(const uchar *old_data, uchar *new_data) for (j = 0; j < key_info.key_parts; j++) { Field *field = key_info.key_part[j].field; - int new_column_size; - generic_store_bulk(field, &new_value_buffer, &new_column_size); + generic_store_bulk(field, &new_value_buffer); field->move_field_offset(ptr_diff); - int old_column_size; - generic_store_bulk(field, &old_value_buffer, &old_column_size); + generic_store_bulk(field, &old_value_buffer); field->move_field_offset(-ptr_diff); grn_rc rc; @@ -4381,7 +4379,7 @@ int ha_mroonga::storage_update_row(const uchar *old_data, uchar *new_data) } grn_obj colbuf; - int i, col_size; + int i; int n_columns = table->s->fields; THD *thd = ha_thd(); @@ -4464,7 +4462,7 @@ int ha_mroonga::storage_update_row(const uchar *old_data, uchar *new_data) } } - generic_store_bulk(field, &colbuf, &col_size); + generic_store_bulk(field, &colbuf); grn_obj_set_value(ctx, grn_columns[i], record_id, &colbuf, GRN_OBJ_SET); if (ctx->rc) { #ifndef DBUG_OFF @@ -4651,8 +4649,7 @@ int ha_mroonga::wrapper_delete_row_index(const uchar *buf) if (field->is_null()) continue; - int old_column_size; - generic_store_bulk(field, &old_value_buffer, &old_column_size); + generic_store_bulk(field, &old_value_buffer); grn_rc rc; rc = grn_column_index_update(ctx, index_column, record_id, j + 1, &old_value_buffer, NULL); @@ -6839,7 +6836,7 @@ void ha_mroonga::check_fast_order_limit(grn_table_sort_key **sort_keys, DBUG_VOID_RETURN; } -int ha_mroonga::generic_store_bulk_string(Field *field, grn_obj *buf, int *size) +int ha_mroonga::generic_store_bulk_string(Field *field, grn_obj *buf) { MRN_DBUG_ENTER_METHOD(); int error = 0; @@ -6847,17 +6844,16 @@ int ha_mroonga::generic_store_bulk_string(Field *field, grn_obj *buf, int *size) field->val_str(NULL, &value); grn_obj_reinit(ctx, buf, GRN_DB_SHORT_TEXT, 0); GRN_TEXT_SET(ctx, buf, value.ptr(), value.length()); - *size = value.length(); DBUG_RETURN(error); } -int ha_mroonga::generic_store_bulk_integer(Field *field, grn_obj *buf, int *size) +int ha_mroonga::generic_store_bulk_integer(Field *field, grn_obj *buf) { MRN_DBUG_ENTER_METHOD(); int error = 0; long long value = field->val_int(); - *size = field->pack_length(); - switch (*size) { + uint32 size = field->pack_length(); + switch (size) { case 1: grn_obj_reinit(ctx, buf, GRN_DB_INT8, 0); GRN_INT8_SET(ctx, buf, value); @@ -6880,9 +6876,9 @@ int ha_mroonga::generic_store_bulk_integer(Field *field, grn_obj *buf, int *size error = HA_ERR_UNSUPPORTED; char error_message[MRN_MESSAGE_BUFFER_SIZE]; snprintf(error_message, MRN_MESSAGE_BUFFER_SIZE, - "unknown integer value size: <%d>: " + "unknown integer value size: <%u>: " "available sizes: [1, 2, 3, 4, 8]", - *size); + size); push_warning(ha_thd(), Sql_condition::WARN_LEVEL_WARN, error, error_message); break; @@ -6890,13 +6886,13 @@ int ha_mroonga::generic_store_bulk_integer(Field *field, grn_obj *buf, int *size DBUG_RETURN(error); } -int ha_mroonga::generic_store_bulk_float(Field *field, grn_obj *buf, int *size) +int ha_mroonga::generic_store_bulk_float(Field *field, grn_obj *buf) { MRN_DBUG_ENTER_METHOD(); int error = 0; double value = field->val_real(); - *size = field->pack_length(); - switch (*size) { + uint32 size = field->pack_length(); + switch (size) { case 4: case 8: grn_obj_reinit(ctx, buf, GRN_DB_FLOAT, 0); @@ -6907,9 +6903,9 @@ int ha_mroonga::generic_store_bulk_float(Field *field, grn_obj *buf, int *size) error = HA_ERR_UNSUPPORTED; char error_message[MRN_MESSAGE_BUFFER_SIZE]; snprintf(error_message, MRN_MESSAGE_BUFFER_SIZE, - "unknown float value size: <%d>: " + "unknown float value size: <%u>: " "available sizes: [4, 8]", - *size); + size); push_warning(ha_thd(), Sql_condition::WARN_LEVEL_WARN, error, error_message); break; @@ -6917,7 +6913,7 @@ int ha_mroonga::generic_store_bulk_float(Field *field, grn_obj *buf, int *size) DBUG_RETURN(error); } -int ha_mroonga::generic_store_bulk_time(Field *field, grn_obj *buf, int *size) +int ha_mroonga::generic_store_bulk_time(Field *field, grn_obj *buf) { MRN_DBUG_ENTER_METHOD(); int error = 0; @@ -6925,8 +6921,8 @@ int ha_mroonga::generic_store_bulk_time(Field *field, grn_obj *buf, int *size) // FIXME: value isn't epoch time. We should store epoch // time to bulk. grn_obj_reinit(ctx, buf, GRN_DB_TIME, 0); - *size = field->pack_length(); - switch (*size) { + uint32 size = field->pack_length(); + switch (size) { case 1: case 2: case 3: @@ -6939,9 +6935,9 @@ int ha_mroonga::generic_store_bulk_time(Field *field, grn_obj *buf, int *size) error = HA_ERR_UNSUPPORTED; char error_message[MRN_MESSAGE_BUFFER_SIZE]; snprintf(error_message, MRN_MESSAGE_BUFFER_SIZE, - "unknown integer value size: <%d>: " + "unknown integer value size: <%u>: " "available sizes: [1, 2, 3, 4, 8]", - *size); + size); push_warning(ha_thd(), Sql_condition::WARN_LEVEL_WARN, error, error_message); break; @@ -6949,7 +6945,7 @@ int ha_mroonga::generic_store_bulk_time(Field *field, grn_obj *buf, int *size) DBUG_RETURN(error); } -int ha_mroonga::generic_store_bulk_new_decimal(Field *field, grn_obj *buf, int *size) +int ha_mroonga::generic_store_bulk_new_decimal(Field *field, grn_obj *buf) { MRN_DBUG_ENTER_METHOD(); int error = 0; @@ -6958,24 +6954,22 @@ int ha_mroonga::generic_store_bulk_new_decimal(Field *field, grn_obj *buf, int * new_decimal_field->val_str(&value, NULL); grn_obj_reinit(ctx, buf, GRN_DB_SHORT_TEXT, 0); GRN_TEXT_SET(ctx, buf, value.ptr(), value.length()); - *size = value.length(); DBUG_RETURN(error); } -int ha_mroonga::generic_store_bulk_blob(Field *field, grn_obj *buf, int *size) +int ha_mroonga::generic_store_bulk_blob(Field *field, grn_obj *buf) { MRN_DBUG_ENTER_METHOD(); int error = 0; String buffer; Field_blob *blob = (Field_blob *)field; const char *value = blob->val_str(0, &buffer)->ptr(); - *size = blob->get_length(); grn_obj_reinit(ctx, buf, GRN_DB_TEXT, 0); - GRN_TEXT_SET(ctx, buf, value, *size); + GRN_TEXT_SET(ctx, buf, value, blob->get_length()); DBUG_RETURN(error); } -int ha_mroonga::generic_store_bulk_geometry(Field *field, grn_obj *buf, int *size) +int ha_mroonga::generic_store_bulk_geometry(Field *field, grn_obj *buf) { MRN_DBUG_ENTER_METHOD(); int error = 0; @@ -6984,13 +6978,10 @@ int ha_mroonga::generic_store_bulk_geometry(Field *field, grn_obj *buf, int *siz const char *wkb = geometry->val_str(0, &buffer)->ptr(); int len = geometry->get_length(); error = mrn_set_geometry(ctx, buf, wkb, len); - if (!error) { - *size = len; - } DBUG_RETURN(error); } -int ha_mroonga::generic_store_bulk(Field *field, grn_obj *buf, int *size) +int ha_mroonga::generic_store_bulk(Field *field, grn_obj *buf) { MRN_DBUG_ENTER_METHOD(); int error; @@ -6999,74 +6990,74 @@ int ha_mroonga::generic_store_bulk(Field *field, grn_obj *buf, int *size) return error; switch (field->type()) { case MYSQL_TYPE_DECIMAL: - error = generic_store_bulk_string(field, buf, size); + error = generic_store_bulk_string(field, buf); break; case MYSQL_TYPE_TINY: case MYSQL_TYPE_SHORT: case MYSQL_TYPE_LONG: - error = generic_store_bulk_integer(field, buf, size); + error = generic_store_bulk_integer(field, buf); break; case MYSQL_TYPE_FLOAT: case MYSQL_TYPE_DOUBLE: - error = generic_store_bulk_float(field, buf, size); + error = generic_store_bulk_float(field, buf); break; case MYSQL_TYPE_NULL: - error = generic_store_bulk_integer(field, buf, size); + error = generic_store_bulk_integer(field, buf); break; case MYSQL_TYPE_TIMESTAMP: - error = generic_store_bulk_time(field, buf, size); + error = generic_store_bulk_time(field, buf); break; case MYSQL_TYPE_LONGLONG: case MYSQL_TYPE_INT24: - error = generic_store_bulk_integer(field, buf, size); + error = generic_store_bulk_integer(field, buf); break; case MYSQL_TYPE_DATE: case MYSQL_TYPE_TIME: case MYSQL_TYPE_DATETIME: case MYSQL_TYPE_YEAR: case MYSQL_TYPE_NEWDATE: - error = generic_store_bulk_time(field, buf, size); + error = generic_store_bulk_time(field, buf); break; case MYSQL_TYPE_VARCHAR: - error = generic_store_bulk_string(field, buf, size); + error = generic_store_bulk_string(field, buf); break; case MYSQL_TYPE_BIT: - error = generic_store_bulk_integer(field, buf, size); + error = generic_store_bulk_integer(field, buf); break; #ifdef MRN_HAVE_MYSQL_TYPE_TIMESTAMP2 case MYSQL_TYPE_TIMESTAMP2: - error = generic_store_bulk_time(field, buf, size); + error = generic_store_bulk_time(field, buf); break; #endif #ifdef MRN_HAVE_MYSQL_TYPE_DATETIME2 case MYSQL_TYPE_DATETIME2: - error = generic_store_bulk_time(field, buf, size); + error = generic_store_bulk_time(field, buf); break; #endif #ifdef MRN_HAVE_MYSQL_TYPE_TIME2 case MYSQL_TYPE_TIME2: - error = generic_store_bulk_time(field, buf, size); + error = generic_store_bulk_time(field, buf); break; #endif case MYSQL_TYPE_NEWDECIMAL: - error = generic_store_bulk_new_decimal(field, buf, size); + error = generic_store_bulk_new_decimal(field, buf); break; case MYSQL_TYPE_ENUM: case MYSQL_TYPE_SET: - error = generic_store_bulk_integer(field, buf, size); + error = generic_store_bulk_integer(field, buf); break; case MYSQL_TYPE_TINY_BLOB: case MYSQL_TYPE_MEDIUM_BLOB: case MYSQL_TYPE_LONG_BLOB: case MYSQL_TYPE_BLOB: - error = generic_store_bulk_blob(field, buf, size); + error = generic_store_bulk_blob(field, buf); break; case MYSQL_TYPE_VAR_STRING: case MYSQL_TYPE_STRING: - error = generic_store_bulk_string(field, buf, size); + error = generic_store_bulk_string(field, buf); break; case MYSQL_TYPE_GEOMETRY: - error = generic_store_bulk_geometry(field, buf, size); + error = generic_store_bulk_geometry(field, buf); break; default: error = HA_ERR_UNSUPPORTED; @@ -8798,8 +8789,7 @@ int ha_mroonga::wrapper_recreate_indexes(THD *thd) if (res) break; - int new_column_size; - generic_store_bulk(field, &new_value_buffer, &new_column_size); + generic_store_bulk(field, &new_value_buffer); grn_obj *index_column = grn_index_columns[k]; grn_rc rc; @@ -9180,8 +9170,7 @@ int ha_mroonga::wrapper_add_index(TABLE *table_arg, KEY *key_info, if (res) break; - int new_column_size; - generic_store_bulk(field, &new_value_buffer, &new_column_size); + generic_store_bulk(field, &new_value_buffer); grn_obj *index_column = grn_obj_column(ctx, index_tables[k + n_keys], Modified: ha_mroonga.h (+8 -8) =================================================================== --- ha_mroonga.h 2012-01-29 21:34:09 +0900 (20de6b9) +++ ha_mroonga.h 2012-01-29 21:47:15 +0900 (a3947d6) @@ -402,14 +402,14 @@ private: longlong *limit, grn_obj *target_table, grn_obj *score_column); - int generic_store_bulk_string(Field *field, grn_obj *buf, int *size); - int generic_store_bulk_integer(Field *field, grn_obj *buf, int *size); - int generic_store_bulk_float(Field *field, grn_obj *buf, int *size); - int generic_store_bulk_time(Field *field, grn_obj *buf, int *size); - int generic_store_bulk_new_decimal(Field *field, grn_obj *buf, int *size); - int generic_store_bulk_blob(Field *field, grn_obj *buf, int *size); - int generic_store_bulk_geometry(Field *field, grn_obj *buf, int *size); - int generic_store_bulk(Field *field, grn_obj *buf, int *size); + int generic_store_bulk_string(Field *field, grn_obj *buf); + int generic_store_bulk_integer(Field *field, grn_obj *buf); + int generic_store_bulk_float(Field *field, grn_obj *buf); + int generic_store_bulk_time(Field *field, grn_obj *buf); + int generic_store_bulk_new_decimal(Field *field, grn_obj *buf); + int generic_store_bulk_blob(Field *field, grn_obj *buf); + int generic_store_bulk_geometry(Field *field, grn_obj *buf); + int generic_store_bulk(Field *field, grn_obj *buf); void storage_store_field_string(Field *field, const char *value, uint value_length);