Skip to content

Commit

Permalink
Support offline index construction for reference vector
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Jun 30, 2015
1 parent fefc7e6 commit 72f5c93
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 0 deletions.
14 changes: 14 additions & 0 deletions lib/ii.c
Expand Up @@ -8011,6 +8011,20 @@ grn_ii_buffer_parse(grn_ctx *ctx, grn_ii_buffer *ii_buffer,
grn_ii_buffer_tokenize(ctx, ii_buffer, rid, sid, 0,
GRN_TEXT_VALUE(&rv), GRN_TEXT_LEN(&rv));
break;
case GRN_UVECTOR :
{
unsigned int i, size;
unsigned int element_size;

size = grn_uvector_size(ctx, &rv);
element_size = grn_uvector_element_size(ctx, &rv);
for (i = 0; i < size; i++) {
grn_ii_buffer_tokenize(ctx, ii_buffer, rid, sid, 0,
GRN_BULK_HEAD(&rv) + (element_size * i),
element_size);
}
}
break;
case GRN_VECTOR :
if (rv.u.v.body) {
int i;
Expand Down
17 changes: 17 additions & 0 deletions test/command/suite/load/index/offline/vector_int32.expected
@@ -0,0 +1,17 @@
table_create Entries TABLE_NO_KEY
[[0,0.0,0.0],true]
column_create Entries numbers COLUMN_VECTOR Int32
[[0,0.0,0.0],true]
load --table Entries
[
["numbers"],
[[18, 19, 20]],
[[100, 200]]
]
[[0,0.0,0.0],2]
table_create Numbers TABLE_PAT_KEY Int32
[[0,0.0,0.0],true]
column_create Numbers entries_numbers COLUMN_INDEX Entries numbers
[[0,0.0,0.0],true]
select Numbers --output_columns _key
[[0,0.0,0.0],[[[5],[["_key","Int32"]],[18],[19],[20],[100],[200]]]]
14 changes: 14 additions & 0 deletions test/command/suite/load/index/offline/vector_int32.test
@@ -0,0 +1,14 @@
table_create Entries TABLE_NO_KEY
column_create Entries numbers COLUMN_VECTOR Int32

load --table Entries
[
["numbers"],
[[18, 19, 20]],
[[100, 200]]
]

table_create Numbers TABLE_PAT_KEY Int32
column_create Numbers entries_numbers COLUMN_INDEX Entries numbers

select Numbers --output_columns _key

0 comments on commit 72f5c93

Please sign in to comment.