Closed komainu8 closed 5 years ago
TODO: enable RapidJSON for packages.
rapidjson package is a bit older on stretch. need to check working with it.
rapidjson package is a bit older on stretch. need to check working with it.
It seems ok to enable it.
If rapidjson devel is enabled on CentOS 7, it causes unexpected error.
centos-7-x86_64: cast.cpp: In function 'grn_rc grn::cast_text_to_uvector(grn_ctx*, grn_obj*, grn_obj*, bool)':
centos-7-x86_64: cast.cpp:75:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
centos-7-x86_64: auto n = document.Size();
centos-7-x86_64: ^
centos-7-x86_64: cast.cpp:75:10: error: 'n' does not name a type
centos-7-x86_64: auto n = document.Size();
centos-7-x86_64: ^
centos-7-x86_64: cast.cpp:77:28: error: 'n' was not declared in this scope
centos-7-x86_64: for (size_t i = 0; i < n; ++i) {
centos-7-x86_64: ^
centos-7-x86_64: cast.cpp:78:13: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
centos-7-x86_64: const auto &element = document[i];
centos-7-x86_64: ^
centos-7-x86_64: cast.cpp:78:19: error: ISO C++ forbids declaration of 'element' with no type [-fpermissive]
centos-7-x86_64: const auto &element = document[i];
centos-7-x86_64: ^
centos-7-x86_64: cast.cpp:78:39: error: invalid initialization of reference of type 'const int&' from expression of type 'rapidjson::Gen
ericValue<rapidjson::UTF8<> >'
centos-7-x86_64: const auto &element = document[i];
centos-7-x86_64: ^
centos-7-x86_64: cast.cpp:79:20: error: request for member 'Accept' in 'element', which is of non-class type 'const int'
centos-7-x86_64: if (!element.Accept(handler)) {
centos-7-x86_64: ^
centos-7-x86_64: make[4]: *** [cast.lo] Error 1
centos-7-x86_64: make[4]: *** Waiting for unfinished jobs....
centos-7-x86_64: expr_executor.c: In function 'expr_exec':
centos-7-x86_64: expr_executor.c:2424:1: warning: const/copy propagation disabled: 28337 basic blocks and 69612 registers [-Wdisabled-op
timization]
centos-7-x86_64: }
centos-7-x86_64: ^
centos-7-x86_64: expr_executor.c:2424:1: warning: PRE disabled: 28337 basic blocks and 69612 registers [-Wdisabled-optimization]
centos-7-x86_64: expr_executor.c:2424:1: warning: const/copy propagation disabled: 28337 basic blocks and 69612 registers [-Wdisabled-op
timization]
centos-7-x86_64: expr_executor.c:2424:1: warning: const/copy propagation disabled: 24490 basic blocks and 72617 registers [-Wdisabled-op
timization]
It needs autoconf-archive and -std=gnu++11.
https://github.com/groonga/groonga/blob/master/configure.ac#L90 should add required -std=...
automatically.
@kou
Even though autoconf-archive package is installed, -std=
is not added.
SHoud we change AX_CXX_COMPILE_STDCXX_11([ext], [optional])
to AX_CXX_COMPILE_STDCXX_11([ext], [mandatory])
and that is proper fix?
If AX_CXX_COMPILE_STDCXX_11
is used, suitable -std=
is select. We don't need to use mandatory
.
$ grep 'CXX =' Makefile
CXX = g++ -std=gnu++11
ac_ct_CXX = g++
$ g++ --version
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Thanks, I've noticed that AX_CXX_COMPILE_STDCXX_11
is not correctly used, so the build error has solved now.
groonga-talk (English)
Hi,
Groonga 9.0.4 has been released! http://groonga.org/en/blog/2019/05/29/groonga-9.0.4.html http://groonga.org/docs/news.html#release-9-0-4
Install: http://groonga.org/docs/install.html Characteristics: http://groonga.org/docs/characteristic.html
The topics in this release:
Added support for array literal with multiple elements.
Added support equivalence operation of a vector.
logical_range_filter Increase outputting logs into query log.
grndb Added support new option --since
query Added default_operator
.
[optimizer] Fix a bug that execution error when specified multiple filter conditions and like xxx.yyy=="keyword"
.
Added missing LICENSE files in Groonga package for Windows(VC++ version).
Added UCRT runtime into Groonga package for Windows(VC++ version).
window_function Fix a memory leak.
We can use array literal with multiple elements into filter
condition as below.
table_create Values TABLE_NO_KEY
column_create Values numbers COLUMN_VECTOR Int32
load --table Values
[
{"numbers": [2, 1, 3]},
{"numbers": [2, 3, 4]},
{"numbers": [8, 9, -1]}
]
select Values \
--filter 'numbers == [2, 3, 4]' \
--output_columns 'numbers'
[[0,0.0,0.0],[[[1],[["numbers","Int32"]],[[2,3,4]]]]]
We can use equivalencs operation for a vector as below.
table_create Values TABLE_NO_KEY
column_create Values numbers COLUMN_VECTOR Int32
load --table Values
[
{"numbers": [2, 1, 3]},
{"numbers": [2, 3, 4]},
{"numbers": [8, 9, -1]}
]
select Values \
--filter 'numbers == [2, 3, 4]' \
--output_columns 'numbers'
[[0,0.0,0.0],[[[1],[["numbers","Int32"]],[[2,3,4]]]]]
logical_range_filter
command comes to output a log for below timing.
logical_range_filter
.logical_range_filter
.We can see how much has been finished this command by this feature.
--since
We can specify a scope of an inspection.
We can specify the modified time as ISO 8601 format or -NUNIT format such as -3days or -2.5weeks format.
Here is an example that specifies --since option in ISO 8601 format:
% grmdb check --since=2019-06-24T18:16:22 /var/lib/groonga/db/db
In above example, the objects which are modified after 2019-06-24T18:16:22 are checked.
Here is an example that specifies --since option in -NUNIT format:
% grmdb check --since=-7d /var/lib/groonga/db/db
In above example, the objects which are modified in recent 7 days are checked.
Please also refer to grndb#since.
default_operator
.We can customize operator when "keyword1 keyword2". "keyword1 Keyword2" is AND operation in default.
We can change "keyword1 keyword2"'s operator except AND as below.
table_create Products TABLE_NO_KEY
column_create Products name COLUMN_SCALAR ShortText
load --table Products
[
["name"],
["Groonga"],
["Mroonga"],
["Rroonga"],
["PGroonga"],
["Ruby"],
["PostgreSQL"]
]
select \
--table Products \
--filter 'query("name", "Groonga Mroonga", {"default_operator": "OR"})'
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
],
[
"name",
"ShortText"
]
],
[
1,
"Groonga"
],
[
4,
"PGroonga"
],
[
2,
"Mroonga"
]
]
]
]
groonga-dev (Japanese)
Groonga 9.0.4をリリースしました! http://groonga.org/ja/blog/2019/05/29/groonga-9.0.4.html
変更点一覧:
http://groonga.org/ja/docs/news.html#release-9-0-4
主な変更点は以下の通りです。
配列リテラルの複数要素をサポートしました。
ベクターの等価演算をサポートしました。
logical_range_filter 出力するクエリーログを追加しました。
grndb 新しいオプション --since
を追加しました。
query default_operator
を追加しました。
[optimizer] 複数のfilter条件と xxx.yyy=="keyword"
のような条件を指定した際にエラーが発生するバグを修正しました。
GroongaのWindows用のパッケージ(VC++版)に不足していたライセンスファイルを追加しました。
GroongaのWindows用のパッケージ(VC++版)UCRTランタイムを追加しました。
window_function メモリリークを修正しました。
以下のように filter
条件の中で複数要素を持った配列リテラルを使うことができます。
table_create Values TABLE_NO_KEY
column_create Values numbers COLUMN_VECTOR Int32
load --table Values
[
{"numbers": [2, 1, 3]},
{"numbers": [2, 3, 4]},
{"numbers": [8, 9, -1]}
]
select Values \
--filter 'numbers == [2, 3, 4]' \
--output_columns 'numbers'
[[0,0.0,0.0],[[[1],[["numbers","Int32"]],[[2,3,4]]]]]
以下のようにベクターに対して等価演算を使うことができます。
table_create Values TABLE_NO_KEY
column_create Values numbers COLUMN_VECTOR Int32
load --table Values
[
{"numbers": [2, 1, 3]},
{"numbers": [2, 3, 4]},
{"numbers": [8, 9, -1]}
]
select Values \
--filter 'numbers == [2, 3, 4]' \
--output_columns 'numbers'
[[0,0.0,0.0],[[[1],[["numbers","Int32"]],[[2,3,4]]]]]
logical_range_filter
コマンドが、以下のタイミングでログを出力するようになります。
logical_range_filter
によるフィルター後logical_range_filter
によるソート後この機能によって、このコマンドがどこまで完了したかを見ることができます。
--since
検査の範囲を指定できます。
更新時刻は ISO 8601形式か -3days や -2.5weeksといった -NUNIT 形式で指定します。
以下は --since オプションをISO 8601形式で指定する例です。
% grmdb check --since=2019-06-24T18:16:22 /var/lib/groonga/db/db
上記の例では 2019-06-24T18:16:22 以降に更新されたオブジェクトをチェックします。
以下は --since オプションを -NUNIT 形式で指定する例です。
% grmdb check --since=-7d /var/lib/groonga/db/db
上記の例では、直近7日で更新されたものがチェックされます。
grndb#since も参考にしてください。
default_operator
を追加しました。"keyword1 keyword2"時の演算子をカスタマイズできます。 デフォルトでは、"keyword1 keyword2"はAND演算です。
以下のように、"keyword1 keyword2"の演算子をAND以外に変更できます。
table_create Products TABLE_NO_KEY
column_create Products name COLUMN_SCALAR ShortText
load --table Products
[
["name"],
["Groonga"],
["Mroonga"],
["Rroonga"],
["PGroonga"],
["Ruby"],
["PostgreSQL"]
]
select \
--table Products \
--filter 'query("name", "Groonga Mroonga", {"default_operator": "OR"})'
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
],
[
"name",
"ShortText"
]
],
[
1,
"Groonga"
],
[
4,
"PGroonga"
],
[
2,
"Mroonga"
]
]
]
]
Groonga 9.0.4 has been released (2019-06-29) http://groonga.org/en/blog/2019/06/29/groonga-9.0.4.html In this release, We added a new option for grndb command. We can specify a scope of grndb check.
Groonga 9.0.4リリース (2019-06-29) http://groonga.org/ja/blog/2019/06/29/groonga-9.0.4.html 今回のリリースでは、grndbコマンドに新しいオプションを追加しました。grndb check の範囲を指定できるようになっています。
Facebook(en)アナウンス
Groonga 9.0.4 has been released!
Groonga is an open-source full-text search engine and column store.
In this release, we added a new option for grndb command. We can specify a scope of grndb check.
In addition to this, we also added an operation log into groonga.log and added checking 0byte files.
http://groonga.org/en/blog/2019/06/29/groonga-9.0.4.html
Facebook(ja)アナウンス
Groonga 9.0.4をリリースしました!
今回のリリースでは、"grndb"コマンドに新しいオプションを追加しました。
"grndb check"の範囲を指定できるようになっています。
他にも、0byteのファイルの検出や、ログの強化を行っています。
http://groonga.org/ja/blog/2019/06/29/groonga-9.0.4.html
news is ready for now, I'll build packages.
source: uploaded debian: uploaded ubuntu: uploaded rpm: uploaded win: waiting to build
win: waiting to build
uploaded. @komainu8 now ready for announce.
アナウンス完了しました。
あとは、MSYS2のパッケージの更新です。(後日実施)
更新済みなのでclose https://github.com/msys2/MINGW-packages/pull/5578
We plan to release 9.0.4 around 29th of this month.
guide: http://groonga.org/ja/docs/contribution/development/release.html (Japanese)
the previous release: #971