pulsar-client-cpp icon indicating copy to clipboard operation
pulsar-client-cpp copied to clipboard

[Bug] pulsar_message_set_schema_version: Only declared but not defined?

Open supersven opened this issue 2 months ago • 0 comments

Search before asking

  • [x] I searched in the issues and found nothing similar.

Version

v3.7.0 and main

Minimal reproduce step

PULSAR_PUBLIC void pulsar_message_set_schema_version(pulsar_message_t *message, const char *schemaVersion) is declared in include/pulsar/c/message.h, however I cannot find where this function is defined/implemented 🤔

I'm pretty new to the code base, so I might me overlooking something. Please accept my excuses if that's the case.

What did you expect to see?

I'd expected to find a function like

void pulsar_message_set_schema_version(pulsar_message_t *message, const char *schemaVersion) {
    message->message.setSchemaVersion(schemaVersion);
}

in lib/c/c_Message.cc. [Please note that the function should just illustrate the issue - I haven't tried it.]

What did you see instead?

Nothing 😉 I found no delegating C function for pulsar_message_set_schema_version.

Anything else?

May be an interesting detail: I'm generating Haskell bindings to this library from the C header files. I found this issue because the linker couldn't find a symbol for pulsar_message_set_schema_version.

If my reasoning makes sense, I'm happy to provide the three line delegate function as PR.

Are you willing to submit a PR?

  • [x] I'm willing to submit a PR!

supersven avatar Nov 06 '25 06:11 supersven