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

Missing data types in Client APIs #1810

Closed
andyfengHKU opened this issue Jul 13, 2023 · 6 comments
Closed

Missing data types in Client APIs #1810

andyfengHKU opened this issue Jul 13, 2023 · 6 comments
Assignees

Comments

@andyfengHKU
Copy link
Contributor

Based on user report

For C API, we are missing

  • RECURSIVE_REL
  • SERIAL
  • ARROW_COLUMN
  • BLOB
  • MAP
  • UNION

The above types may also be missing in other APIs.

Note that for MAP and UNION, we haven't fully implemented, so no functions should be exposed for these two types. Just include them in type switch.

@benjaminwinger
Copy link
Collaborator

Rust API as far as I'm aware is missing:

  • RECURSIVE_REL (mostly done, I'll open a PR soon)
  • ARROW_COLUMN
  • MAP
  • UNION

@andyfengHKU
Copy link
Contributor Author

Just to follow up. We shouldn't expose API functions of ARROW_COLUMN neither.

@benjaminwinger
Copy link
Collaborator

RECURSIVE_REL also seems to be missing from the C++ API and/or docs. You can access it like a struct, and it's fairly straightforward to do so, but there's no documentation of its structure. Having a wrapper like NodeVal and RelVal do would be helpful and would provide a natural place to document it.

@andyfengHKU
Copy link
Contributor Author

RECURSIVE_REL also seems to be missing from the C++ API and/or docs. You can access it like a struct, and it's fairly straightforward to do so, but there's no documentation of its structure. Having a wrapper like NodeVal and RelVal do would be helpful and would provide a natural place to document it.

Good point. Do you want to do it? Maybe wrap as PathVal.

@mewim
Copy link
Collaborator

mewim commented Jul 13, 2023

In C and Java API we provide utility functions:

https://github.com/kuzudb/kuzu/blob/master/tools/java_api/src/main/java/com/kuzudb/KuzuValueRecursiveRelUtil.java#L6

https://github.com/kuzudb/kuzu/blob/master/src/c_api/value.cpp#L166

I think maybe we can just create another static class similar to NodeVal and RelVal for C++. No need for another wrapper.

I can work on that.

@mewim
Copy link
Collaborator

mewim commented Jul 13, 2023

Done in #1814

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

No branches or pull requests

3 participants