Merge pull request #10485 from JimMoen/fix-mssql-bridge-default
fix: use default health check timeout for sqlserver
This commit is contained in:
commit
2b0106e047
|
@ -22,11 +22,11 @@
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-define(DEFAULT_SQL, <<
|
-define(DEFAULT_SQL, <<
|
||||||
"insert into t_mqtt_msg(msgid, topic, qos, payload)"
|
"insert into t_mqtt_msg(msgid, topic, qos, payload) "
|
||||||
"values (${id}, ${topic}, ${qos}, ${payload})"
|
"values ( ${id}, ${topic}, ${qos}, ${payload} )"
|
||||||
>>).
|
>>).
|
||||||
|
|
||||||
-define(DEFAULT_DRIVER, <<"ms-sqlserver-18">>).
|
-define(DEFAULT_DRIVER, <<"ms-sql">>).
|
||||||
|
|
||||||
conn_bridge_examples(Method) ->
|
conn_bridge_examples(Method) ->
|
||||||
[
|
[
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
-export([connect/1]).
|
-export([connect/1]).
|
||||||
|
|
||||||
%% Internal exports used to execute code with ecpool worker
|
%% Internal exports used to execute code with ecpool worker
|
||||||
-export([do_get_status/2, worker_do_insert/3, do_async_reply/2]).
|
-export([do_get_status/1, worker_do_insert/3, do_async_reply/2]).
|
||||||
|
|
||||||
-import(emqx_plugin_libs_rule, [str/1]).
|
-import(emqx_plugin_libs_rule, [str/1]).
|
||||||
-import(hoconsc, [mk/2, enum/1, ref/2]).
|
-import(hoconsc, [mk/2, enum/1, ref/2]).
|
||||||
|
@ -306,10 +306,9 @@ on_batch_query_async(InstanceId, Requests, ReplyFunAndArgs, State) ->
|
||||||
),
|
),
|
||||||
do_query(InstanceId, Requests, ?ASYNC_QUERY_MODE(ReplyFunAndArgs), State).
|
do_query(InstanceId, Requests, ?ASYNC_QUERY_MODE(ReplyFunAndArgs), State).
|
||||||
|
|
||||||
on_get_status(_InstanceId, #{poolname := Pool, resource_opts := ResourceOpts} = _State) ->
|
on_get_status(_InstanceId, #{poolname := Pool} = _State) ->
|
||||||
RequestTimeout = ?REQUEST_TIMEOUT(ResourceOpts),
|
|
||||||
Health = emqx_plugin_libs_pool:health_check_ecpool_workers(
|
Health = emqx_plugin_libs_pool:health_check_ecpool_workers(
|
||||||
Pool, {?MODULE, do_get_status, [RequestTimeout]}, RequestTimeout
|
Pool, {?MODULE, do_get_status, []}
|
||||||
),
|
),
|
||||||
status_result(Health).
|
status_result(Health).
|
||||||
|
|
||||||
|
@ -328,9 +327,9 @@ connect(Options) ->
|
||||||
Opts = proplists:get_value(options, Options, []),
|
Opts = proplists:get_value(options, Options, []),
|
||||||
odbc:connect(ConnectStr, Opts).
|
odbc:connect(ConnectStr, Opts).
|
||||||
|
|
||||||
-spec do_get_status(connection_reference(), time_out()) -> Result :: boolean().
|
-spec do_get_status(connection_reference()) -> Result :: boolean().
|
||||||
do_get_status(Conn, RequestTimeout) ->
|
do_get_status(Conn) ->
|
||||||
case execute(Conn, <<"SELECT 1">>, RequestTimeout) of
|
case execute(Conn, <<"SELECT 1">>) of
|
||||||
{selected, [[]], [{1}]} -> true;
|
{selected, [[]], [{1}]} -> true;
|
||||||
_ -> false
|
_ -> false
|
||||||
end.
|
end.
|
||||||
|
@ -444,6 +443,15 @@ worker_do_insert(
|
||||||
{error, {unrecoverable_error, {invalid_request, Reason}}}
|
{error, {unrecoverable_error, {invalid_request, Reason}}}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
-spec execute(pid(), sql()) ->
|
||||||
|
updated_tuple()
|
||||||
|
| selected_tuple()
|
||||||
|
| [updated_tuple()]
|
||||||
|
| [selected_tuple()]
|
||||||
|
| {error, common_reason()}.
|
||||||
|
execute(Conn, SQL) ->
|
||||||
|
odbc:sql_query(Conn, str(SQL)).
|
||||||
|
|
||||||
-spec execute(pid(), sql(), time_out()) ->
|
-spec execute(pid(), sql(), time_out()) ->
|
||||||
updated_tuple()
|
updated_tuple()
|
||||||
| selected_tuple()
|
| selected_tuple()
|
||||||
|
|
|
@ -193,9 +193,9 @@ for dep in ${CT_DEPS}; do
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$ODBC_REQUEST" = 'yes' ]; then
|
if [ "$ODBC_REQUEST" = 'yes' ]; then
|
||||||
INSTALL_ODBC="./scripts/install-odbc-driver.sh"
|
INSTALL_ODBC="./scripts/install-msodbc-driver.sh"
|
||||||
else
|
else
|
||||||
INSTALL_ODBC="echo 'Driver msodbcsql driver not requested'"
|
INSTALL_ODBC="echo 'msodbc driver not requested'"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
F_OPTIONS=""
|
F_OPTIONS=""
|
||||||
|
|
Loading…
Reference in New Issue