-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Error serializing DB type with BigInt attribute #1710
Comments
Thank you for reporting this. We will look into it. @adrianvpymnt In the meantime, is it working with Thin mode? |
Hi @adrianvpymnt , we did add support for sql binds for As a workaround, I think for now we need to use
|
This does actually work in thin mode, I mentioned that in my original post, that's why I thought it was a bug that it doesn't work in thick mode. You can verify that yourself by executing my script after commenting out the following line: oracledb.initOracleClient({}); |
I may be missing some code. I tried the above program , it gives the following output, where the value is truncated. Can you confirm if value 589508999999999999999n is returned properly in your case?
|
|
Thanks for confirmation. Yes we will address this issue in thick mode and thin mode as well and provide an update. Please see the reasons for the above behaviour: Thick mode currently doesn't not handle JS type BigInt in C layer. Hence it throws an error when BigInt is passed from JS to C. On thin mode, it was truncating the value ( |
"Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0"
oracledb version: 6.7.0
oracledb thin mode: false
oracle client version: 21.10.0.0.0
$ node --version
v18.18.0
Is it an error or a hang or a crash?
An error
What error(s) or behavior you are seeing?
Note that I do not have a D: drive in my system. Also note that I am required to use thick mode because the current version of oracledb does not support NNE.
My own analysis:
The script executes successfully if I remove the
n
from589508999999999999999n
, albeit the number is rounded which is what I'm trying to avoid by using a BigInt. The script also executes successfully in thin mode without modification.It is my understanding that this functionality should work with oracledb 6.7.0 thick mode, please correct me if I'm wrong.
Thank you for your help.
The text was updated successfully, but these errors were encountered: