rroonga 6.1.0 → 6.1.3
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 +2 -1
- data/doc/text/news.md +28 -0
- data/ext/groonga/rb-grn-context.c +25 -0
- data/ext/groonga/rb-grn-database.c +2 -2
- data/ext/groonga/rb-grn-exception.c +15 -1
- data/ext/groonga/rb-grn-logger.c +43 -0
- data/ext/groonga/rb-grn-object.c +11 -3
- data/ext/groonga/rb-grn-table.c +9 -3
- data/ext/groonga/rb-grn-variable-size-column.c +16 -2
- data/ext/groonga/rb-grn.h +2 -2
- data/ext/groonga/rb-groonga.c +1 -1
- data/lib/groonga/dumper.rb +2 -0
- data/lib/groonga/logger.rb +2 -1
- data/lib/groonga/schema.rb +4 -2
- data/rroonga-build.rb +5 -5
- data/rroonga.gemspec +2 -1
- data/test/test-context.rb +5 -0
- data/test/test-exception.rb +2 -1
- data/test/test-logger.rb +18 -0
- data/test/test-schema-dumper.rb +19 -1
- data/test/test-variable-size-column.rb +10 -0
- metadata +62 -62
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a44ed5f4456e72a24167e4077f73fd94b242fe26
|
4
|
+
data.tar.gz: d5f416c9f3e0751810397e114a5adbeb046f1626
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba25928a5113c6550972b540f269ca1ad2b5eac2ed0c72e156011332b641f722337895c2bb1dcd3ef5e73fef5c5fea8c3102f50b81dcabeb198e3c009facb370
|
7
|
+
data.tar.gz: 8d869ffd01942c02055cf4b5f70b97717a818a467caf9ca590dd51f190dc380f71a844bd0bb8ff958060cf2945ad19cf1b7428ba74c0ed9b5690d13c9dd7c5f2
|
data/Rakefile
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# -*- coding: utf-8; mode: ruby -*-
|
2
2
|
#
|
3
3
|
# Copyright (C) 2009-2016 Kouhei Sutou <kou@clear-code.com>
|
4
|
+
# Copyright (C) 2017 Masafumi Yokoyama <yokoyama@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
|
@@ -157,7 +158,7 @@ windows_architectures = [:x86, :x64]
|
|
157
158
|
|
158
159
|
namespace :build do
|
159
160
|
namespace :windows do
|
160
|
-
ruby_versions = "2.1.6:2.2.2:2.3.0"
|
161
|
+
ruby_versions = "2.1.6:2.2.2:2.3.0:2.4.0"
|
161
162
|
|
162
163
|
windows_architectures.each do |architecture|
|
163
164
|
desc "Build gem for Windows #{architecture}"
|
data/doc/text/news.md
CHANGED
@@ -1,5 +1,33 @@
|
|
1
1
|
# NEWS
|
2
2
|
|
3
|
+
## 6.1.3: 2017-01-12 {#version-6-1-3}
|
4
|
+
|
5
|
+
### Improvements
|
6
|
+
|
7
|
+
* Supported Groonga 6.1.3. Groonga 6.1.0 or older aren't supported.
|
8
|
+
|
9
|
+
* Added {Groonga::Context#support_zstd?}.
|
10
|
+
|
11
|
+
* Added {Groonga::ZstdError}.
|
12
|
+
|
13
|
+
* Supported Zstandard compression.
|
14
|
+
If Zstandard is available in your enviromemt, you can use Zstandard
|
15
|
+
compression for columns. How to use:
|
16
|
+
|
17
|
+
Groonga::Schema.define do |schema|
|
18
|
+
schema.create_table("Posts") do |table|
|
19
|
+
table.short_text("title", :compress => :zstandard)
|
20
|
+
# shortened form
|
21
|
+
# table.short_text("title", :compress => :zstd)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
* Added PID for {Groonga::Logger::Flags}.
|
26
|
+
|
27
|
+
* Added {Groonga::Logger.flags}.
|
28
|
+
|
29
|
+
* Added {Groonga::Logger.flags=}.
|
30
|
+
|
3
31
|
## 6.1.0: 2016-11-07 {#version-6-1-0}
|
4
32
|
|
5
33
|
### Improvements
|
@@ -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) 2010-2015 Kouhei Sutou <kou@clear-code.com>
|
4
|
+
Copyright (C) 2016 Masafumi Yokoyama <yokoyama@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
|
@@ -698,6 +699,28 @@ rb_grn_context_support_lz4_p (VALUE self)
|
|
698
699
|
return rb_support_p;
|
699
700
|
}
|
700
701
|
|
702
|
+
/*
|
703
|
+
* If Groonga supports Zstandard compression, it returns `true`,
|
704
|
+
* otherwise it returns `false`.
|
705
|
+
*
|
706
|
+
* @overload support_zstd?
|
707
|
+
*/
|
708
|
+
static VALUE
|
709
|
+
rb_grn_context_support_zstd_p (VALUE self)
|
710
|
+
{
|
711
|
+
VALUE rb_support_p;
|
712
|
+
grn_ctx *context;
|
713
|
+
grn_obj support_p;
|
714
|
+
|
715
|
+
context = SELF(self);
|
716
|
+
GRN_BOOL_INIT(&support_p, 0);
|
717
|
+
grn_obj_get_info(context, NULL, GRN_INFO_SUPPORT_ZSTD, &support_p);
|
718
|
+
rb_support_p = CBOOL2RVAL(GRN_BOOL_VALUE(&support_p));
|
719
|
+
GRN_OBJ_FIN(context, &support_p);
|
720
|
+
|
721
|
+
return rb_support_p;
|
722
|
+
}
|
723
|
+
|
701
724
|
/*
|
702
725
|
* コンテキストが使うデータベースを返す。
|
703
726
|
*
|
@@ -1005,6 +1028,8 @@ rb_grn_init_context (VALUE mGrn)
|
|
1005
1028
|
rb_grn_context_support_lzo_p, 0);
|
1006
1029
|
rb_define_method(cGrnContext, "support_lz4?",
|
1007
1030
|
rb_grn_context_support_lz4_p, 0);
|
1031
|
+
rb_define_method(cGrnContext, "support_zstd?",
|
1032
|
+
rb_grn_context_support_zstd_p, 0);
|
1008
1033
|
|
1009
1034
|
rb_define_method(cGrnContext, "database", rb_grn_context_get_database, 0);
|
1010
1035
|
|
@@ -706,9 +706,9 @@ rb_grn_database_reindex (VALUE self)
|
|
706
706
|
}
|
707
707
|
|
708
708
|
/*
|
709
|
-
* Removes
|
709
|
+
* Removes an object forcibly.
|
710
710
|
*
|
711
|
-
*
|
711
|
+
* Normally, you should use {Groonga::Object#remove}.
|
712
712
|
*
|
713
713
|
* @overload remove_force(name)
|
714
714
|
*
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2
2
|
/*
|
3
|
-
Copyright (C) 2014-2015 Masafumi Yokoyama <yokoyama@clear-code.com>
|
4
3
|
Copyright (C) 2009-2016 Kouhei Sutou <kou@clear-code.com>
|
4
|
+
Copyright (C) 2014-2016 Masafumi Yokoyama <yokoyama@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
|
@@ -102,6 +102,7 @@ static VALUE eGrnPluginError;
|
|
102
102
|
static VALUE eGrnScorerError;
|
103
103
|
static VALUE eGrnCancel;
|
104
104
|
static VALUE eGrnWindowFunctionError;
|
105
|
+
static VALUE eGrnZstdError;
|
105
106
|
|
106
107
|
VALUE
|
107
108
|
rb_grn_rc_to_exception (grn_rc rc)
|
@@ -349,6 +350,9 @@ rb_grn_rc_to_exception (grn_rc rc)
|
|
349
350
|
case GRN_WINDOW_FUNCTION_ERROR:
|
350
351
|
exception = eGrnWindowFunctionError;
|
351
352
|
break;
|
353
|
+
case GRN_ZSTD_ERROR:
|
354
|
+
exception = eGrnZstdError;
|
355
|
+
break;
|
352
356
|
}
|
353
357
|
|
354
358
|
if (NIL_P(exception))
|
@@ -1058,4 +1062,14 @@ rb_grn_init_exception (VALUE mGrn)
|
|
1058
1062
|
*/
|
1059
1063
|
eGrnWindowFunctionError =
|
1060
1064
|
rb_define_class_under(mGrn, "WindowFunctionError", rb_eGrnError);
|
1065
|
+
|
1066
|
+
/*
|
1067
|
+
* Document-class: Groonga::ZstdError
|
1068
|
+
*
|
1069
|
+
* It is used when Zstd causes an error.
|
1070
|
+
*
|
1071
|
+
* @since 6.1.3
|
1072
|
+
*/
|
1073
|
+
eGrnZstdError =
|
1074
|
+
rb_define_class_under(mGrn, "ZstdError", rb_eGrnError);
|
1061
1075
|
}
|
data/ext/groonga/rb-grn-logger.c
CHANGED
@@ -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) 2009-2015 Kouhei Sutou <kou@clear-code.com>
|
4
|
+
Copyright (C) 2016-2017 Masafumi Yokoyama <yokoyama@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
|
@@ -547,6 +548,43 @@ rb_grn_logger_s_set_path (VALUE klass, VALUE rb_path)
|
|
547
548
|
return Qnil;
|
548
549
|
}
|
549
550
|
|
551
|
+
/*
|
552
|
+
* Gets the current log flags that is used by the default logger.
|
553
|
+
*
|
554
|
+
* @overload flags
|
555
|
+
* @return [Integer] The current log flags.
|
556
|
+
*
|
557
|
+
* @since 6.1.3
|
558
|
+
*/
|
559
|
+
static VALUE
|
560
|
+
rb_grn_logger_s_get_flags (VALUE klass)
|
561
|
+
{
|
562
|
+
int flags = 0;
|
563
|
+
VALUE rb_flags;
|
564
|
+
|
565
|
+
flags = grn_default_logger_get_flags();
|
566
|
+
rb_flags = INT2NUM(flags);
|
567
|
+
|
568
|
+
return rb_flags;
|
569
|
+
}
|
570
|
+
|
571
|
+
/*
|
572
|
+
* Sets the log flags that is used by the default logger.
|
573
|
+
*
|
574
|
+
* @overload flags=(flags)
|
575
|
+
* @param flags [Integer] The log flags for the default logger.
|
576
|
+
* @return void
|
577
|
+
*
|
578
|
+
* @since 6.1.3
|
579
|
+
*/
|
580
|
+
static VALUE
|
581
|
+
rb_grn_logger_s_set_flags (VALUE klass, VALUE rb_flags)
|
582
|
+
{
|
583
|
+
grn_default_logger_set_flags(NUM2INT(rb_flags));
|
584
|
+
|
585
|
+
return Qnil;
|
586
|
+
}
|
587
|
+
|
550
588
|
/*
|
551
589
|
* Gets the current rotate threshold size that is used by the default
|
552
590
|
* logger.
|
@@ -636,6 +674,10 @@ rb_grn_init_logger (VALUE mGrn)
|
|
636
674
|
rb_grn_logger_s_get_path, 0);
|
637
675
|
rb_define_singleton_method(rb_cGrnLogger, "path=",
|
638
676
|
rb_grn_logger_s_set_path, 1);
|
677
|
+
rb_define_singleton_method(rb_cGrnLogger, "flags",
|
678
|
+
rb_grn_logger_s_get_flags, 0);
|
679
|
+
rb_define_singleton_method(rb_cGrnLogger, "flags=",
|
680
|
+
rb_grn_logger_s_set_flags, 1);
|
639
681
|
rb_define_singleton_method(rb_cGrnLogger, "rotate_threshold_size",
|
640
682
|
rb_grn_logger_s_get_rotate_threshold_size, 0);
|
641
683
|
rb_define_singleton_method(rb_cGrnLogger, "rotate_threshold_size=",
|
@@ -650,6 +692,7 @@ rb_grn_init_logger (VALUE mGrn)
|
|
650
692
|
DEFINE_FLAG(TITLE);
|
651
693
|
DEFINE_FLAG(MESSAGE);
|
652
694
|
DEFINE_FLAG(LOCATION);
|
695
|
+
DEFINE_FLAG(PID);
|
653
696
|
#undef DEFINE_FLAG
|
654
697
|
|
655
698
|
rb_cGrnCallbackLogger =
|
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-2016 Kouhei Sutou <kou@clear-code.com>
|
4
4
|
Copyright (C) 2014-2016 Masafumi Yokoyama <yokoyama@clear-code.com>
|
5
5
|
|
6
6
|
This library is free software; you can redistribute it and/or
|
@@ -914,10 +914,18 @@ rb_grn_object_inspect_content_flags_with_label (VALUE inspected,
|
|
914
914
|
switch (object->header.type) {
|
915
915
|
case GRN_COLUMN_FIX_SIZE:
|
916
916
|
case GRN_COLUMN_VAR_SIZE:
|
917
|
-
|
917
|
+
switch (column_flags & GRN_OBJ_COMPRESS_MASK) {
|
918
|
+
case GRN_OBJ_COMPRESS_ZLIB:
|
918
919
|
rb_ary_push(inspected_flags, rb_str_new_cstr("COMPRESS_ZLIB"));
|
919
|
-
|
920
|
+
break;
|
921
|
+
case GRN_OBJ_COMPRESS_LZ4:
|
920
922
|
rb_ary_push(inspected_flags, rb_str_new_cstr("COMPRESS_LZ4"));
|
923
|
+
break;
|
924
|
+
case GRN_OBJ_COMPRESS_ZSTD:
|
925
|
+
rb_ary_push(inspected_flags, rb_str_new_cstr("COMPRESS_ZSTD"));
|
926
|
+
break;
|
927
|
+
default:
|
928
|
+
break;
|
921
929
|
}
|
922
930
|
break;
|
923
931
|
case GRN_COLUMN_INDEX:
|
data/ext/groonga/rb-grn-table.c
CHANGED
@@ -229,8 +229,10 @@ rb_grn_table_inspect (VALUE self)
|
|
229
229
|
* @option options :compress
|
230
230
|
* 値の圧縮方法を指定する。省略した場合は、圧縮しない。
|
231
231
|
*
|
232
|
-
*
|
233
|
-
*
|
232
|
+
* * `:zlib`: Compressed by zlib.
|
233
|
+
* * `:lz4`: Compressed by LZ4.
|
234
|
+
* * `:zstd`: Compressed by Zstandard.
|
235
|
+
* * `:zstandard`: Compressed by Zstandard.
|
234
236
|
*
|
235
237
|
* @return [Groonga::FixSizeColumn, Groonga::VariableSizeColumn]
|
236
238
|
*/
|
@@ -312,10 +314,14 @@ rb_grn_table_define_column (int argc, VALUE *argv, VALUE self)
|
|
312
314
|
flags |= GRN_OBJ_COMPRESS_LZ4;
|
313
315
|
} else if (rb_grn_equal_option(rb_compress, "lz4")) {
|
314
316
|
flags |= GRN_OBJ_COMPRESS_LZ4;
|
317
|
+
} else if (rb_grn_equal_option(rb_compress, "zstd")) {
|
318
|
+
flags |= GRN_OBJ_COMPRESS_ZSTD;
|
319
|
+
} else if (rb_grn_equal_option(rb_compress, "zstandard")) {
|
320
|
+
flags |= GRN_OBJ_COMPRESS_ZSTD;
|
315
321
|
} else {
|
316
322
|
rb_raise(rb_eArgError,
|
317
323
|
"invalid compress type: %s: "
|
318
|
-
"available types: [:zlib, :lz4, nil]",
|
324
|
+
"available types: [:zlib, :lz4, :zstd, :zstandard, nil]",
|
319
325
|
rb_grn_inspect(rb_compress));
|
320
326
|
}
|
321
327
|
|
@@ -465,7 +465,7 @@ rb_grn_variable_size_column_array_set (VALUE self, VALUE rb_id, VALUE rb_value)
|
|
465
465
|
* @overload compressed?
|
466
466
|
* @return [Boolean] whether the column is compressed or not.
|
467
467
|
* @overload compressed?(type)
|
468
|
-
* @param [:zlib, :lz4] type (nil)
|
468
|
+
* @param [:zlib, :lz4, :zstd, :zstandard] type (nil)
|
469
469
|
* @return [Boolean] whether specified compressed type is used or not.
|
470
470
|
* @since 1.3.1
|
471
471
|
*/
|
@@ -481,6 +481,7 @@ rb_grn_variable_size_column_compressed_p (int argc, VALUE *argv, VALUE self)
|
|
481
481
|
grn_bool accept_any_type = GRN_FALSE;
|
482
482
|
grn_bool need_zlib_check = GRN_FALSE;
|
483
483
|
grn_bool need_lz4_check = GRN_FALSE;
|
484
|
+
grn_bool need_zstd_check = GRN_FALSE;
|
484
485
|
|
485
486
|
rb_scan_args(argc, argv, "01", &type);
|
486
487
|
|
@@ -494,9 +495,14 @@ rb_grn_variable_size_column_compressed_p (int argc, VALUE *argv, VALUE self)
|
|
494
495
|
need_lz4_check = GRN_TRUE;
|
495
496
|
} else if (rb_grn_equal_option(type, "lz4")) {
|
496
497
|
need_lz4_check = GRN_TRUE;
|
498
|
+
} else if (rb_grn_equal_option(type, "zstd")) {
|
499
|
+
need_zstd_check = GRN_TRUE;
|
500
|
+
} else if (rb_grn_equal_option(type, "zstandardd")) {
|
501
|
+
need_zstd_check = GRN_TRUE;
|
497
502
|
} else {
|
498
503
|
rb_raise(rb_eArgError,
|
499
|
-
"compressed type should be
|
504
|
+
"compressed type should be "
|
505
|
+
"<:zlib>, <:lz4>, <:zstd> or <:zstandard>: <%s>",
|
500
506
|
rb_grn_inspect(type));
|
501
507
|
}
|
502
508
|
}
|
@@ -524,6 +530,14 @@ rb_grn_variable_size_column_compressed_p (int argc, VALUE *argv, VALUE self)
|
|
524
530
|
compressed_p = GRN_BOOL_VALUE(&support_p);
|
525
531
|
}
|
526
532
|
break;
|
533
|
+
case GRN_OBJ_COMPRESS_ZSTD:
|
534
|
+
if (accept_any_type || need_zstd_check) {
|
535
|
+
grn_obj support_p;
|
536
|
+
GRN_BOOL_INIT(&support_p, 0);
|
537
|
+
grn_obj_get_info(context, NULL, GRN_INFO_SUPPORT_ZSTD, &support_p);
|
538
|
+
compressed_p = GRN_BOOL_VALUE(&support_p);
|
539
|
+
}
|
540
|
+
break;
|
527
541
|
}
|
528
542
|
|
529
543
|
return CBOOL2RVAL(compressed_p);
|
data/ext/groonga/rb-grn.h
CHANGED
@@ -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) 2009-2016 Kouhei Sutou <kou@clear-code.com>
|
4
|
-
Copyright (C) 2015-
|
4
|
+
Copyright (C) 2015-2017 Masafumi Yokoyama <yokoyama@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
|
@@ -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 1
|
102
|
-
#define RB_GRN_MICRO_VERSION
|
102
|
+
#define RB_GRN_MICRO_VERSION 3
|
103
103
|
|
104
104
|
#define RB_GRN_OBJECT(object) ((RbGrnObject *)(object))
|
105
105
|
#define RB_GRN_NAMED_OBJECT(object) ((RbGrnNamedObject *)(object))
|
data/ext/groonga/rb-groonga.c
CHANGED
data/lib/groonga/dumper.rb
CHANGED
data/lib/groonga/logger.rb
CHANGED
@@ -23,6 +23,7 @@ module Groonga
|
|
23
23
|
TITLE => "title",
|
24
24
|
MESSAGE => "message",
|
25
25
|
LOCATION => "location",
|
26
|
+
PID => "pid",
|
26
27
|
}
|
27
28
|
|
28
29
|
class << self
|
@@ -34,7 +35,7 @@ module Groonga
|
|
34
35
|
def label(flags)
|
35
36
|
labels = []
|
36
37
|
LABELS.each do |flag, label|
|
37
|
-
|
38
|
+
labels << label if (flags & flag) == flag
|
38
39
|
end
|
39
40
|
labels << "none" if labels.empty?
|
40
41
|
labels.join("|")
|
data/lib/groonga/schema.rb
CHANGED
@@ -850,8 +850,10 @@ module Groonga
|
|
850
850
|
#
|
851
851
|
# 値の圧縮方法を指定する。省略した場合は、圧縮しない。
|
852
852
|
#
|
853
|
-
#
|
854
|
-
#
|
853
|
+
# * `:zlib`: Compressed by zlib.
|
854
|
+
# * `:lz4`: Compzressed by LZ4.
|
855
|
+
# * `:zstd`: Compressed by Zstandard.
|
856
|
+
# * `:zstandard`: Compressed by Zstandard.
|
855
857
|
def column(name, type, options={})
|
856
858
|
definition = self[name, ColumnDefinition]
|
857
859
|
if definition.nil?
|
data/rroonga-build.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Copyright (C) 2009-2016 Kouhei Sutou <kou@clear-code.com>
|
2
|
-
# Copyright (C) 2015-
|
2
|
+
# Copyright (C) 2015-2017 Masafumi Yokoyama <yokoyama@clear-code.com>
|
3
3
|
#
|
4
4
|
# This library is free software; you can redistribute it and/or
|
5
5
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -17,16 +17,16 @@
|
|
17
17
|
module RroongaBuild
|
18
18
|
module RequiredGroongaVersion
|
19
19
|
MAJOR = 6
|
20
|
-
MINOR =
|
21
|
-
MICRO =
|
20
|
+
MINOR = 1
|
21
|
+
MICRO = 1
|
22
22
|
VERSION = [MAJOR, MINOR, MICRO]
|
23
|
-
RELEASED_DATE = Time.utc(2016,
|
23
|
+
RELEASED_DATE = Time.utc(2016, 11, 29)
|
24
24
|
end
|
25
25
|
|
26
26
|
module LatestGroongaVersion
|
27
27
|
MAJOR = 6
|
28
28
|
MINOR = 1
|
29
|
-
MICRO =
|
29
|
+
MICRO = 3
|
30
30
|
VERSION = [MAJOR, MINOR, MICRO]
|
31
31
|
end
|
32
32
|
|
data/rroonga.gemspec
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# -*- mode: ruby; coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright (C) 2012-2016 Kouhei Sutou <kou@clear-code.com>
|
4
|
+
# Copyright (C) 2017 Masafumi Yokoyama <yokoyama@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
|
@@ -88,7 +89,7 @@ Gem::Specification.new do |s|
|
|
88
89
|
s.add_development_dependency("test-unit", [">= 3.0.0"])
|
89
90
|
s.add_development_dependency("rake")
|
90
91
|
s.add_development_dependency("rake-compiler", [">= 0.9.5"])
|
91
|
-
s.add_development_dependency("rake-compiler-dock")
|
92
|
+
s.add_development_dependency("rake-compiler-dock", [">= 0.6.0"])
|
92
93
|
s.add_development_dependency("bundler")
|
93
94
|
s.add_development_dependency("yard")
|
94
95
|
s.add_development_dependency("packnga", [">= 1.0.0"])
|
data/test/test-context.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# Copyright (C) 2009-2015 Kouhei Sutou <kou@clear-code.com>
|
2
|
+
# Copyright (C) 2016 Masafumi Yokoyama <yokoyama@clear-code.com>
|
2
3
|
#
|
3
4
|
# This library is free software; you can redistribute it and/or
|
4
5
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -122,6 +123,10 @@ class ContextTest < Test::Unit::TestCase
|
|
122
123
|
assert_boolean(Groonga::Context.default.support_lz4?)
|
123
124
|
end
|
124
125
|
|
126
|
+
def test_support_zstd?
|
127
|
+
assert_boolean(Groonga::Context.default.support_zstd?)
|
128
|
+
end
|
129
|
+
|
125
130
|
def test_match_escalation_threshold
|
126
131
|
assert_equal(0, context.match_escalation_threshold)
|
127
132
|
context.match_escalation_threshold = -1
|
data/test/test-exception.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
# Copyright (C) 2014-2015 Masafumi Yokoyama <yokoyama@clear-code.com>
|
2
1
|
# Copyright (C) 2009-2014 Kouhei Sutou <kou@clear-code.com>
|
2
|
+
# Copyright (C) 2014-2016 Masafumi Yokoyama <yokoyama@clear-code.com>
|
3
3
|
#
|
4
4
|
# This library is free software; you can redistribute it and/or
|
5
5
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -100,6 +100,7 @@ class ExceptionTest < Test::Unit::TestCase
|
|
100
100
|
assert_const_defined(Groonga, :CommandError)
|
101
101
|
assert_const_defined(Groonga, :PluginError)
|
102
102
|
assert_const_defined(Groonga, :ScorerError)
|
103
|
+
assert_const_defined(Groonga, :ZstdError)
|
103
104
|
end
|
104
105
|
end
|
105
106
|
|
data/test/test-logger.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# Copyright (C) 2010 Kouhei Sutou <kou@clear-code.com>
|
2
|
+
# Copyright (C) 2016 Masafumi Yokoyama <yokoyama@clear-code.com>
|
2
3
|
#
|
3
4
|
# This library is free software; you can redistribute it and/or
|
4
5
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -43,6 +44,14 @@ class LoggerTest < Test::Unit::TestCase
|
|
43
44
|
assert_equal(:debug, Groonga::Logger.max_level)
|
44
45
|
end
|
45
46
|
|
47
|
+
def test_flags
|
48
|
+
default_flags = Groonga::Logger::Flags::TIME |
|
49
|
+
Groonga::Logger::Flags::MESSAGE
|
50
|
+
assert_equal(default_flags, Groonga::Logger.flags)
|
51
|
+
Groonga::Logger.flags = Groonga::Logger::Flags::LOCATION
|
52
|
+
assert_equal(Groonga::Logger::Flags::LOCATION, Groonga::Logger.flags)
|
53
|
+
end
|
54
|
+
|
46
55
|
sub_test_case ".log" do
|
47
56
|
test "no options" do
|
48
57
|
messages = []
|
@@ -137,4 +146,13 @@ class LoggerTest < Test::Unit::TestCase
|
|
137
146
|
Groonga::Logger.log("Hello")
|
138
147
|
assert_not_equal([], Dir.glob("#{@log_path}.*"))
|
139
148
|
end
|
149
|
+
|
150
|
+
sub_test_case "Flags" do
|
151
|
+
sub_test_case "#label" do
|
152
|
+
test "pid" do
|
153
|
+
flags = Groonga::Logger::Flags::PID
|
154
|
+
assert_equal("pid", Groonga::Logger::Flags.label(flags))
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
140
158
|
end
|
data/test/test-schema-dumper.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Copyright (C) 2009-2016 Kouhei Sutou <kou@clear-code.com>
|
2
|
-
# Copyright (C) 2014 Masafumi Yokoyama <
|
2
|
+
# Copyright (C) 2014-2016 Masafumi Yokoyama <yokoyama@clear-code.com>
|
3
3
|
#
|
4
4
|
# This library is free software; you can redistribute it and/or
|
5
5
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -432,6 +432,16 @@ column_create Posts title #{flags} ShortText
|
|
432
432
|
SCHEMA
|
433
433
|
end
|
434
434
|
|
435
|
+
def test_zstd
|
436
|
+
define_column_compression_zstd_schema
|
437
|
+
flags = "COLUMN_SCALAR"
|
438
|
+
flags << "|COMPRESS_ZSTD" if context.support_zstd?
|
439
|
+
assert_equal(<<-SCHEMA, dump)
|
440
|
+
table_create Posts TABLE_NO_KEY
|
441
|
+
column_create Posts title #{flags} ShortText
|
442
|
+
SCHEMA
|
443
|
+
end
|
444
|
+
|
435
445
|
def test_with_weight_vector
|
436
446
|
define_column_compression_with_weight_vector_schema
|
437
447
|
flags = "COLUMN_VECTOR|WITH_WEIGHT"
|
@@ -459,6 +469,14 @@ column_create Posts comments #{flags} ShortText
|
|
459
469
|
end
|
460
470
|
end
|
461
471
|
|
472
|
+
def define_column_compression_zstd_schema
|
473
|
+
Groonga::Schema.define do |schema|
|
474
|
+
schema.create_table("Posts") do |table|
|
475
|
+
table.short_text("title", :compress => :zstd)
|
476
|
+
end
|
477
|
+
end
|
478
|
+
end
|
479
|
+
|
462
480
|
def define_column_compression_with_weight_vector_schema
|
463
481
|
Groonga::Schema.define do |schema|
|
464
482
|
schema.create_table("Posts") do |table|
|
@@ -96,6 +96,16 @@ class VariableSizeColumnTest < Test::Unit::TestCase
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
|
+
def test_compressed_zstd?
|
100
|
+
description = @users.define_column("description", "ShortText",
|
101
|
+
:compress => :zstd)
|
102
|
+
if context.support_zstd?
|
103
|
+
assert {description.compressed?(:zstd)}
|
104
|
+
else
|
105
|
+
assert {not description.compressed?(:zstd)}
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
99
109
|
def test_inspect
|
100
110
|
assert_equal("#<Groonga::VariableSizeColumn " +
|
101
111
|
"id: <#{@name.id}>, " +
|
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.1.
|
4
|
+
version: 6.1.3
|
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:
|
15
|
+
date: 2017-01-12 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: pkg-config
|
@@ -118,14 +118,14 @@ dependencies:
|
|
118
118
|
requirements:
|
119
119
|
- - ">="
|
120
120
|
- !ruby/object:Gem::Version
|
121
|
-
version:
|
121
|
+
version: 0.6.0
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
125
125
|
requirements:
|
126
126
|
- - ">="
|
127
127
|
- !ruby/object:Gem::Version
|
128
|
-
version:
|
128
|
+
version: 0.6.0
|
129
129
|
- !ruby/object:Gem::Dependency
|
130
130
|
name: bundler
|
131
131
|
requirement: !ruby/object:Gem::Requirement
|
@@ -195,8 +195,8 @@ email:
|
|
195
195
|
- dara@shidara.net
|
196
196
|
executables:
|
197
197
|
- groonga-database-inspect
|
198
|
-
- grntest-log-analyze
|
199
198
|
- grndump
|
199
|
+
- grntest-log-analyze
|
200
200
|
- groonga-index-dump
|
201
201
|
extensions:
|
202
202
|
- ext/groonga/extconf.rb
|
@@ -417,71 +417,71 @@ specification_version: 4
|
|
417
417
|
summary: Ruby bindings for Groonga that provide full text search and column store
|
418
418
|
features.
|
419
419
|
test_files:
|
420
|
-
- test/test-statistic-measurer.rb
|
421
|
-
- test/test-table-select-weight.rb
|
422
|
-
- test/test-table-key-support.rb
|
423
|
-
- test/test-table-group.rb
|
424
|
-
- test/test-id.rb
|
425
|
-
- test/test-table-select-normalize.rb
|
426
|
-
- test/test-schema-type.rb
|
427
|
-
- test/test-record.rb
|
428
|
-
- test/test-table-traverse.rb
|
429
|
-
- test/test-data-column.rb
|
430
|
-
- test/test-lock-timeout.rb
|
431
|
-
- test/test-variable.rb
|
432
|
-
- test/test-table-dumper.rb
|
433
|
-
- test/test-gqtp.rb
|
434
|
-
- test/test-database-inspector.rb
|
435
|
-
- test/test-flushable.rb
|
436
|
-
- test/test-context.rb
|
437
|
-
- test/test-index-column.rb
|
438
|
-
- test/test-exception.rb
|
439
|
-
- test/test-fix-size-column.rb
|
440
|
-
- test/test-config.rb
|
441
|
-
- test/test-sub-records.rb
|
442
|
-
- test/test-encoding.rb
|
443
|
-
- test/test-patricia-trie.rb
|
444
420
|
- test/run-test.rb
|
445
|
-
- test/test-
|
446
|
-
- test/test-plugin.rb
|
421
|
+
- test/test-error-message.rb
|
447
422
|
- test/test-request-canceler.rb
|
448
|
-
- test/test-query-logger.rb
|
449
|
-
- test/test-schema-dumper.rb
|
450
|
-
- test/test-snippet.rb
|
451
|
-
- test/test-accessor.rb
|
452
|
-
- test/test-database.rb
|
453
|
-
- test/test-table-offset-and-limit.rb
|
454
|
-
- test/test-version.rb
|
455
|
-
- test/test-thread.rb
|
456
|
-
- test/test-token-regexp.rb
|
457
|
-
- test/test-table-select.rb
|
458
|
-
- test/test-logger.rb
|
459
|
-
- test/test-package-label.rb
|
460
|
-
- test/groonga-test-utils.rb
|
461
|
-
- test/test-expression-builder.rb
|
462
423
|
- test/test-normalizer.rb
|
463
|
-
- test/test-
|
424
|
+
- test/test-database.rb
|
425
|
+
- test/test-schema-type.rb
|
464
426
|
- test/test-convert.rb
|
465
|
-
- test/test-
|
466
|
-
- test/test-
|
467
|
-
- test/test-
|
427
|
+
- test/test-memory-pool.rb
|
428
|
+
- test/test-gqtp.rb
|
429
|
+
- test/test-id.rb
|
430
|
+
- test/test-schema-create-table.rb
|
431
|
+
- test/test-query-logger.rb
|
432
|
+
- test/test-pagination.rb
|
433
|
+
- test/test-expression-builder.rb
|
434
|
+
- test/test-table-group.rb
|
468
435
|
- test/test-schema.rb
|
469
|
-
- test/test-remote.rb
|
470
|
-
- test/test-procedure.rb
|
471
|
-
- test/test-name.rb
|
472
436
|
- test/test-operator.rb
|
473
|
-
- test/test-
|
474
|
-
- test/test-
|
437
|
+
- test/test-expression.rb
|
438
|
+
- test/test-name.rb
|
439
|
+
- test/test-patricia-trie.rb
|
440
|
+
- test/test-command-select.rb
|
441
|
+
- test/test-context.rb
|
442
|
+
- test/test-variable-size-column.rb
|
475
443
|
- test/test-request-timer.rb
|
444
|
+
- test/test-variable.rb
|
445
|
+
- test/test-sub-records.rb
|
446
|
+
- test/test-index-cursor.rb
|
447
|
+
- test/test-double-array-trie.rb
|
448
|
+
- test/test-table-select.rb
|
449
|
+
- test/test-windows-event-logger.rb
|
450
|
+
- test/test-table-traverse.rb
|
451
|
+
- test/test-exception.rb
|
452
|
+
- test/test-index-column.rb
|
476
453
|
- test/test-geo-point.rb
|
454
|
+
- test/test-vector-column.rb
|
455
|
+
- test/test-lock-timeout.rb
|
456
|
+
- test/test-array.rb
|
457
|
+
- test/test-schema-dumper.rb
|
458
|
+
- test/test-fix-size-column.rb
|
459
|
+
- test/test-table-select-mecab.rb
|
460
|
+
- test/test-procedure.rb
|
477
461
|
- test/test-database-dumper.rb
|
478
|
-
- test/test-
|
462
|
+
- test/test-database-inspector.rb
|
463
|
+
- test/test-package-label.rb
|
464
|
+
- test/test-data-column.rb
|
465
|
+
- test/test-table-key-support.rb
|
466
|
+
- test/test-table-offset-and-limit.rb
|
467
|
+
- test/test-accessor.rb
|
468
|
+
- test/test-remote.rb
|
469
|
+
- test/test-plugin.rb
|
470
|
+
- test/groonga-test-utils.rb
|
479
471
|
- test/test-column.rb
|
480
|
-
- test/test-
|
481
|
-
- test/test-double-array-trie.rb
|
482
|
-
- test/test-memory-pool.rb
|
483
|
-
- test/test-type.rb
|
484
|
-
- test/test-array.rb
|
485
|
-
- test/test-variable-size-column.rb
|
486
|
-
- test/test-error-message.rb
|
472
|
+
- test/test-record.rb
|
487
473
|
- test/test-hash.rb
|
474
|
+
- test/test-logger.rb
|
475
|
+
- test/test-table-select-weight.rb
|
476
|
+
- test/test-version.rb
|
477
|
+
- test/test-table-select-normalize.rb
|
478
|
+
- test/test-config.rb
|
479
|
+
- test/test-flushable.rb
|
480
|
+
- test/test-encoding.rb
|
481
|
+
- test/test-thread.rb
|
482
|
+
- test/test-snippet.rb
|
483
|
+
- test/test-type.rb
|
484
|
+
- test/test-table.rb
|
485
|
+
- test/test-table-dumper.rb
|
486
|
+
- test/test-statistic-measurer.rb
|
487
|
+
- test/test-token-regexp.rb
|