Skip to content

Conversation

@maxdml
Copy link
Collaborator

@maxdml maxdml commented Oct 29, 2025

This PR lifts the encoding/decoding of workflows and steps input/outputs outside of the system database, to facilitate further work on serialization. We also make sure to store nil pointers as NULL in Postgres (otherwise an empty string per gob/json + b64 encoding), so we can always return the right value to users (specifically on the ListWorkflows and GetWorkflowSteps path which do not have type information for automatic recasting.)

The system DB functions thus always return pointers to (encoded) strings.

Note that sleep must still call (de)serialize, when reading/writing the wake up time. This won't be a problem because the type is well known. (We could decide to have an independent encoding and/or no encoding for this, but I don't want to introduce heterogeneity in the encoded data living in the DB.)

@maxdml maxdml marked this pull request as draft October 30, 2025 16:39
@maxdml maxdml closed this Nov 6, 2025
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