rroonga 10.0.2 → 12.0.0
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/Rakefile +24 -0
- data/doc/text/news.md +36 -0
- data/ext/groonga/extconf.rb +14 -2
- data/ext/groonga/rb-grn-accessor.c +2 -2
- data/ext/groonga/rb-grn-column-cache.c +3 -3
- data/ext/groonga/rb-grn-column.c +4 -4
- data/ext/groonga/rb-grn-context.c +82 -58
- data/ext/groonga/rb-grn-data-column.c +4 -4
- data/ext/groonga/rb-grn-database.c +45 -26
- data/ext/groonga/rb-grn-double-array-trie.c +2 -2
- data/ext/groonga/rb-grn-encoding-support.c +2 -2
- data/ext/groonga/rb-grn-exception.c +14 -0
- data/ext/groonga/rb-grn-expression.c +3 -3
- data/ext/groonga/rb-grn-fix-size-column.c +2 -2
- data/ext/groonga/rb-grn-flushable.c +2 -1
- data/ext/groonga/rb-grn-hash.c +2 -2
- data/ext/groonga/rb-grn-index-column.c +3 -3
- data/ext/groonga/rb-grn-index-cursor.c +2 -2
- data/ext/groonga/rb-grn-inverted-index-cursor.c +3 -3
- data/ext/groonga/rb-grn-object.c +30 -9
- data/ext/groonga/rb-grn-operator.c +100 -259
- data/ext/groonga/rb-grn-patricia-trie.c +2 -2
- data/ext/groonga/rb-grn-plugin.c +34 -22
- data/ext/groonga/rb-grn-request-timer-id.c +2 -2
- data/ext/groonga/rb-grn-snippet.c +3 -3
- data/ext/groonga/rb-grn-table-cursor-key-support.c +2 -2
- data/ext/groonga/rb-grn-table-cursor.c +3 -3
- data/ext/groonga/rb-grn-table-key-support.c +3 -3
- data/ext/groonga/rb-grn-table.c +63 -45
- data/ext/groonga/rb-grn-variable-size-column.c +2 -2
- data/ext/groonga/rb-grn-variable.c +2 -2
- data/ext/groonga/rb-grn.h +8 -5
- data/ext/groonga/rb-groonga.c +5 -1
- data/lib/groonga/context.rb +32 -0
- data/rroonga-build.rb +5 -4
- data/rroonga.gemspec +5 -2
- data/test/groonga-test-utils.rb +3 -0
- data/test/run-test.rb +1 -1
- data/test/test-index-column.rb +3 -3
- data/test/test-logger.rb +2 -0
- data/test/test-ractor.rb +65 -0
- data/test/test-remote.rb +16 -0
- data/test/test-table-arrow.rb +21 -9
- metadata +84 -68
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2
2
|
/*
|
3
|
-
Copyright (C) 2009-
|
3
|
+
Copyright (C) 2009-2021 Sutou Kouhei <kou@clear-code.com>
|
4
4
|
Copyright (C) 2016 Masafumi Yokoyama <yokoyama@clear-code.com>
|
5
5
|
|
6
6
|
This library is free software; you can redistribute it and/or
|
@@ -19,7 +19,7 @@
|
|
19
19
|
|
20
20
|
#include "rb-grn.h"
|
21
21
|
|
22
|
-
#define SELF(object) ((RbGrnColumn *)
|
22
|
+
#define SELF(object) ((RbGrnColumn *)RTYPEDDATA_DATA(object))
|
23
23
|
|
24
24
|
VALUE rb_cGrnFixSizeColumn;
|
25
25
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
/* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2
2
|
/*
|
3
3
|
Copyright (C) 2015 Masafumi Yokoyama <yokoyama@clear-code.com>
|
4
|
+
Copyright (C) 2021 Sutou Kouhei <kou@clear-code.com>
|
4
5
|
|
5
6
|
This library is free software; you can redistribute it and/or
|
6
7
|
modify it under the terms of the GNU Lesser General Public
|
@@ -18,7 +19,7 @@
|
|
18
19
|
|
19
20
|
#include "rb-grn.h"
|
20
21
|
|
21
|
-
#define SELF(object) (RB_GRN_OBJECT(
|
22
|
+
#define SELF(object) (RB_GRN_OBJECT(RTYPEDDATA_DATA(object)))
|
22
23
|
|
23
24
|
VALUE rb_mGrnFlushable;
|
24
25
|
|
data/ext/groonga/rb-grn-hash.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2
2
|
/*
|
3
|
-
Copyright (C) 2009-
|
3
|
+
Copyright (C) 2009-2021 Sutou Kouhei <kou@clear-code.com>
|
4
4
|
|
5
5
|
This library is free software; you can redistribute it and/or
|
6
6
|
modify it under the terms of the GNU Lesser General Public
|
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
#include "rb-grn.h"
|
20
20
|
|
21
|
-
#define SELF(object) ((RbGrnTableKeySupport *)
|
21
|
+
#define SELF(object) ((RbGrnTableKeySupport *)RTYPEDDATA_DATA(object))
|
22
22
|
|
23
23
|
VALUE rb_cGrnHash;
|
24
24
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
/* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2
2
|
/*
|
3
|
-
Copyright (C)
|
4
|
-
Copyright (C) 2009-2017 Kouhei Sutou <kou@clear-code.com>
|
3
|
+
Copyright (C) 2009-2021 Sutou Kouhei <kou@clear-code.com>
|
5
4
|
Copyright (C) 2016 Masafumi Yokoyama <yokoyama@clear-code.com>
|
5
|
+
Copyright (C) 2019 Horimoto Yasuhiro <horimoto@clear-code.com>
|
6
6
|
|
7
7
|
This library is free software; you can redistribute it and/or
|
8
8
|
modify it under the terms of the GNU Lesser General Public
|
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
#include <string.h>
|
24
24
|
|
25
|
-
#define SELF(object) ((RbGrnIndexColumn *)
|
25
|
+
#define SELF(object) ((RbGrnIndexColumn *)RTYPEDDATA_DATA(object))
|
26
26
|
|
27
27
|
VALUE rb_cGrnIndexColumn;
|
28
28
|
|
@@ -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) 2011 Haruka Yoshihara <yoshihara@clear-code.com>
|
4
|
-
Copyright (C) 2012 Kouhei
|
4
|
+
Copyright (C) 2012-2021 Sutou Kouhei <kou@clear-code.com>
|
5
5
|
Copyright (C) 2019 Horimoto Yasuhiro <horimoto@clear-code.com>
|
6
6
|
|
7
7
|
This library is free software; you can redistribute it and/or
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
#include "rb-grn.h"
|
22
22
|
|
23
|
-
#define SELF(object) ((RbGrnIndexCursor *)
|
23
|
+
#define SELF(object) ((RbGrnIndexCursor *)RTYPEDDATA_DATA(object))
|
24
24
|
|
25
25
|
VALUE rb_cGrnIndexCursor;
|
26
26
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2
2
|
/*
|
3
|
-
Copyright (C) 2017 Kouhei
|
3
|
+
Copyright (C) 2017-2021 Sutou Kouhei <kou@clear-code.com>
|
4
4
|
|
5
5
|
This library is free software; you can redistribute it and/or
|
6
6
|
modify it under the terms of the GNU Lesser General Public
|
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
#include "rb-grn.h"
|
20
20
|
|
21
|
-
#define SELF(object) ((RbGrnInvertedIndexCursor *)
|
21
|
+
#define SELF(object) ((RbGrnInvertedIndexCursor *)RTYPEDDATA_DATA(object))
|
22
22
|
|
23
23
|
typedef struct _RbGrnInvertedIndexCursor RbGrnInvertedIndexCursor;
|
24
24
|
struct _RbGrnInvertedIndexCursor
|
@@ -255,7 +255,7 @@ void
|
|
255
255
|
rb_grn_init_inverted_index_cursor (VALUE mGrn)
|
256
256
|
{
|
257
257
|
rb_cGrnInvertedIndexCursor =
|
258
|
-
rb_define_class_under(mGrn, "InvertedIndexCursor",
|
258
|
+
rb_define_class_under(mGrn, "InvertedIndexCursor", rb_cObject);
|
259
259
|
rb_include_module(rb_cGrnInvertedIndexCursor, rb_mEnumerable);
|
260
260
|
|
261
261
|
rb_define_method(rb_cGrnInvertedIndexCursor, "next",
|
data/ext/groonga/rb-grn-object.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2
2
|
/*
|
3
|
-
Copyright (C) 2009-
|
3
|
+
Copyright (C) 2009-2021 Sutou Kouhei <kou@clear-code.com>
|
4
4
|
Copyright (C) 2014-2016 Masafumi Yokoyama <yokoyama@clear-code.com>
|
5
5
|
Copyright (C) 2019 Horimoto Yasuhiro <horimoto@clear-code.com>
|
6
6
|
|
@@ -28,10 +28,28 @@
|
|
28
28
|
|
29
29
|
#include "rb-grn.h"
|
30
30
|
|
31
|
-
#define SELF(object) ((RbGrnObject *)
|
31
|
+
#define SELF(object) ((RbGrnObject *)RTYPEDDATA_DATA(object))
|
32
32
|
|
33
33
|
VALUE rb_cGrnObject;
|
34
34
|
|
35
|
+
static void
|
36
|
+
rb_grn_object_dfree (void *pointer)
|
37
|
+
{
|
38
|
+
rb_grn_object_free(pointer);
|
39
|
+
}
|
40
|
+
|
41
|
+
rb_data_type_t rb_grn_object_data_type = {
|
42
|
+
"Groonga::Object",
|
43
|
+
{
|
44
|
+
NULL,
|
45
|
+
rb_grn_object_dfree,
|
46
|
+
NULL,
|
47
|
+
},
|
48
|
+
NULL,
|
49
|
+
NULL,
|
50
|
+
RUBY_TYPED_FREE_IMMEDIATELY
|
51
|
+
};
|
52
|
+
|
35
53
|
grn_obj *
|
36
54
|
rb_grn_object_from_ruby_object (VALUE object, grn_ctx **context)
|
37
55
|
{
|
@@ -73,7 +91,10 @@ rb_grn_object_from_ruby_object (VALUE object, grn_ctx **context)
|
|
73
91
|
rb_grn_inspect(object));
|
74
92
|
}
|
75
93
|
|
76
|
-
|
94
|
+
TypedData_Get_Struct(object,
|
95
|
+
RbGrnObject,
|
96
|
+
&rb_grn_object_data_type,
|
97
|
+
rb_grn_object);
|
77
98
|
if (!rb_grn_object)
|
78
99
|
rb_raise(rb_eGrnError, "Groonga object is NULL");
|
79
100
|
|
@@ -350,7 +371,9 @@ rb_grn_object_to_ruby_object (VALUE klass, grn_ctx *context, grn_obj *object,
|
|
350
371
|
VALUE
|
351
372
|
rb_grn_object_alloc (VALUE klass)
|
352
373
|
{
|
353
|
-
return
|
374
|
+
return TypedData_Wrap_Struct(klass,
|
375
|
+
&rb_grn_object_data_type,
|
376
|
+
NULL);
|
354
377
|
}
|
355
378
|
|
356
379
|
static void
|
@@ -359,15 +382,13 @@ rb_grn_object_bind_common (VALUE klass, VALUE self, VALUE rb_context,
|
|
359
382
|
grn_ctx *context, grn_obj *object)
|
360
383
|
{
|
361
384
|
grn_user_data *user_data;
|
362
|
-
RbGrnContext *rb_grn_context;
|
363
385
|
|
364
386
|
debug("bind: %p:%p:%p %s(%#x)\n",
|
365
387
|
context, object, rb_grn_object,
|
366
388
|
grn_obj_type_to_string(object->header.type),
|
367
389
|
object->header.type);
|
368
390
|
|
369
|
-
|
370
|
-
rb_grn_object->rb_grn_context = rb_grn_context;
|
391
|
+
rb_grn_object->rb_grn_context = rb_grn_context_get_struct(rb_context);
|
371
392
|
rb_grn_object->context = context;
|
372
393
|
rb_grn_object->object = object;
|
373
394
|
rb_grn_object->self = self;
|
@@ -419,7 +440,7 @@ rb_grn_object_bind_common (VALUE klass, VALUE self, VALUE rb_context,
|
|
419
440
|
else
|
420
441
|
rb_grn_object->range = grn_ctx_at(context, rb_grn_object->range_id);
|
421
442
|
|
422
|
-
|
443
|
+
RTYPEDDATA_DATA(self) = rb_grn_object;
|
423
444
|
}
|
424
445
|
|
425
446
|
void
|
@@ -2213,7 +2234,7 @@ rb_grn_object_get_disk_usage (VALUE self)
|
|
2213
2234
|
void
|
2214
2235
|
rb_grn_init_object (VALUE mGrn)
|
2215
2236
|
{
|
2216
|
-
rb_cGrnObject = rb_define_class_under(mGrn, "Object",
|
2237
|
+
rb_cGrnObject = rb_define_class_under(mGrn, "Object", rb_cObject);
|
2217
2238
|
rb_define_alloc_func(rb_cGrnObject, rb_grn_object_alloc);
|
2218
2239
|
|
2219
2240
|
rb_define_attr(rb_cGrnObject, "context", GRN_TRUE, GRN_FALSE);
|