Merge pull request #10794 from paulozulato/fix-oracle-database-field
Fix oracle database field
This commit is contained in:
commit
ba41c23b7c
|
@ -1,6 +1,6 @@
|
||||||
{application, emqx_bridge_oracle, [
|
{application, emqx_bridge_oracle, [
|
||||||
{description, "EMQX Enterprise Oracle Database Bridge"},
|
{description, "EMQX Enterprise Oracle Database Bridge"},
|
||||||
{vsn, "0.1.0"},
|
{vsn, "0.1.1"},
|
||||||
{registered, []},
|
{registered, []},
|
||||||
{applications, [
|
{applications, [
|
||||||
kernel,
|
kernel,
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-define(DEFAULT_SQL, <<
|
-define(DEFAULT_SQL, <<
|
||||||
"insert into t_mqtt_msg(msgid, topic, qos, payload)"
|
"insert into t_mqtt_msgs(msgid, topic, qos, payload) "
|
||||||
"values (${id}, ${topic}, ${qos}, ${payload})"
|
"values (${id}, ${topic}, ${qos}, ${payload})"
|
||||||
>>).
|
>>).
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ values(_Method) ->
|
||||||
name => <<"foo">>,
|
name => <<"foo">>,
|
||||||
server => <<"127.0.0.1:1521">>,
|
server => <<"127.0.0.1:1521">>,
|
||||||
pool_size => 8,
|
pool_size => 8,
|
||||||
database => <<"ORCL">>,
|
service_name => <<"ORCL">>,
|
||||||
sid => <<"ORCL">>,
|
sid => <<"ORCL">>,
|
||||||
username => <<"root">>,
|
username => <<"root">>,
|
||||||
password => <<"******">>,
|
password => <<"******">>,
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
-define(BRIDGE_TYPE_BIN, <<"oracle">>).
|
-define(BRIDGE_TYPE_BIN, <<"oracle">>).
|
||||||
-define(APPS, [emqx_bridge, emqx_resource, emqx_rule_engine, emqx_oracle, emqx_bridge_oracle]).
|
-define(APPS, [emqx_bridge, emqx_resource, emqx_rule_engine, emqx_oracle, emqx_bridge_oracle]).
|
||||||
-define(DATABASE, "XE").
|
-define(SID, "XE").
|
||||||
-define(RULE_TOPIC, "mqtt/rule").
|
-define(RULE_TOPIC, "mqtt/rule").
|
||||||
% -define(RULE_TOPIC_BIN, <<?RULE_TOPIC>>).
|
% -define(RULE_TOPIC_BIN, <<?RULE_TOPIC>>).
|
||||||
|
|
||||||
|
@ -196,7 +196,6 @@ oracle_config(TestCase, _ConnectionType, Config) ->
|
||||||
io_lib:format(
|
io_lib:format(
|
||||||
"bridges.oracle.~s {\n"
|
"bridges.oracle.~s {\n"
|
||||||
" enable = true\n"
|
" enable = true\n"
|
||||||
" database = \"~s\"\n"
|
|
||||||
" sid = \"~s\"\n"
|
" sid = \"~s\"\n"
|
||||||
" server = \"~s\"\n"
|
" server = \"~s\"\n"
|
||||||
" username = \"system\"\n"
|
" username = \"system\"\n"
|
||||||
|
@ -215,8 +214,7 @@ oracle_config(TestCase, _ConnectionType, Config) ->
|
||||||
"}\n",
|
"}\n",
|
||||||
[
|
[
|
||||||
Name,
|
Name,
|
||||||
?DATABASE,
|
?SID,
|
||||||
?DATABASE,
|
|
||||||
ServerURL,
|
ServerURL,
|
||||||
sql_insert_template_for_bridge()
|
sql_insert_template_for_bridge()
|
||||||
]
|
]
|
||||||
|
|
|
@ -75,8 +75,6 @@ on_start(
|
||||||
InstId,
|
InstId,
|
||||||
#{
|
#{
|
||||||
server := Server,
|
server := Server,
|
||||||
database := DB,
|
|
||||||
sid := Sid,
|
|
||||||
username := User
|
username := User
|
||||||
} = Config
|
} = Config
|
||||||
) ->
|
) ->
|
||||||
|
@ -91,15 +89,19 @@ on_start(
|
||||||
jamdb_oracle_conn:set_max_cursors_number(?MAX_CURSORS),
|
jamdb_oracle_conn:set_max_cursors_number(?MAX_CURSORS),
|
||||||
|
|
||||||
#{hostname := Host, port := Port} = emqx_schema:parse_server(Server, oracle_host_options()),
|
#{hostname := Host, port := Port} = emqx_schema:parse_server(Server, oracle_host_options()),
|
||||||
ServiceName = maps:get(<<"service_name">>, Config, Sid),
|
Sid = maps:get(sid, Config, ""),
|
||||||
|
ServiceName =
|
||||||
|
case maps:get(service_name, Config, undefined) of
|
||||||
|
undefined -> undefined;
|
||||||
|
ServiceName0 -> emqx_plugin_libs_rule:str(ServiceName0)
|
||||||
|
end,
|
||||||
Options = [
|
Options = [
|
||||||
{host, Host},
|
{host, Host},
|
||||||
{port, Port},
|
{port, Port},
|
||||||
{user, emqx_plugin_libs_rule:str(User)},
|
{user, emqx_plugin_libs_rule:str(User)},
|
||||||
{password, jamdb_secret:wrap(maps:get(password, Config, ""))},
|
{password, jamdb_secret:wrap(maps:get(password, Config, ""))},
|
||||||
{sid, emqx_plugin_libs_rule:str(Sid)},
|
{sid, emqx_plugin_libs_rule:str(Sid)},
|
||||||
{service_name, emqx_plugin_libs_rule:str(ServiceName)},
|
{service_name, ServiceName},
|
||||||
{database, DB},
|
|
||||||
{pool_size, maps:get(<<"pool_size">>, Config, ?DEFAULT_POOL_SIZE)},
|
{pool_size, maps:get(<<"pool_size">>, Config, ?DEFAULT_POOL_SIZE)},
|
||||||
{timeout, ?OPT_TIMEOUT},
|
{timeout, ?OPT_TIMEOUT},
|
||||||
{app_name, "EMQX Data To Oracle Database Action"}
|
{app_name, "EMQX Data To Oracle Database Action"}
|
||||||
|
|
|
@ -19,9 +19,11 @@ roots() ->
|
||||||
[{config, #{type => hoconsc:ref(?REF_MODULE, config)}}].
|
[{config, #{type => hoconsc:ref(?REF_MODULE, config)}}].
|
||||||
|
|
||||||
fields(config) ->
|
fields(config) ->
|
||||||
[{server, server()}, {sid, fun sid/1}] ++
|
Fields =
|
||||||
|
[{server, server()}, {sid, fun sid/1}, {service_name, fun service_name/1}] ++
|
||||||
emqx_connector_schema_lib:relational_db_fields() ++
|
emqx_connector_schema_lib:relational_db_fields() ++
|
||||||
emqx_connector_schema_lib:prepare_statement_fields().
|
emqx_connector_schema_lib:prepare_statement_fields(),
|
||||||
|
proplists:delete(database, Fields).
|
||||||
|
|
||||||
server() ->
|
server() ->
|
||||||
Meta = #{desc => ?DESC(?REF_MODULE, "server")},
|
Meta = #{desc => ?DESC(?REF_MODULE, "server")},
|
||||||
|
@ -29,5 +31,10 @@ server() ->
|
||||||
|
|
||||||
sid(type) -> binary();
|
sid(type) -> binary();
|
||||||
sid(desc) -> ?DESC(?REF_MODULE, "sid");
|
sid(desc) -> ?DESC(?REF_MODULE, "sid");
|
||||||
sid(required) -> true;
|
sid(required) -> false;
|
||||||
sid(_) -> undefined.
|
sid(_) -> undefined.
|
||||||
|
|
||||||
|
service_name(type) -> binary();
|
||||||
|
service_name(desc) -> ?DESC(?REF_MODULE, "service_name");
|
||||||
|
service_name(required) -> false;
|
||||||
|
service_name(_) -> undefined.
|
||||||
|
|
|
@ -29,6 +29,11 @@ emqx_bridge_oracle {
|
||||||
label = "Oracle Database Sid."
|
label = "Oracle Database Sid."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service_name {
|
||||||
|
desc = "Service Name for Oracle Database."
|
||||||
|
label = "Oracle Database Service Name"
|
||||||
|
}
|
||||||
|
|
||||||
config_enable {
|
config_enable {
|
||||||
desc = "Enable or disable this bridge"
|
desc = "Enable or disable this bridge"
|
||||||
label = "Enable Or Disable Bridge"
|
label = "Enable Or Disable Bridge"
|
||||||
|
|
|
@ -12,4 +12,9 @@ emqx_oracle {
|
||||||
label = "Oracle Database Sid"
|
label = "Oracle Database Sid"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service_name {
|
||||||
|
desc = "Service Name for Oracle Database."
|
||||||
|
label = "Oracle Database Service Name"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,11 @@ emqx_bridge_oracle {
|
||||||
label = "Oracle Database Sid"
|
label = "Oracle Database Sid"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service_name {
|
||||||
|
desc = "Oracle Database 服务名称。"
|
||||||
|
label = "Oracle Database 服务名称"
|
||||||
|
}
|
||||||
|
|
||||||
config_enable {
|
config_enable {
|
||||||
desc = "启用/禁用桥接"
|
desc = "启用/禁用桥接"
|
||||||
label = "启用/禁用桥接"
|
label = "启用/禁用桥接"
|
||||||
|
|
|
@ -12,4 +12,9 @@ emqx_oracle {
|
||||||
label = "Oracle Database Sid"
|
label = "Oracle Database Sid"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service_name {
|
||||||
|
desc = "Oracle Database 服务名称。"
|
||||||
|
label = "Oracle Database 服务名称"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue