Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(oracle): Oracle Database integration #10498

Merged
merged 2 commits into from Apr 27, 2023
Merged

Conversation

paulozulato
Copy link
Contributor

@paulozulato paulozulato commented Apr 24, 2023

Fixes https://emqx.atlassian.net/browse/EMQX-9341

Summary

🤖 Generated by Copilot at 0f39230

This pull request adds a new feature to the emqx project: the Oracle Database bridge, which allows emqx to connect to and exchange messages with Oracle Database. It introduces two new applications: emqx_oracle, which provides the Oracle Database connector, and emqx_bridge_oracle, which provides the bridge configuration and logic. It also updates some existing applications, such as emqx_limiter, emqx_bridge, and emqx_connector, to support the new feature. It also adds some docker-compose files and common test files for testing the feature.

PR Checklist

Please convert it to a draft if any of the following conditions are not met. Reviewers may skip over until all the items are checked:

  • Added tests for the changes
  • Changed lines covered in coverage report
  • Change log has been added to changes/{ce,ee}/(feat|perf|fix)-<PR-id>.en.md files
  • For internal contributor: there is a jira ticket to track this change
  • If there should be document changes, a PR to emqx-docs.git is sent, or a jira ticket is created to follow up
  • Schema changes are backward compatible

Checklist for CI (.github/workflows) changes

.ci/docker-compose-file/docker-compose-oracle.yaml Outdated Show resolved Hide resolved
apps/emqx_oracle/src/emqx_oracle_sup.erl Outdated Show resolved Hide resolved
apps/emqx_oracle/src/emqx_oracle_app.erl Outdated Show resolved Hide resolved
apps/emqx_oracle/src/emqx_oracle.app.src Outdated Show resolved Hide resolved
apps/emqx_connector/include/emqx_connector.hrl Outdated Show resolved Hide resolved
lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src Outdated Show resolved Hide resolved
mix.exs Outdated Show resolved Hide resolved
rebar.config.erl Outdated Show resolved Hide resolved
lib-ee/emqx_ee_bridge/docker-ct Outdated Show resolved Hide resolved
apps/emqx_bridge_oracle/src/emqx_bridge_oracle.app.src Outdated Show resolved Hide resolved
@paulozulato paulozulato force-pushed the master branch 4 times, most recently from f76cbf9 to 2f9db0f Compare April 25, 2023 01:14
.ci/docker-compose-file/docker-compose-oracle.yaml Outdated Show resolved Hide resolved
apps/emqx_bridge_oracle/.gitignore Outdated Show resolved Hide resolved
apps/emqx_bridge_oracle/README.md Outdated Show resolved Hide resolved
apps/emqx_oracle/src/emqx_oracle.erl Outdated Show resolved Hide resolved
apps/emqx_oracle/src/emqx_oracle.erl Outdated Show resolved Hide resolved
apps/emqx_oracle/rebar.config Outdated Show resolved Hide resolved
apps/emqx_bridge_oracle/src/emqx_bridge_oracle.erl Outdated Show resolved Hide resolved
apps/emqx_oracle/README.md Outdated Show resolved Hide resolved
apps/emqx_oracle/src/emqx_oracle.erl Outdated Show resolved Hide resolved
rel/i18n/emqx_bridge_oracle.hocon Outdated Show resolved Hide resolved
rel/i18n/emqx_bridge_oracle.hocon Outdated Show resolved Hide resolved
apps/emqx_bridge_oracle/src/emqx_bridge_oracle.erl Outdated Show resolved Hide resolved
@paulozulato paulozulato force-pushed the master branch 2 times, most recently from fcd5924 to 5bea536 Compare April 26, 2023 17:14
@paulozulato paulozulato marked this pull request as ready for review April 26, 2023 17:14
@paulozulato paulozulato requested review from a team and lafirest as code owners April 26, 2023 17:14
@paulozulato paulozulato force-pushed the master branch 2 times, most recently from 4d61c96 to a6c1143 Compare April 26, 2023 18:34
apps/emqx_oracle/src/emqx_oracle.erl Outdated Show resolved Hide resolved
apps/emqx_oracle/src/emqx_oracle.erl Show resolved Hide resolved
mix.exs Show resolved Hide resolved
apps/emqx_oracle/test/emqx_oracle_SUITE.erl Outdated Show resolved Hide resolved
@coveralls
Copy link
Collaborator

coveralls commented Apr 26, 2023

Pull Request Test Coverage Report for Build 4820335382

  • 124 of 146 (84.93%) changed or added relevant lines in 5 files are covered.
  • 25 unchanged lines in 11 files lost coverage.
  • Overall coverage increased (+0.09%) to 81.588%

Changes Missing Coverage Covered Lines Changed/Added Lines %
apps/emqx_bridge_oracle/src/emqx_bridge_oracle.erl 11 12 91.67%
apps/emqx_oracle/src/emqx_oracle_schema.erl 7 8 87.5%
apps/emqx_oracle/src/emqx_oracle.erl 101 121 83.47%
Files with Coverage Reduction New Missed Lines %
apps/emqx_bridge/src/emqx_bridge_resource.erl 1 75.81%
apps/emqx_conf/src/emqx_conf_schema.erl 1 92.86%
apps/emqx_dashboard/src/emqx_dashboard_monitor.erl 1 65.28%
apps/emqx_gateway/src/emqx_gateway_schema.erl 1 88.89%
apps/emqx/src/emqx_flapping.erl 1 87.27%
apps/emqx/src/emqx_router_helper.erl 1 86.27%
apps/emqx/src/emqx_sys_mon.erl 1 91.67%
apps/emqx/src/emqx_alarm.erl 2 89.92%
apps/emqx/src/emqx_cm.erl 2 91.89%
apps/emqx/src/emqx_stats.erl 2 91.67%
Totals Coverage Status
Change from base Build 4819803744: 0.09%
Covered Lines: 26078
Relevant Lines: 31963

💛 - Coveralls

@paulozulato paulozulato force-pushed the master branch 2 times, most recently from 0041079 to c211a0e Compare April 27, 2023 13:25
jamdb_oracle does not provide interface for performing async queries and
ecpool does not monitor the worker which calls jamdb_oracle, so it's
safer to keep support for sync queries only.
@paulozulato paulozulato merged commit 5f83562 into emqx:master Apr 27, 2023
148 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants