Skip to content

fix: panic & load time failure if symbols are missing

Georgy Moshkin requested to merge fix/2.10-compatibility into master

Since some time around tarantool 2.10 most of the symbols have been closed, but some of our apis were still relying on them. This commit fixes these issues.

Don't link against symbols known to be missing in tarantool 2.10. These are:

  • decimal_*
  • fiber_channel_*
  • ipc_value_*
  • tuple_field_raw_by_full_path

Instead use dlsym to lookup these symbols at runtime. The lookup is only done once per symbol.

Also don't use BoxTuple::data unless tuple_field_raw_by_full_path is present, otherwise the structure of BoxTuple cannot be assumed.

TODO: maybe don't ever use BoxTuple::data

Merge request reports