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

New Feature/Enhancement Request: Binary release (and make it small) #963

Open
data-henrik opened this issue Nov 7, 2023 · 4 comments
Open

Comments

@data-henrik
Copy link

Is your feature request related to a problem? Please describe.
It requires some infrastructure to use the driver.

Describe the solution you'd like
Distribute a small, directly usable library / module. No compilation, small in size, core features blazing fast.

Additional context
The Db2 driver is not working in certain compute environments like Functions as a Service.

@data-henrik
Copy link
Author

@bimalkjha
Copy link
Member

@data-henrik

Distribute a small, directly usable library / module. No compilation, small in size, core features blazing fast.

ibm_db uses clidriver for connectivity which is different for different platform. If we add clidriver also with ibm_db, size will be very large, we can't avoid that. If you check unpacked size of current ibm_db at https://www.npmjs.com/package/ibm_db, it is of 14.1MB under which https://github.com/ibmdb/node-ibm_db/blob/master/build.zip is of 11.2MB. So, actual size of ibm_db is less than 3MB and it is also due to 2MB of test files.

Currently, we are already shipping precompiled windows binaries for all node versions > 12.0 and electron binaries for electron version > 19 in build.zip file. If we add pre-compiled binaries for other platforms also like Linuxx64, MacOS, AIX, LinuxPPCLE, LinuxPPC64, zLinux, z/OS, other platforms, the size of build.zip will grow more than 70MB itself which will make this package very bulky and burden on us too to generate so many binaries before every release.
Since, ibm_db uses C++ code as add-on binary and for add-on binaries, nodejs suggest to use local compilation. Same is for other packages with add on binaries or they support very limited OS.

The Db2 driver is not working in certain compute environments like Functions as a Service.

We would certainly like to know more about this issue. If you can share why it is not working and what is blocking, we can try to fix it. Also, let me know, how I can reproduce this problem myself which will help to fix faster. Thanks.

@data-henrik
Copy link
Author

I would focus on typical container runtimes which is Linux on x86. Some vendors have native drivers, so basically a DRDA implementation in Typescript would be needed.

@bimalkjha
Copy link
Member

Opened Epic in Internal Jira to add pre-compiled Linux binaries in ibm_db driver: https://jira.rocketsoftware.com/browse/DBC-14897. Currently, this Epic is scheduled for 2024.

We can not implement DRDA in any open source language as we'll loose control over requirement of db2connect license for z/OS and iSeries servers. A DRDA implementation in open source can be modified by any user to bypass license check. We can not support or maintain any open source driver that do not use IBM ODBC or JDBC driver for connectivity. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants