-
Notifications
You must be signed in to change notification settings - Fork 94
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
Add int128 and supported functions #2096
Conversation
b2e773b
to
66f76da
Compare
b484bf9
to
ea1531c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add some test cases to cast_error.test where the casting fails?
93c3230
to
9270191
Compare
4b5b208
to
63eab31
Compare
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #2096 +/- ##
==========================================
- Coverage 89.71% 89.62% -0.09%
==========================================
Files 1014 1017 +3
Lines 35859 35856 -3
==========================================
- Hits 32171 32137 -34
- Misses 3688 3719 +31
☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you also fix the CI and compilation issue on mac?
3bf3bf9
to
3f5c929
Compare
@mewim could you take a look at the API part in kuzu.h and in capi/value.cpp? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job! One general comment is that we should increase the test coverage for edge cases.
I will let @mewim review the API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I went through the API related changes. The changes for Python and Node.js APIs LGTM.
For C API, the binding is not very user-friendly. The users will not understand val_.low, val_.high
until they look into our internal implementation. I suggest to at least bind two more functions: kuzu_int128_t kuzu_int128_t_from_string(const char* str)
and char* kuzu_int128_t_to_string(kuzu_int128_t val)
, so that the user can convert kuzu_int128_t
from/to strings without understanding the internal implementation. Also, consider add a TODO item for binding the full set of int128_t
functions of the C++ API.
For Java and Rust APIs, I see that only the type enums have been added, but no actual binding implementations. It is fine to implement these bindings as separate PRs, but an issue should be created for them so we don't miss them for the next release.
Also, we should change the title of this PR so it looks better in our release change log. |
4e0cef6
to
79c70f8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My general comment is to improve test coverage as much as you can.
6c98bcc
to
e22143b
Compare
cee477a
to
f2171c0
Compare
No description provided.