From c3b346017373648deb8f03f1c7cb84fd5593c092 Mon Sep 17 00:00:00 2001 From: Serge Tupchii Date: Thu, 31 Aug 2023 16:57:44 +0300 Subject: [PATCH] fix(emqx_oracle): make username a required field in emqx_oracle_schema --- apps/emqx_oracle/src/emqx_oracle.app.src | 2 +- apps/emqx_oracle/src/emqx_oracle_schema.erl | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/apps/emqx_oracle/src/emqx_oracle.app.src b/apps/emqx_oracle/src/emqx_oracle.app.src index e2d6d856f..c30e6be95 100644 --- a/apps/emqx_oracle/src/emqx_oracle.app.src +++ b/apps/emqx_oracle/src/emqx_oracle.app.src @@ -1,6 +1,6 @@ {application, emqx_oracle, [ {description, "EMQX Enterprise Oracle Database Connector"}, - {vsn, "0.1.5"}, + {vsn, "0.1.6"}, {registered, []}, {applications, [ kernel, diff --git a/apps/emqx_oracle/src/emqx_oracle_schema.erl b/apps/emqx_oracle/src/emqx_oracle_schema.erl index 3adde5af3..ba9904f19 100644 --- a/apps/emqx_oracle/src/emqx_oracle_schema.erl +++ b/apps/emqx_oracle/src/emqx_oracle_schema.erl @@ -21,7 +21,7 @@ roots() -> fields(config) -> Fields = [{server, server()}, {sid, fun sid/1}, {service_name, fun service_name/1}] ++ - emqx_connector_schema_lib:relational_db_fields() ++ + adjust_fields(emqx_connector_schema_lib:relational_db_fields()) ++ emqx_connector_schema_lib:prepare_statement_fields(), proplists:delete(database, Fields). @@ -38,3 +38,16 @@ service_name(type) -> binary(); service_name(desc) -> ?DESC(?REF_MODULE, "service_name"); service_name(required) -> false; service_name(_) -> undefined. + +adjust_fields(Fields) -> + lists:map( + fun + ({username, Sc}) -> + %% to please dialyzer... + Override = #{type => hocon_schema:field_schema(Sc, type), required => true}, + {username, hocon_schema:override(Sc, Override)}; + (Field) -> + Field + end, + Fields + ).