if (!grn_obj_is_column(ctx, obj)) { return GRN_FALSE;
}
range = grn_ctx_at(ctx, grn_obj_get_range(ctx, obj)); if (!range) { return GRN_FALSE;
}
switch (range->header.type) { case GRN_TABLE_HASH_KEY: case GRN_TABLE_PAT_KEY: case GRN_TABLE_DAT_KEY: case GRN_TABLE_NO_KEY: return GRN_TRUE; default: return GRN_FALSE;
}
}
columns = grn_hash_create(ctx, NULL, sizeof(grn_id), 0,
GRN_OBJ_TABLE_HASH_KEY | GRN_HASH_TINY); if (!columns) {
ERR(GRN_NO_MEMORY_AVAILABLE, "[table][reindex] failed to create a table to store columns"); return;
}
if (!obj) {
ERR(GRN_INVALID_ARGUMENT, "[object][reindex] object must not be NULL");
GRN_API_RETURN(ctx->rc);
}
switch (obj->header.type) { case GRN_DB :
grn_db_reindex(ctx, obj); break; case GRN_TABLE_HASH_KEY : case GRN_TABLE_PAT_KEY : case GRN_TABLE_DAT_KEY :
grn_table_reindex(ctx, obj); break; case GRN_COLUMN_FIX_SIZE : case GRN_COLUMN_VAR_SIZE :
grn_data_column_reindex(ctx, obj); break; case GRN_COLUMN_INDEX :
grn_index_column_rebuild(ctx, obj); break; default :
{
grn_obj type_name;
GRN_TEXT_INIT(&type_name, 0);
grn_inspect_type(ctx, &type_name, obj->header.type);
ERR(GRN_INVALID_ARGUMENT, "[object][reindex] object must be TABLE_HASH_KEY, " "TABLE_PAT_KEY, TABLE_DAT_KEY or COLUMN_INDEX: <%.*s>",
(int)GRN_TEXT_LEN(&type_name),
GRN_TEXT_VALUE(&type_name));
GRN_OBJ_FIN(ctx, &type_name);
GRN_API_RETURN(ctx->rc);
} break;
}
GRN_API_RETURN(ctx->rc);
}
constchar *
grn_obj_type_to_string(uint8_t type)
{ switch (type) { case GRN_VOID : return"void"; case GRN_BULK : return"bulk"; case GRN_PTR : return"ptr"; case GRN_UVECTOR : return"uvector"; case GRN_PVECTOR : return"pvector"; case GRN_VECTOR : return"vector"; case GRN_MSG : return"msg"; case GRN_QUERY : return"query"; case GRN_ACCESSOR : return"accessor"; case GRN_SNIP : return"snip"; case GRN_PATSNIP : return"patsnip"; case GRN_STRING : return"string"; case GRN_CURSOR_TABLE_HASH_KEY : return"cursor:table:hash_key"; case GRN_CURSOR_TABLE_PAT_KEY : return"cursor:table:pat_key"; case GRN_CURSOR_TABLE_DAT_KEY : return"cursor:table:dat_key"; case GRN_CURSOR_TABLE_NO_KEY : return"cursor:table:no_key"; case GRN_CURSOR_COLUMN_INDEX : return"cursor:column:index"; case GRN_CURSOR_COLUMN_GEO_INDEX : return"cursor:column:geo_index"; case GRN_CURSOR_CONFIG : return"cursor:config"; case GRN_TYPE : return"type"; case GRN_PROC : return"proc"; case GRN_EXPR : return"expr"; case GRN_TABLE_HASH_KEY : return"table:hash_key"; case GRN_TABLE_PAT_KEY : return"table:pat_key"; case GRN_TABLE_DAT_KEY : return"table:dat_key"; case GRN_TABLE_NO_KEY : return"table:no_key"; case GRN_DB : return"db"; case GRN_COLUMN_FIX_SIZE : return"column:fix_size"; case GRN_COLUMN_VAR_SIZE : return"column:var_size"; case GRN_COLUMN_INDEX : return"column:index"; default : return"unknown";
}
}
grn_bool
grn_obj_name_is_column(grn_ctx *ctx, constchar *name, int name_len)
{ if (!name) { return GRN_FALSE;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.