feat!: execute prepared return session add indicator
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