void test_path(gconstpointer data) { const gchar *expected; const gchar *name; expected = gcut_data_get_string(data, "expected"); name = gcut_data_get_string(data, "name"); proc = grn_ctx_get(context, name, -1); cut_assert_equal_string(expected, grn_obj_path(context, proc)); }
void test_temporary_table_no_path(gpointer data) { grn_obj *table; grn_obj_flags flags = GPOINTER_TO_INT(data); table = grn_table_create(context, NULL, 0, NULL, flags, NULL, NULL); cut_assert_equal_string(NULL, grn_obj_path(context, table)); }
static int print_tableinfo(grn_ctx *ctx, grn_obj *table, grn_obj *buf, grn_content_type otype) { grn_id id; char name[GRN_TABLE_MAX_KEY_SIZE]; const char *path; int name_len; switch (table->header.type) { case GRN_TABLE_HASH_KEY: case GRN_TABLE_PAT_KEY: case GRN_TABLE_NO_KEY: case GRN_TABLE_VIEW: break; default: return 0; } id = grn_obj_id(ctx, table); name_len = grn_obj_name(ctx, table, name, GRN_TABLE_MAX_KEY_SIZE); path = grn_obj_path(ctx, table); switch (otype) { case GRN_CONTENT_TSV: grn_text_itoa(ctx, buf, id); GRN_TEXT_PUTC(ctx, buf, '\t'); grn_text_esc(ctx, buf, name, name_len); GRN_TEXT_PUTC(ctx, buf, '\t'); grn_text_esc(ctx, buf, path, GRN_STRLEN(path)); GRN_TEXT_PUTC(ctx, buf, '\t'); grn_text_itoa(ctx, buf, table->header.flags); GRN_TEXT_PUTC(ctx, buf, '\t'); grn_text_itoa(ctx, buf, table->header.domain); /* TODO: domain to str */ break; case GRN_CONTENT_JSON: GRN_TEXT_PUTC(ctx, buf, '['); grn_text_itoa(ctx, buf, id); GRN_TEXT_PUTC(ctx, buf, ','); grn_text_esc(ctx, buf, name, name_len); GRN_TEXT_PUTC(ctx, buf, ','); grn_text_esc(ctx, buf, path, GRN_STRLEN(path)); GRN_TEXT_PUTC(ctx, buf, ','); grn_text_itoa(ctx, buf, table->header.flags); GRN_TEXT_PUTC(ctx, buf, ','); grn_text_itoa(ctx, buf, table->header.domain); /* TODO: domain to str */ GRN_TEXT_PUTC(ctx, buf, ']'); break; } return 1; }
void test_temporary_table_no_path(gpointer data) { grn_obj *table; grn_obj_flags flags = GPOINTER_TO_INT(data); grn_obj *key_type = NULL; if ((flags & GRN_OBJ_TABLE_TYPE_MASK) != GRN_OBJ_TABLE_NO_KEY) { key_type = grn_ctx_at(context, GRN_DB_SHORT_TEXT); } table = grn_table_create(context, NULL, 0, NULL, flags, key_type, NULL); cut_assert_equal_string(NULL, grn_obj_path(context, table)); }
static int print_columninfo(grn_ctx *ctx, grn_obj *column, grn_obj *buf, grn_content_type otype) { grn_id id; char *type, name[GRN_TABLE_MAX_KEY_SIZE]; const char *path; int name_len; switch (column->header.type) { case GRN_COLUMN_FIX_SIZE: type = "\"fix\""; break; case GRN_COLUMN_VAR_SIZE: type = "\"var\""; break; case GRN_COLUMN_INDEX: type = "\"index\""; break; default: GRN_LOG(ctx, GRN_LOG_NOTICE, "invalid header type %d\n", column->header.type); return 0; } id = grn_obj_id(ctx, column); name_len = grn_column_name(ctx, column, name, GRN_TABLE_MAX_KEY_SIZE); path = grn_obj_path(ctx, column); switch (otype) { case GRN_CONTENT_TSV: grn_text_itoa(ctx, buf, id); GRN_TEXT_PUTC(ctx, buf, '\t'); grn_text_esc(ctx, buf, name, name_len); GRN_TEXT_PUTC(ctx, buf, '\t'); grn_text_esc(ctx, buf, path, GRN_STRLEN(path)); GRN_TEXT_PUTC(ctx, buf, '\t'); GRN_TEXT_PUTS(ctx, buf, type); GRN_TEXT_PUTC(ctx, buf, '\t'); grn_text_itoa(ctx, buf, column->header.flags); GRN_TEXT_PUTC(ctx, buf, '\t'); grn_text_itoa(ctx, buf, column->header.domain); /* TODO: flags to str, domain to str */ break; case GRN_CONTENT_JSON: GRN_TEXT_PUTC(ctx, buf, '['); grn_text_itoa(ctx, buf, id); GRN_TEXT_PUTC(ctx, buf, ','); grn_text_esc(ctx, buf, name, name_len); GRN_TEXT_PUTC(ctx, buf, ','); grn_text_esc(ctx, buf, path, GRN_STRLEN(path)); GRN_TEXT_PUTC(ctx, buf, ','); GRN_TEXT_PUTS(ctx, buf, type); GRN_TEXT_PUTC(ctx, buf, ','); grn_text_itoa(ctx, buf, column->header.flags); GRN_TEXT_PUTC(ctx, buf, ','); grn_text_itoa(ctx, buf, column->header.domain); /* TODO: flags to str, domain to str */ GRN_TEXT_PUTC(ctx, buf, ']'); break; } return 1; }