rroonga 6.0.5 → 6.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/doc/text/news.md +15 -0
- data/ext/groonga/rb-grn-column.c +23 -17
- data/ext/groonga/rb-grn-context.c +24 -22
- data/ext/groonga/rb-grn-exception.c +2 -256
- data/ext/groonga/rb-grn-index-column.c +21 -9
- data/ext/groonga/rb-grn-object.c +98 -62
- data/ext/groonga/rb-grn-table-sort-keys.c +1 -1
- data/ext/groonga/rb-grn-table.c +2 -2
- data/ext/groonga/rb-grn-variable-size-column.c +13 -7
- data/ext/groonga/rb-grn.h +1 -2
- data/ext/groonga/rb-groonga.c +3 -2
- data/rroonga-build.rb +3 -3
- data/test/test-fix-size-column.rb +1 -1
- data/test/test-schema.rb +1 -1
- data/test/test-variable-size-column.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 266ed1c5524c3ecf7a34caae961511c166f83fdc
|
4
|
+
data.tar.gz: a9bc9f5db05f31e635d521e265a8ea170371ac67
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba0d58609159717163d7cdc66bce45dda47d80a8e4ef27a670569edf8073c12ac5d7da3bcd1efea7ac8ac85fed33e047188728650b34c50a2260e960a0dbe209
|
7
|
+
data.tar.gz: d43410abb91b18bae1fc4da6f39e0dd160b8d02394dc64e6e0d95c54b90c42708dfc6f2482ad054eae5a85b36cb98f2f9b82ceef84e7e8b70faba3c3852e1372
|
data/doc/text/news.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# NEWS
|
2
2
|
|
3
|
+
## 6.0.7: 2016-08-13 {#version-6-0-7}
|
4
|
+
|
5
|
+
### Improvements
|
6
|
+
|
7
|
+
* Supported Groonga 6.0.7. Groonga 6.0.5 or older aren't supported.
|
8
|
+
|
9
|
+
* Improved integration with libraries that uses `at_exit` such as
|
10
|
+
test-unit.
|
11
|
+
|
12
|
+
### Fixes
|
13
|
+
|
14
|
+
* {Groonga::FixSizeColumn#inspect}: Fixed wrong flags.
|
15
|
+
|
16
|
+
* {Groonga::VariableSizeColumn#inspect}: Fixed wrong flags.
|
17
|
+
|
3
18
|
## 6.0.5: 2016-07-15 {#version-6-0-5}
|
4
19
|
|
5
20
|
### Improvements
|
data/ext/groonga/rb-grn-column.c
CHANGED
@@ -72,13 +72,15 @@ rb_grn_column_bind (RbGrnColumn *rb_column,
|
|
72
72
|
grn_ctx *context, grn_obj *column)
|
73
73
|
{
|
74
74
|
RbGrnObject *rb_grn_object;
|
75
|
+
grn_column_flags flags;
|
75
76
|
int column_type;
|
76
77
|
unsigned char value_type;
|
77
78
|
|
78
79
|
rb_grn_object = RB_GRN_OBJECT(rb_column);
|
79
80
|
rb_grn_named_object_bind(RB_GRN_NAMED_OBJECT(rb_column), context, column);
|
80
81
|
|
81
|
-
|
82
|
+
flags = grn_column_get_flags(context, column);
|
83
|
+
column_type = (flags & GRN_OBJ_COLUMN_TYPE_MASK);
|
82
84
|
if (column_type == GRN_OBJ_COLUMN_VECTOR) {
|
83
85
|
switch (rb_grn_object->range->header.type) {
|
84
86
|
case GRN_TABLE_HASH_KEY:
|
@@ -644,18 +646,20 @@ rb_grn_column_vector_p (VALUE self)
|
|
644
646
|
{
|
645
647
|
grn_ctx *context;
|
646
648
|
grn_obj *column;
|
649
|
+
grn_column_flags flags;
|
650
|
+
grn_column_flags column_type;
|
647
651
|
|
648
652
|
rb_grn_column_deconstruct(SELF(self), &column, &context,
|
649
653
|
NULL, NULL,
|
650
654
|
NULL, NULL, NULL);
|
651
655
|
|
652
|
-
if (column->header.type
|
653
|
-
((column->header.flags & GRN_OBJ_COLUMN_TYPE_MASK) ==
|
654
|
-
GRN_OBJ_COLUMN_VECTOR)) {
|
655
|
-
return Qtrue;
|
656
|
-
} else {
|
656
|
+
if (column->header.type != GRN_COLUMN_VAR_SIZE) {
|
657
657
|
return Qfalse;
|
658
658
|
}
|
659
|
+
|
660
|
+
flags = grn_column_get_flags(context, column);
|
661
|
+
column_type = (flags & GRN_OBJ_COLUMN_TYPE_MASK);
|
662
|
+
return CBOOL2RVAL(column_type == GRN_OBJ_COLUMN_VECTOR);
|
659
663
|
}
|
660
664
|
|
661
665
|
/*
|
@@ -671,22 +675,21 @@ rb_grn_column_scalar_p (VALUE self)
|
|
671
675
|
{
|
672
676
|
grn_ctx *context;
|
673
677
|
grn_obj *column;
|
678
|
+
grn_column_flags flags;
|
679
|
+
grn_column_flags column_type;
|
674
680
|
|
675
681
|
rb_grn_column_deconstruct(SELF(self), &column, &context,
|
676
682
|
NULL, NULL,
|
677
683
|
NULL, NULL, NULL);
|
678
684
|
|
679
685
|
switch (column->header.type) {
|
680
|
-
|
686
|
+
case GRN_COLUMN_FIX_SIZE:
|
681
687
|
return Qtrue;
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
return Qfalse;
|
688
|
-
}
|
689
|
-
default:
|
688
|
+
case GRN_COLUMN_VAR_SIZE:
|
689
|
+
flags = grn_column_get_flags(context, column);
|
690
|
+
column_type = (flags & GRN_OBJ_COLUMN_TYPE_MASK);
|
691
|
+
return CBOOL2RVAL(column_type == GRN_OBJ_COLUMN_SCALAR);
|
692
|
+
default:
|
690
693
|
return Qfalse;
|
691
694
|
}
|
692
695
|
}
|
@@ -701,12 +704,15 @@ static VALUE
|
|
701
704
|
rb_grn_column_with_weight_p(VALUE self)
|
702
705
|
{
|
703
706
|
grn_obj *column;
|
707
|
+
grn_ctx *context;
|
708
|
+
grn_column_flags flags;
|
704
709
|
|
705
|
-
rb_grn_column_deconstruct(SELF(self), &column,
|
710
|
+
rb_grn_column_deconstruct(SELF(self), &column, &context,
|
706
711
|
NULL, NULL,
|
707
712
|
NULL, NULL, NULL);
|
708
713
|
|
709
|
-
|
714
|
+
flags = grn_column_get_flags(context, column);
|
715
|
+
return CBOOL2RVAL(flags & GRN_OBJ_WITH_WEIGHT);
|
710
716
|
}
|
711
717
|
|
712
718
|
/*
|
@@ -175,29 +175,36 @@ rb_grn_context_unlink_database (grn_ctx *context)
|
|
175
175
|
}
|
176
176
|
|
177
177
|
static void
|
178
|
-
rb_grn_context_fin (
|
178
|
+
rb_grn_context_fin (RbGrnContext *rb_grn_context)
|
179
179
|
{
|
180
|
-
|
181
|
-
return;
|
180
|
+
grn_ctx *context;
|
182
181
|
|
183
|
-
|
184
|
-
|
182
|
+
context = rb_grn_context->context;
|
183
|
+
|
184
|
+
debug("context-fin: %p\n", context);
|
185
|
+
|
186
|
+
rb_grn_context_close_floating_objects(rb_grn_context);
|
187
|
+
|
188
|
+
if (context && context->stat != GRN_CTX_FIN && !rb_grn_exited) {
|
189
|
+
if (!(context->flags & GRN_CTX_PER_DB)) {
|
190
|
+
rb_grn_context_unlink_database(context);
|
191
|
+
}
|
192
|
+
grn_ctx_fin(context);
|
185
193
|
}
|
186
|
-
|
194
|
+
|
195
|
+
debug("context-fin: %p: done\n", context);
|
196
|
+
|
197
|
+
rb_grn_context->context = NULL;
|
187
198
|
}
|
188
199
|
|
189
200
|
static void
|
190
201
|
rb_grn_context_free (void *pointer)
|
191
202
|
{
|
192
203
|
RbGrnContext *rb_grn_context = pointer;
|
193
|
-
grn_ctx *context;
|
194
204
|
|
195
|
-
context
|
196
|
-
|
197
|
-
|
198
|
-
if (context && !rb_grn_exited)
|
199
|
-
rb_grn_context_fin(context);
|
200
|
-
debug("context-free: %p: done\n", context);
|
205
|
+
debug("context-free: %p\n", rb_grn_context);
|
206
|
+
rb_grn_context_fin(rb_grn_context);
|
207
|
+
debug("context-free: %p: done\n", rb_grn_context);
|
201
208
|
xfree(rb_grn_context);
|
202
209
|
}
|
203
210
|
|
@@ -248,7 +255,7 @@ rb_grn_context_to_exception (grn_ctx *context, VALUE related_object)
|
|
248
255
|
return Qnil;
|
249
256
|
|
250
257
|
exception_class = rb_grn_rc_to_exception(context->rc);
|
251
|
-
message =
|
258
|
+
message = grn_rc_to_string(context->rc);
|
252
259
|
|
253
260
|
GRN_OBJ_INIT(&bulk, GRN_BULK, 0, GRN_ID_NIL);
|
254
261
|
GRN_TEXT_PUTS(context, &bulk, message);
|
@@ -482,16 +489,11 @@ rb_grn_context_initialize (int argc, VALUE *argv, VALUE self)
|
|
482
489
|
static VALUE
|
483
490
|
rb_grn_context_close (VALUE self)
|
484
491
|
{
|
485
|
-
int rc;
|
486
|
-
grn_ctx *context;
|
487
492
|
RbGrnContext *rb_grn_context;
|
488
493
|
|
489
|
-
|
490
|
-
if (context) {
|
491
|
-
|
492
|
-
Data_Get_Struct(self, RbGrnContext, rb_grn_context);
|
493
|
-
rb_grn_context->context = NULL;
|
494
|
-
rb_grn_rc_check(rc, self);
|
494
|
+
Data_Get_Struct(self, RbGrnContext, rb_grn_context);
|
495
|
+
if (rb_grn_context->context) {
|
496
|
+
rb_grn_context_fin(rb_grn_context);
|
495
497
|
}
|
496
498
|
|
497
499
|
return Qnil;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2
2
|
/*
|
3
3
|
Copyright (C) 2014-2015 Masafumi Yokoyama <yokoyama@clear-code.com>
|
4
|
-
Copyright (C) 2009-
|
4
|
+
Copyright (C) 2009-2016 Kouhei Sutou <kou@clear-code.com>
|
5
5
|
|
6
6
|
This library is free software; you can redistribute it and/or
|
7
7
|
modify it under the terms of the GNU Lesser General Public
|
@@ -357,260 +357,6 @@ rb_grn_rc_to_exception (grn_rc rc)
|
|
357
357
|
return exception;
|
358
358
|
}
|
359
359
|
|
360
|
-
const char *
|
361
|
-
rb_grn_rc_to_message (grn_rc rc)
|
362
|
-
{
|
363
|
-
const char *message = NULL;
|
364
|
-
|
365
|
-
switch (rc) {
|
366
|
-
case GRN_SUCCESS:
|
367
|
-
return NULL;
|
368
|
-
break;
|
369
|
-
case GRN_END_OF_DATA:
|
370
|
-
message = "end of data";
|
371
|
-
break;
|
372
|
-
case GRN_UNKNOWN_ERROR:
|
373
|
-
message = "unknown error";
|
374
|
-
break;
|
375
|
-
case GRN_OPERATION_NOT_PERMITTED:
|
376
|
-
message = "operation not permitted";
|
377
|
-
break;
|
378
|
-
case GRN_NO_SUCH_FILE_OR_DIRECTORY:
|
379
|
-
message = "no such file or directory";
|
380
|
-
break;
|
381
|
-
case GRN_NO_SUCH_PROCESS:
|
382
|
-
message = "no such process";
|
383
|
-
break;
|
384
|
-
case GRN_INTERRUPTED_FUNCTION_CALL:
|
385
|
-
message = "interrupted function call";
|
386
|
-
break;
|
387
|
-
case GRN_INPUT_OUTPUT_ERROR:
|
388
|
-
message = "input output error";
|
389
|
-
break;
|
390
|
-
case GRN_NO_SUCH_DEVICE_OR_ADDRESS:
|
391
|
-
message = "no such device or address";
|
392
|
-
break;
|
393
|
-
case GRN_ARG_LIST_TOO_LONG:
|
394
|
-
message = "argument list too long";
|
395
|
-
break;
|
396
|
-
case GRN_EXEC_FORMAT_ERROR:
|
397
|
-
message = "exec format error";
|
398
|
-
break;
|
399
|
-
case GRN_BAD_FILE_DESCRIPTOR:
|
400
|
-
message = "bad file descriptor";
|
401
|
-
break;
|
402
|
-
case GRN_NO_CHILD_PROCESSES:
|
403
|
-
message = "no child processes";
|
404
|
-
break;
|
405
|
-
case GRN_RESOURCE_TEMPORARILY_UNAVAILABLE:
|
406
|
-
message = "resource temporarily unavailable";
|
407
|
-
break;
|
408
|
-
case GRN_NOT_ENOUGH_SPACE:
|
409
|
-
message = "not enough space";
|
410
|
-
break;
|
411
|
-
case GRN_PERMISSION_DENIED:
|
412
|
-
message = "permission denied";
|
413
|
-
break;
|
414
|
-
case GRN_BAD_ADDRESS:
|
415
|
-
message = "bad address";
|
416
|
-
break;
|
417
|
-
case GRN_RESOURCE_BUSY:
|
418
|
-
message = "resource busy";
|
419
|
-
break;
|
420
|
-
case GRN_FILE_EXISTS:
|
421
|
-
message = "file exists";
|
422
|
-
break;
|
423
|
-
case GRN_IMPROPER_LINK:
|
424
|
-
message = "improper link";
|
425
|
-
break;
|
426
|
-
case GRN_NO_SUCH_DEVICE:
|
427
|
-
message = "no such device";
|
428
|
-
break;
|
429
|
-
case GRN_NOT_A_DIRECTORY:
|
430
|
-
message = "not a directory";
|
431
|
-
break;
|
432
|
-
case GRN_IS_A_DIRECTORY:
|
433
|
-
message = "is a directory";
|
434
|
-
break;
|
435
|
-
case GRN_INVALID_ARGUMENT:
|
436
|
-
message = "invalid argument";
|
437
|
-
break;
|
438
|
-
case GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM:
|
439
|
-
message = "too many open files in system";
|
440
|
-
break;
|
441
|
-
case GRN_TOO_MANY_OPEN_FILES:
|
442
|
-
message = "too many open files";
|
443
|
-
break;
|
444
|
-
case GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION:
|
445
|
-
message = "inappropriate I/O control operation";
|
446
|
-
break;
|
447
|
-
case GRN_FILE_TOO_LARGE:
|
448
|
-
message = "file too large";
|
449
|
-
break;
|
450
|
-
case GRN_NO_SPACE_LEFT_ON_DEVICE:
|
451
|
-
message = "no space left on device";
|
452
|
-
break;
|
453
|
-
case GRN_INVALID_SEEK:
|
454
|
-
message = "invalid seek";
|
455
|
-
break;
|
456
|
-
case GRN_READ_ONLY_FILE_SYSTEM:
|
457
|
-
message = "read only file system";
|
458
|
-
break;
|
459
|
-
case GRN_TOO_MANY_LINKS:
|
460
|
-
message = "too many links";
|
461
|
-
break;
|
462
|
-
case GRN_BROKEN_PIPE:
|
463
|
-
message = "broken pipe";
|
464
|
-
break;
|
465
|
-
case GRN_DOMAIN_ERROR:
|
466
|
-
message = "domain error";
|
467
|
-
break;
|
468
|
-
case GRN_RESULT_TOO_LARGE:
|
469
|
-
message = "result too large";
|
470
|
-
break;
|
471
|
-
case GRN_RESOURCE_DEADLOCK_AVOIDED:
|
472
|
-
message = "resource deadlock avoided";
|
473
|
-
break;
|
474
|
-
case GRN_NO_MEMORY_AVAILABLE:
|
475
|
-
message = "no memory available";
|
476
|
-
break;
|
477
|
-
case GRN_FILENAME_TOO_LONG:
|
478
|
-
message = "filename too long";
|
479
|
-
break;
|
480
|
-
case GRN_NO_LOCKS_AVAILABLE:
|
481
|
-
message = "no locks available";
|
482
|
-
break;
|
483
|
-
case GRN_FUNCTION_NOT_IMPLEMENTED:
|
484
|
-
message = "function not implemented";
|
485
|
-
break;
|
486
|
-
case GRN_DIRECTORY_NOT_EMPTY:
|
487
|
-
message = "directory not empty";
|
488
|
-
break;
|
489
|
-
case GRN_ILLEGAL_BYTE_SEQUENCE:
|
490
|
-
message = "illegal byte sequence";
|
491
|
-
break;
|
492
|
-
case GRN_SOCKET_NOT_INITIALIZED:
|
493
|
-
message = "socket not initialized";
|
494
|
-
break;
|
495
|
-
case GRN_OPERATION_WOULD_BLOCK:
|
496
|
-
message = "operation would block";
|
497
|
-
break;
|
498
|
-
case GRN_ADDRESS_IS_NOT_AVAILABLE:
|
499
|
-
message = "address is not available";
|
500
|
-
break;
|
501
|
-
case GRN_NETWORK_IS_DOWN:
|
502
|
-
message = "network is down";
|
503
|
-
break;
|
504
|
-
case GRN_NO_BUFFER:
|
505
|
-
message = "no buffer";
|
506
|
-
break;
|
507
|
-
case GRN_SOCKET_IS_ALREADY_CONNECTED:
|
508
|
-
message = "socket is already connected";
|
509
|
-
break;
|
510
|
-
case GRN_SOCKET_IS_NOT_CONNECTED:
|
511
|
-
message = "socket is not connected";
|
512
|
-
break;
|
513
|
-
case GRN_SOCKET_IS_ALREADY_SHUTDOWNED:
|
514
|
-
message = "socket is already shutdowned";
|
515
|
-
break;
|
516
|
-
case GRN_OPERATION_TIMEOUT:
|
517
|
-
message = "operation timeout";
|
518
|
-
break;
|
519
|
-
case GRN_CONNECTION_REFUSED:
|
520
|
-
message = "connection refused";
|
521
|
-
break;
|
522
|
-
case GRN_RANGE_ERROR:
|
523
|
-
message = "range error";
|
524
|
-
break;
|
525
|
-
case GRN_TOKENIZER_ERROR:
|
526
|
-
message = "tokenizer error";
|
527
|
-
break;
|
528
|
-
case GRN_FILE_CORRUPT:
|
529
|
-
message = "file corrupt";
|
530
|
-
break;
|
531
|
-
case GRN_INVALID_FORMAT:
|
532
|
-
message = "invalid format";
|
533
|
-
break;
|
534
|
-
case GRN_OBJECT_CORRUPT:
|
535
|
-
message = "object corrupt";
|
536
|
-
break;
|
537
|
-
case GRN_TOO_MANY_SYMBOLIC_LINKS:
|
538
|
-
message = "too many symbolic links";
|
539
|
-
break;
|
540
|
-
case GRN_NOT_SOCKET:
|
541
|
-
message = "not socket";
|
542
|
-
break;
|
543
|
-
case GRN_OPERATION_NOT_SUPPORTED:
|
544
|
-
message = "operation not supported";
|
545
|
-
break;
|
546
|
-
case GRN_ADDRESS_IS_IN_USE:
|
547
|
-
message = "address is in use";
|
548
|
-
break;
|
549
|
-
case GRN_ZLIB_ERROR:
|
550
|
-
message = "ZLib error";
|
551
|
-
break;
|
552
|
-
case GRN_LZ4_ERROR:
|
553
|
-
message = "LZ4 error";
|
554
|
-
break;
|
555
|
-
case GRN_STACK_OVER_FLOW:
|
556
|
-
message = "stack over flow";
|
557
|
-
break;
|
558
|
-
case GRN_SYNTAX_ERROR:
|
559
|
-
message = "syntax error";
|
560
|
-
break;
|
561
|
-
case GRN_RETRY_MAX:
|
562
|
-
message = "retry max";
|
563
|
-
break;
|
564
|
-
case GRN_INCOMPATIBLE_FILE_FORMAT:
|
565
|
-
message = "incompatible file format";
|
566
|
-
break;
|
567
|
-
case GRN_UPDATE_NOT_ALLOWED:
|
568
|
-
message = "update isn't allowed";
|
569
|
-
break;
|
570
|
-
case GRN_TOO_SMALL_OFFSET:
|
571
|
-
message = "too small offset";
|
572
|
-
break;
|
573
|
-
case GRN_TOO_LARGE_OFFSET:
|
574
|
-
message = "too large offset";
|
575
|
-
break;
|
576
|
-
case GRN_TOO_SMALL_LIMIT:
|
577
|
-
message = "too small limit";
|
578
|
-
break;
|
579
|
-
case GRN_CAS_ERROR:
|
580
|
-
message = "CAS error";
|
581
|
-
break;
|
582
|
-
case GRN_UNSUPPORTED_COMMAND_VERSION:
|
583
|
-
message = "unsupported command version";
|
584
|
-
break;
|
585
|
-
case GRN_NORMALIZER_ERROR:
|
586
|
-
message = "normalizer error";
|
587
|
-
break;
|
588
|
-
case GRN_TOKEN_FILTER_ERROR:
|
589
|
-
message = "token filter error";
|
590
|
-
break;
|
591
|
-
case GRN_COMMAND_ERROR:
|
592
|
-
message = "command error";
|
593
|
-
break;
|
594
|
-
case GRN_PLUGIN_ERROR:
|
595
|
-
message = "plugin error";
|
596
|
-
break;
|
597
|
-
case GRN_SCORER_ERROR:
|
598
|
-
message = "scorer error";
|
599
|
-
break;
|
600
|
-
case GRN_CANCEL:
|
601
|
-
message = "cancel";
|
602
|
-
break;
|
603
|
-
case GRN_WINDOW_FUNCTION_ERROR:
|
604
|
-
message = "window function error";
|
605
|
-
break;
|
606
|
-
}
|
607
|
-
|
608
|
-
if (!message)
|
609
|
-
rb_raise(rb_eGrnError, "invalid return code: %d", rc);
|
610
|
-
|
611
|
-
return message;
|
612
|
-
}
|
613
|
-
|
614
360
|
void
|
615
361
|
rb_grn_rc_check (grn_rc rc, VALUE related_object)
|
616
362
|
{
|
@@ -620,7 +366,7 @@ rb_grn_rc_check (grn_rc rc, VALUE related_object)
|
|
620
366
|
exception = rb_grn_rc_to_exception(rc);
|
621
367
|
if (NIL_P(exception))
|
622
368
|
return;
|
623
|
-
message =
|
369
|
+
message = grn_rc_to_string(rc);
|
624
370
|
|
625
371
|
if (NIL_P(related_object))
|
626
372
|
rb_raise(exception, "%s", message);
|
@@ -829,13 +829,16 @@ static VALUE
|
|
829
829
|
rb_grn_index_column_with_section_p (VALUE self)
|
830
830
|
{
|
831
831
|
grn_obj *column;
|
832
|
+
grn_ctx *context;
|
833
|
+
grn_column_flags flags;
|
832
834
|
|
833
|
-
rb_grn_index_column_deconstruct(SELF(self), &column,
|
835
|
+
rb_grn_index_column_deconstruct(SELF(self), &column, &context,
|
834
836
|
NULL, NULL,
|
835
837
|
NULL, NULL, NULL, NULL, NULL,
|
836
838
|
NULL, NULL);
|
837
839
|
|
838
|
-
|
840
|
+
flags = grn_column_get_flags(context, column);
|
841
|
+
return CBOOL2RVAL(flags & GRN_OBJ_WITH_SECTION);
|
839
842
|
}
|
840
843
|
|
841
844
|
/*
|
@@ -847,13 +850,16 @@ static VALUE
|
|
847
850
|
rb_grn_index_column_with_weight_p (VALUE self)
|
848
851
|
{
|
849
852
|
grn_obj *column;
|
853
|
+
grn_ctx *context;
|
854
|
+
grn_column_flags flags;
|
850
855
|
|
851
|
-
rb_grn_index_column_deconstruct(SELF(self), &column,
|
856
|
+
rb_grn_index_column_deconstruct(SELF(self), &column, &context,
|
852
857
|
NULL, NULL,
|
853
858
|
NULL, NULL, NULL, NULL, NULL,
|
854
859
|
NULL, NULL);
|
855
860
|
|
856
|
-
|
861
|
+
flags = grn_column_get_flags(context, column);
|
862
|
+
return CBOOL2RVAL(flags & GRN_OBJ_WITH_WEIGHT);
|
857
863
|
}
|
858
864
|
|
859
865
|
/*
|
@@ -865,13 +871,16 @@ static VALUE
|
|
865
871
|
rb_grn_index_column_with_position_p (VALUE self)
|
866
872
|
{
|
867
873
|
grn_obj *column;
|
874
|
+
grn_ctx *context;
|
875
|
+
grn_column_flags flags;
|
868
876
|
|
869
|
-
rb_grn_index_column_deconstruct(SELF(self), &column,
|
877
|
+
rb_grn_index_column_deconstruct(SELF(self), &column, &context,
|
870
878
|
NULL, NULL,
|
871
879
|
NULL, NULL, NULL, NULL, NULL,
|
872
880
|
NULL, NULL);
|
873
881
|
|
874
|
-
|
882
|
+
flags = grn_column_get_flags(context, column);
|
883
|
+
return CBOOL2RVAL(flags & GRN_OBJ_WITH_POSITION);
|
875
884
|
}
|
876
885
|
|
877
886
|
/*
|
@@ -898,6 +907,7 @@ rb_grn_index_column_open_cursor (int argc, VALUE *argv, VALUE self)
|
|
898
907
|
{
|
899
908
|
grn_ctx *context;
|
900
909
|
grn_obj *column;
|
910
|
+
grn_column_flags column_flags;
|
901
911
|
grn_obj *range_object;
|
902
912
|
grn_table_cursor *table_cursor;
|
903
913
|
grn_id rid_min = GRN_ID_NIL;
|
@@ -928,20 +938,22 @@ rb_grn_index_column_open_cursor (int argc, VALUE *argv, VALUE self)
|
|
928
938
|
rb_table = GRNOBJECT2RVAL(Qnil, context, range_object, GRN_FALSE);
|
929
939
|
rb_lexicon = rb_iv_get(rb_table_cursor, "@table");
|
930
940
|
|
941
|
+
column_flags = grn_column_get_flags(context, column);
|
942
|
+
|
931
943
|
if (NIL_P(rb_with_section)) {
|
932
|
-
flags |=
|
944
|
+
flags |= column_flags & GRN_OBJ_WITH_SECTION;
|
933
945
|
} else if (RVAL2CBOOL(rb_with_section)) {
|
934
946
|
flags |= GRN_OBJ_WITH_SECTION;
|
935
947
|
}
|
936
948
|
|
937
949
|
if (NIL_P(rb_with_weight)) {
|
938
|
-
flags |=
|
950
|
+
flags |= column_flags & GRN_OBJ_WITH_WEIGHT;
|
939
951
|
} else if (RVAL2CBOOL(rb_with_weight)) {
|
940
952
|
flags |= GRN_OBJ_WITH_WEIGHT;
|
941
953
|
}
|
942
954
|
|
943
955
|
if (NIL_P(rb_with_position)) {
|
944
|
-
flags |=
|
956
|
+
flags |= column_flags & GRN_OBJ_WITH_POSITION;
|
945
957
|
} else if (RVAL2CBOOL(rb_with_position)) {
|
946
958
|
flags |= GRN_OBJ_WITH_POSITION;
|
947
959
|
}
|
data/ext/groonga/rb-grn-object.c
CHANGED
@@ -545,7 +545,7 @@ rb_grn_named_object_set_name (RbGrnNamedObject *rb_grn_named_object,
|
|
545
545
|
RB_GRN_OBJECT(rb_grn_named_object)->context,
|
546
546
|
RB_GRN_OBJECT(rb_grn_named_object)->object,
|
547
547
|
rb_grn_named_object,
|
548
|
-
grn_obj_type_to_string(RB_GRN_OBJECT(rb_grn_named_object)->header.type),
|
548
|
+
grn_obj_type_to_string(RB_GRN_OBJECT(rb_grn_named_object)->object->header.type),
|
549
549
|
RB_GRN_OBJECT(rb_grn_named_object)->object->header.type,
|
550
550
|
name_size, name);
|
551
551
|
}
|
@@ -587,6 +587,10 @@ rb_grn_object_close_raw (RbGrnObject *rb_grn_object)
|
|
587
587
|
|
588
588
|
rb_grn_object_deconstruct(rb_grn_object, &object, &context,
|
589
589
|
NULL, NULL, NULL, NULL);
|
590
|
+
debug("object:close: %p:%p:%s\n",
|
591
|
+
context,
|
592
|
+
object,
|
593
|
+
object ? grn_obj_type_to_string(object->header.type) : "(null)");
|
590
594
|
if (object && context) {
|
591
595
|
if (rb_grn_object->have_finalizer) {
|
592
596
|
rb_grn_object_run_finalizer(context, object, rb_grn_object);
|
@@ -595,6 +599,7 @@ rb_grn_object_close_raw (RbGrnObject *rb_grn_object)
|
|
595
599
|
}
|
596
600
|
grn_obj_close(context, object);
|
597
601
|
}
|
602
|
+
debug("object:close: %p:%p: done\n", context, object);
|
598
603
|
}
|
599
604
|
|
600
605
|
/*
|
@@ -825,11 +830,21 @@ rb_grn_object_inspect_content_flags_with_label (VALUE inspected,
|
|
825
830
|
grn_obj *object)
|
826
831
|
{
|
827
832
|
grn_obj_flags flags;
|
833
|
+
grn_column_flags column_flags = 0;
|
828
834
|
VALUE inspected_flags;
|
829
835
|
|
830
836
|
rb_str_cat2(inspected, "flags: ");
|
831
837
|
|
832
838
|
flags = object->header.flags;
|
839
|
+
switch (object->header.type) {
|
840
|
+
case GRN_COLUMN_FIX_SIZE:
|
841
|
+
case GRN_COLUMN_VAR_SIZE:
|
842
|
+
case GRN_COLUMN_INDEX:
|
843
|
+
column_flags = grn_column_get_flags(context, object);
|
844
|
+
break;
|
845
|
+
default:
|
846
|
+
break;
|
847
|
+
}
|
833
848
|
|
834
849
|
inspected_flags = rb_ary_new();
|
835
850
|
|
@@ -845,96 +860,113 @@ rb_grn_object_inspect_content_flags_with_label (VALUE inspected,
|
|
845
860
|
}
|
846
861
|
|
847
862
|
switch (object->header.type) {
|
848
|
-
|
849
|
-
case GRN_COLUMN_VAR_SIZE:
|
850
|
-
case GRN_TYPE:
|
863
|
+
case GRN_TYPE:
|
851
864
|
if (flags & GRN_OBJ_KEY_VAR_SIZE) {
|
852
865
|
rb_ary_push(inspected_flags, rb_str_new_cstr("KEY_VAR_SIZE"));
|
853
866
|
} else {
|
854
867
|
switch (flags & GRN_OBJ_KEY_MASK) {
|
855
|
-
|
868
|
+
case GRN_OBJ_KEY_UINT:
|
856
869
|
rb_ary_push(inspected_flags, rb_str_new_cstr("KEY_UINT"));
|
857
870
|
break;
|
858
|
-
|
871
|
+
case GRN_OBJ_KEY_INT:
|
859
872
|
rb_ary_push(inspected_flags, rb_str_new_cstr("KEY_INT"));
|
860
873
|
break;
|
861
|
-
|
874
|
+
case GRN_OBJ_KEY_FLOAT:
|
862
875
|
rb_ary_push(inspected_flags, rb_str_new_cstr("KEY_FLOAT"));
|
863
876
|
break;
|
864
|
-
|
877
|
+
case GRN_OBJ_KEY_GEO_POINT:
|
865
878
|
rb_ary_push(inspected_flags, rb_str_new_cstr("KEY_GEO_POINT"));
|
866
879
|
break;
|
867
|
-
|
880
|
+
default:
|
868
881
|
break;
|
869
882
|
}
|
870
883
|
}
|
871
|
-
|
872
|
-
default:
|
884
|
+
default:
|
873
885
|
break;
|
874
886
|
}
|
875
887
|
|
876
888
|
switch (object->header.type) {
|
877
|
-
|
878
|
-
|
879
|
-
|
889
|
+
case GRN_TABLE_HASH_KEY:
|
890
|
+
case GRN_TABLE_PAT_KEY:
|
891
|
+
case GRN_TABLE_DAT_KEY:
|
880
892
|
if (flags & GRN_OBJ_KEY_WITH_SIS)
|
881
893
|
rb_ary_push(inspected_flags, rb_str_new_cstr("KEY_WITH_SIS"));
|
882
894
|
if (flags & GRN_OBJ_KEY_NORMALIZE)
|
883
895
|
rb_ary_push(inspected_flags, rb_str_new_cstr("KEY_NORMALIZE"));
|
884
896
|
break;
|
885
|
-
|
897
|
+
default:
|
886
898
|
break;
|
887
899
|
}
|
888
900
|
|
889
|
-
|
890
|
-
|
901
|
+
switch (object->header.type) {
|
902
|
+
case GRN_COLUMN_FIX_SIZE:
|
903
|
+
case GRN_COLUMN_VAR_SIZE:
|
904
|
+
if (column_flags & GRN_OBJ_COLUMN_SCALAR) {
|
891
905
|
rb_ary_push(inspected_flags, rb_str_new_cstr("COLUMN_SCALAR"));
|
892
|
-
if (
|
906
|
+
} else if (column_flags & GRN_OBJ_COLUMN_VECTOR) {
|
893
907
|
rb_ary_push(inspected_flags, rb_str_new_cstr("COLUMN_VECTOR"));
|
894
|
-
|
895
|
-
|
908
|
+
}
|
909
|
+
break;
|
910
|
+
default:
|
911
|
+
break;
|
896
912
|
}
|
897
913
|
|
898
914
|
switch (object->header.type) {
|
899
|
-
|
900
|
-
|
901
|
-
if (
|
915
|
+
case GRN_COLUMN_FIX_SIZE:
|
916
|
+
case GRN_COLUMN_VAR_SIZE:
|
917
|
+
if (column_flags & GRN_OBJ_COMPRESS_ZLIB) {
|
902
918
|
rb_ary_push(inspected_flags, rb_str_new_cstr("COMPRESS_ZLIB"));
|
903
|
-
if (
|
919
|
+
} else if (column_flags & GRN_OBJ_COMPRESS_LZ4) {
|
904
920
|
rb_ary_push(inspected_flags, rb_str_new_cstr("COMPRESS_LZ4"));
|
921
|
+
}
|
905
922
|
break;
|
906
|
-
|
907
|
-
if (
|
923
|
+
case GRN_COLUMN_INDEX:
|
924
|
+
if (column_flags & GRN_OBJ_WITH_SECTION)
|
908
925
|
rb_ary_push(inspected_flags, rb_str_new_cstr("WITH_SECTION"));
|
909
|
-
if (
|
926
|
+
if (column_flags & GRN_OBJ_WITH_WEIGHT)
|
910
927
|
rb_ary_push(inspected_flags, rb_str_new_cstr("WITH_WEIGHT"));
|
911
|
-
if (
|
928
|
+
if (column_flags & GRN_OBJ_WITH_POSITION)
|
912
929
|
rb_ary_push(inspected_flags, rb_str_new_cstr("WITH_POSITION"));
|
913
930
|
break;
|
914
|
-
|
931
|
+
default:
|
915
932
|
break;
|
916
933
|
}
|
917
934
|
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
if (flags &
|
927
|
-
rb_ary_push(inspected_flags, rb_str_new_cstr("
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
935
|
+
switch (object->header.type) {
|
936
|
+
case GRN_TABLE_NO_KEY:
|
937
|
+
case GRN_TABLE_HASH_KEY:
|
938
|
+
case GRN_TABLE_PAT_KEY:
|
939
|
+
case GRN_TABLE_DAT_KEY:
|
940
|
+
if (flags & GRN_OBJ_RING_BUFFER)
|
941
|
+
rb_ary_push(inspected_flags, rb_str_new_cstr("RING_BUFFER"));
|
942
|
+
|
943
|
+
if (flags & GRN_OBJ_WITH_SUBREC) {
|
944
|
+
rb_ary_push(inspected_flags, rb_str_new_cstr("WITH_SUBREC"));
|
945
|
+
|
946
|
+
if (flags & GRN_OBJ_UNIT_DOCUMENT_SECTION)
|
947
|
+
rb_ary_push(inspected_flags,
|
948
|
+
rb_str_new_cstr("UNIT_DOCUMENT_SECTION"));
|
949
|
+
if (flags & GRN_OBJ_UNIT_DOCUMENT_POSITION)
|
950
|
+
rb_ary_push(inspected_flags,
|
951
|
+
rb_str_new_cstr("UNIT_DOCUMENT_POSITION"));
|
952
|
+
|
953
|
+
if (flags & GRN_OBJ_UNIT_SECTION_POSITION)
|
954
|
+
rb_ary_push(inspected_flags,
|
955
|
+
rb_str_new_cstr("UNIT_SECTION_POSITION"));
|
956
|
+
|
957
|
+
if (flags & GRN_OBJ_UNIT_USERDEF_DOCUMENT)
|
958
|
+
rb_ary_push(inspected_flags,
|
959
|
+
rb_str_new_cstr("UNIT_USERDEF_DOCUMENT"));
|
960
|
+
if (flags & GRN_OBJ_UNIT_USERDEF_SECTION)
|
961
|
+
rb_ary_push(inspected_flags,
|
962
|
+
rb_str_new_cstr("UNIT_USERDEF_SECTION"));
|
963
|
+
if (flags & GRN_OBJ_UNIT_USERDEF_POSITION)
|
964
|
+
rb_ary_push(inspected_flags,
|
965
|
+
rb_str_new_cstr("UNIT_USERDEF_POSITION"));
|
966
|
+
}
|
967
|
+
break;
|
968
|
+
default:
|
969
|
+
break;
|
938
970
|
}
|
939
971
|
|
940
972
|
rb_str_cat2(inspected, "<");
|
@@ -1274,19 +1306,23 @@ rb_grn_object_array_reference (VALUE self, VALUE rb_id)
|
|
1274
1306
|
break;
|
1275
1307
|
case GRN_COLUMN_VAR_SIZE:
|
1276
1308
|
case GRN_COLUMN_FIX_SIZE:
|
1277
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1284
|
-
|
1285
|
-
|
1286
|
-
|
1287
|
-
|
1288
|
-
|
1289
|
-
|
1309
|
+
{
|
1310
|
+
grn_column_flags column_flags;
|
1311
|
+
column_flags = grn_column_get_flags(context, object);
|
1312
|
+
switch (column_flags & GRN_OBJ_COLUMN_TYPE_MASK) {
|
1313
|
+
case GRN_OBJ_COLUMN_VECTOR:
|
1314
|
+
GRN_OBJ_INIT(&value, GRN_VECTOR, 0, range_id);
|
1315
|
+
break;
|
1316
|
+
case GRN_OBJ_COLUMN_SCALAR:
|
1317
|
+
GRN_OBJ_INIT(&value, GRN_BULK, 0, range_id);
|
1318
|
+
break;
|
1319
|
+
default:
|
1320
|
+
rb_raise(rb_eGrnError, "unsupported column type: %u: %s",
|
1321
|
+
range_type, rb_grn_inspect(self));
|
1322
|
+
break;
|
1323
|
+
}
|
1324
|
+
}
|
1325
|
+
break;
|
1290
1326
|
case GRN_COLUMN_INDEX:
|
1291
1327
|
GRN_UINT32_INIT(&value, 0);
|
1292
1328
|
break;
|
data/ext/groonga/rb-grn-table.c
CHANGED
@@ -242,7 +242,7 @@ rb_grn_table_define_column (int argc, VALUE *argv, VALUE self)
|
|
242
242
|
grn_obj *value_type, *column;
|
243
243
|
char *name = NULL, *path = NULL;
|
244
244
|
unsigned name_size = 0;
|
245
|
-
|
245
|
+
grn_column_flags flags = 0;
|
246
246
|
VALUE rb_name, rb_value_type;
|
247
247
|
VALUE options, rb_path, rb_persistent, rb_compress, rb_type, rb_with_weight;
|
248
248
|
VALUE columns;
|
@@ -372,7 +372,7 @@ rb_grn_table_define_index_column (int argc, VALUE *argv, VALUE self)
|
|
372
372
|
grn_obj *value_type, *column;
|
373
373
|
char *name = NULL, *path = NULL;
|
374
374
|
unsigned name_size = 0;
|
375
|
-
|
375
|
+
grn_column_flags flags = GRN_OBJ_COLUMN_INDEX;
|
376
376
|
VALUE rb_name, rb_value_type;
|
377
377
|
VALUE options, rb_path, rb_persistent;
|
378
378
|
VALUE rb_with_section, rb_with_weight, rb_with_position;
|
@@ -28,14 +28,16 @@ rb_grn_variable_size_column_bind (RbGrnVariableSizeColumn *rb_column,
|
|
28
28
|
grn_ctx *context, grn_obj *column)
|
29
29
|
{
|
30
30
|
RbGrnObject *rb_grn_object;
|
31
|
-
|
31
|
+
grn_column_flags flags;
|
32
|
+
grn_column_flags column_type;
|
32
33
|
unsigned char value_type;
|
33
34
|
|
34
35
|
rb_grn_object = RB_GRN_OBJECT(rb_column);
|
35
36
|
rb_grn_column_bind(RB_GRN_COLUMN(rb_column), context, column);
|
36
37
|
|
37
38
|
rb_column->element_value = NULL;
|
38
|
-
|
39
|
+
flags = grn_column_get_flags(context, column);
|
40
|
+
column_type = (flags & GRN_OBJ_COLUMN_TYPE_MASK);
|
39
41
|
if (column_type != GRN_OBJ_COLUMN_VECTOR) {
|
40
42
|
return;
|
41
43
|
}
|
@@ -51,7 +53,7 @@ rb_grn_variable_size_column_bind (RbGrnVariableSizeColumn *rb_column,
|
|
51
53
|
value_type = GRN_VECTOR;
|
52
54
|
break;
|
53
55
|
}
|
54
|
-
if (
|
56
|
+
if (flags & GRN_OBJ_WITH_WEIGHT) {
|
55
57
|
rb_column->element_value = grn_obj_open(context, value_type, 0,
|
56
58
|
rb_grn_object->range_id);
|
57
59
|
}
|
@@ -161,6 +163,7 @@ rb_grn_variable_size_column_array_reference (VALUE self, VALUE rb_id)
|
|
161
163
|
{
|
162
164
|
grn_ctx *context = NULL;
|
163
165
|
grn_obj *column, *range;
|
166
|
+
grn_column_flags flags;
|
164
167
|
grn_id id;
|
165
168
|
grn_obj *value;
|
166
169
|
VALUE rb_value;
|
@@ -171,7 +174,8 @@ rb_grn_variable_size_column_array_reference (VALUE self, VALUE rb_id)
|
|
171
174
|
NULL, NULL, &value, NULL,
|
172
175
|
NULL, &range);
|
173
176
|
|
174
|
-
|
177
|
+
flags = grn_column_get_flags(context, column);
|
178
|
+
if (!(flags & GRN_OBJ_WITH_WEIGHT)) {
|
175
179
|
return rb_call_super(1, &rb_id);
|
176
180
|
}
|
177
181
|
|
@@ -373,6 +377,7 @@ rb_grn_variable_size_column_array_set (VALUE self, VALUE rb_id, VALUE rb_value)
|
|
373
377
|
{
|
374
378
|
grn_ctx *context = NULL;
|
375
379
|
grn_obj *column, *range;
|
380
|
+
grn_column_flags column_flags;
|
376
381
|
grn_rc rc;
|
377
382
|
grn_id id;
|
378
383
|
grn_obj *value, *element_value;
|
@@ -382,7 +387,8 @@ rb_grn_variable_size_column_array_set (VALUE self, VALUE rb_id, VALUE rb_value)
|
|
382
387
|
NULL, NULL, &value, &element_value,
|
383
388
|
NULL, &range);
|
384
389
|
|
385
|
-
|
390
|
+
column_flags = grn_column_get_flags(context, column);
|
391
|
+
if (!(column_flags & GRN_OBJ_WITH_WEIGHT)) {
|
386
392
|
VALUE args[2];
|
387
393
|
args[0] = rb_id;
|
388
394
|
args[1] = rb_value;
|
@@ -469,7 +475,7 @@ rb_grn_variable_size_column_compressed_p (int argc, VALUE *argv, VALUE self)
|
|
469
475
|
RbGrnVariableSizeColumn *rb_grn_column;
|
470
476
|
grn_ctx *context = NULL;
|
471
477
|
grn_obj *column;
|
472
|
-
|
478
|
+
grn_column_flags flags;
|
473
479
|
VALUE type;
|
474
480
|
grn_bool compressed_p = GRN_FALSE;
|
475
481
|
grn_bool accept_any_type = GRN_FALSE;
|
@@ -500,7 +506,7 @@ rb_grn_variable_size_column_compressed_p (int argc, VALUE *argv, VALUE self)
|
|
500
506
|
NULL, NULL,
|
501
507
|
NULL, NULL);
|
502
508
|
|
503
|
-
flags = column
|
509
|
+
flags = grn_column_get_flags(context, column);
|
504
510
|
switch (flags & GRN_OBJ_COMPRESS_MASK) {
|
505
511
|
case GRN_OBJ_COMPRESS_ZLIB:
|
506
512
|
if (accept_any_type || need_zlib_check) {
|
data/ext/groonga/rb-grn.h
CHANGED
@@ -99,7 +99,7 @@ RB_GRN_BEGIN_DECLS
|
|
99
99
|
|
100
100
|
#define RB_GRN_MAJOR_VERSION 6
|
101
101
|
#define RB_GRN_MINOR_VERSION 0
|
102
|
-
#define RB_GRN_MICRO_VERSION
|
102
|
+
#define RB_GRN_MICRO_VERSION 7
|
103
103
|
|
104
104
|
#define RB_GRN_OBJECT(object) ((RbGrnObject *)(object))
|
105
105
|
#define RB_GRN_NAMED_OBJECT(object) ((RbGrnNamedObject *)(object))
|
@@ -369,7 +369,6 @@ void rb_grn_init_id (VALUE mGrn);
|
|
369
369
|
void rb_grn_init_name (VALUE mGrn);
|
370
370
|
|
371
371
|
VALUE rb_grn_rc_to_exception (grn_rc rc);
|
372
|
-
const char *rb_grn_rc_to_message (grn_rc rc);
|
373
372
|
void rb_grn_rc_check (grn_rc rc,
|
374
373
|
VALUE related_object);
|
375
374
|
|
data/ext/groonga/rb-groonga.c
CHANGED
@@ -21,13 +21,14 @@
|
|
21
21
|
|
22
22
|
grn_bool rb_grn_exited = GRN_FALSE;
|
23
23
|
|
24
|
-
static
|
24
|
+
static VALUE
|
25
25
|
finish_groonga (VALUE data)
|
26
26
|
{
|
27
27
|
debug("finish\n");
|
28
28
|
grn_fin();
|
29
29
|
rb_grn_exited = GRN_TRUE;
|
30
30
|
debug("finish: done\n");
|
31
|
+
return Qnil;
|
31
32
|
}
|
32
33
|
|
33
34
|
/*
|
@@ -212,7 +213,7 @@ Init_groonga (void)
|
|
212
213
|
rb_grn_init_exception(mGrn);
|
213
214
|
|
214
215
|
rb_grn_rc_check(grn_init(), Qnil);
|
215
|
-
|
216
|
+
rb_define_finalizer(mGrn, rb_proc_new(finish_groonga, Qnil));
|
216
217
|
|
217
218
|
rb_grn_init_version(mGrn);
|
218
219
|
rb_grn_init_lock_timeout(mGrn);
|
data/rroonga-build.rb
CHANGED
@@ -18,15 +18,15 @@ module RroongaBuild
|
|
18
18
|
module RequiredGroongaVersion
|
19
19
|
MAJOR = 6
|
20
20
|
MINOR = 0
|
21
|
-
MICRO =
|
21
|
+
MICRO = 7
|
22
22
|
VERSION = [MAJOR, MINOR, MICRO]
|
23
|
-
RELEASED_DATE = Time.utc(2016,
|
23
|
+
RELEASED_DATE = Time.utc(2016, 7, 29)
|
24
24
|
end
|
25
25
|
|
26
26
|
module LatestGroongaVersion
|
27
27
|
MAJOR = 6
|
28
28
|
MINOR = 0
|
29
|
-
MICRO =
|
29
|
+
MICRO = 7
|
30
30
|
VERSION = [MAJOR, MINOR, MICRO]
|
31
31
|
end
|
32
32
|
|
data/test/test-schema.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rroonga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2016-
|
15
|
+
date: 2016-08-13 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: pkg-config
|