grafana / xk6-sql

k6 extension to load test RDBMSs (PostgreSQL, MySQL, MS SQL and SQLite3)
Apache License 2.0
107 stars 57 forks source link

Feature: Oracle DB Support #24

Closed stefnedelchevbrady closed 2 years ago

stefnedelchevbrady commented 2 years ago
CLAassistant commented 2 years ago

CLA assistant check
All committers have signed the CLA.

imiric commented 2 years ago

Hi @stefnedelchev, thanks for the PR!

Unfortunately we can't accept it, as we don't want to expand support for more SQL implementations internally. See #17 for details.

Eventually, we'd like to split apart each currently supported dialect into standalone sub-extensions, so that users who need support for only e.g. PostgreSQL can build a binary that only has these drivers built-in, instead of the current 4. Adding more drivers to this list further complicates this.

Besides, it's fairly trivial for users to build a k6 binary with an extension from their own or any other xk6-sql fork.

Additionally, supporting Oracle DB specifically is a bit challenging, since it requires building with CGO_ENABLED=1 (same as SQLite, so not a big problem), and installing Oracle Client libraries. Oracle DB is also not packaged by most Linux distributions, and there are no official OCI images on standard registries, so Oracle's registry should be used. This should all be documented in the README.

If you want to keep supporting your fork, we'd be happy to list it in our README, so that users who need Oracle support can use it. Let us know if you're OK with this. And please add the above documentation, if so.

stefnedelchevbrady commented 2 years ago

@imiric Fair enough, I understand. Sure, I can keep my fork and update its documentation. I'll let you know when I introduce these changes so the fork could be referenced.

stefnedelchevbrady commented 2 years ago

@imiric I updated the readme of my fork, changed the Open method so it accepts "oracle" as database argument instead of "godror" and fixed the pipeline. I also published a new release with a binary build for Windows (also tested if it works). Please, let me know if I'm missing something https://github.com/stefnedelchev/xk6-sql-with-oracle