Skip to content

Conversation

@kesmit13
Copy link
Collaborator

@kesmit13 kesmit13 commented Oct 3, 2025

This branch includes support for JSON inputs and outputs for UDFs. This includes ways of specifying the JSON SQL type and applying transformers on the inputs and outputs to translate to and from strings that the database engine requires. Rather than just supporting a JSON type, this branch implements a way of specifying custom types with a specific SQL type for the input / output, and transformer functions for the inputs and outputs. These are wrapper in an Annotated object in the Python type annotation and can be used by customers as well as internal developers for creating new types. This process will eventually be used to support the vector types and other complex SingleStoreDB types.

- Add timestamp=3 to msgpack.unpackb() to convert msgpack Timestamps
  to Python datetime objects
- Add datetime=True to msgpack.packb() to properly serialize datetime
  objects back to msgpack Timestamps
- Fix segfault in accel.c dump_rowdat_1 by adding NULL check after
  apply_transformer call
- Add unit tests for msgpack timestamp functionality
- Add UDF test functions for timestamp handling across numpy, pandas,
  polars, list, and non-vector types
- Fix .gitignore to only ignore test*.py at root level

Co-Authored-By: Claude Opus 4.5 <[email protected]>
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

Successfully merging this pull request may close these issues.

2 participants