Skip to content

feat!: execute prepared return session add indicator

Arseniy Volynets requested to merge av/fiber-multi-unprepare into 2.11.2-picodata

Alternative to !198

Summary

  • feat!: execute prepared return session add

BREAKING CHANGE!:

  • In picodata SQL we are going to use a separate fiber for doing prepare/unprepare requests, so that when vshard connection is dropped, we don't loose all statements associated with that connection. Current behaviour of execute_prepared_ext is to add prepared stmt to current session, this leads to stmt having 2 refs: one from fiber doing prepare/unprepare, second one from initial fiber executing the statement. This leads to stmt not being deleted from tarantool cache. We are going to fix on picodata side by calling unprepare for each session that incremented the ref count.
  • To do this we need to know whether session executing the statement increased ref count or not, for this purpose add an extra parameter was_session_add to sql_execute_prepared_ext function. When we add statement to current session, we set parameter to 1.

NO_DOC=picodata internal patch NO_CHANGELOG=picodata internal patch NO_TEST=tests will be in picodata MR

Close #... Docs follow-up: not necessary / new issue

Edited by Dmitry Ivanov

Merge request reports