diff --git a/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl b/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl index caabe6307..76cc23c0d 100644 --- a/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl +++ b/apps/emqx_rule_engine/test/emqx_rule_engine_SUITE.erl @@ -102,6 +102,7 @@ groups() -> t_sqlparse_array_index_3, t_sqlparse_array_index_4, t_sqlparse_array_index_5, + t_sqlparse_array_with_expressions, t_sqlparse_select_matadata_1, t_sqlparse_array_range_1, t_sqlparse_array_range_2, @@ -3040,6 +3041,30 @@ t_sqlparse_array_index_5(_Config) -> ) ). +t_sqlparse_array_with_expressions(_Config) -> + Sql = + "select " + " [21 + 21, abs(-abs(-2)), [1 + 1], 4] " + "from \"t/#\" ", + {ok, Res} = + emqx_rule_sqltester:test( + #{ + sql => Sql, + context => #{ + payload => <<"">>, + topic => <<"t/a">> + } + } + ), + ?assert( + lists:any( + fun({_K, V}) -> + V =:= [42, 2, [2], 4] + end, + maps:to_list(Res) + ) + ). + t_sqlparse_select_matadata_1(_Config) -> %% array with json string payload: Sql0 = diff --git a/mix.exs b/mix.exs index 668459e24..ecf8ed168 100644 --- a/mix.exs +++ b/mix.exs @@ -65,7 +65,7 @@ defmodule EMQXUmbrella.MixProject do # maybe forbid to fetch quicer {:emqtt, github: "emqx/emqtt", tag: "1.10.1", override: true, system_env: maybe_no_quic_env()}, - {:rulesql, github: "emqx/rulesql", tag: "0.1.7"}, + {:rulesql, github: "emqx/rulesql", tag: "0.1.8"}, {:observer_cli, "1.7.1"}, {:system_monitor, github: "ieQu1/system_monitor", tag: "3.0.3"}, {:telemetry, "1.1.0"}, diff --git a/rebar.config b/rebar.config index 5e6bafb15..262dff039 100644 --- a/rebar.config +++ b/rebar.config @@ -91,7 +91,7 @@ {replayq, {git, "https://github.com/emqx/replayq.git", {tag, "0.3.7"}}}, {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}}, {emqtt, {git, "https://github.com/emqx/emqtt", {tag, "1.10.1"}}}, - {rulesql, {git, "https://github.com/emqx/rulesql", {tag, "0.1.7"}}}, + {rulesql, {git, "https://github.com/emqx/rulesql", {tag, "0.1.8"}}}, % NOTE: depends on recon 2.5.x {observer_cli, "1.7.1"}, {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.3"}}},