MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / release_statement

Function release_statement

src/remote/server/server.cpp:5888–5928  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5886
5887
5888static void release_statement( Rsr** statement)
5889{
5890/**************************************
5891 *
5892 * r e l e a s e _ s t a t e m e n t
5893 *
5894 **************************************
5895 *
5896 * Functional description
5897 * Release a GDML or SQL statement?
5898 *
5899 **************************************/
5900 if ((*statement)->rsr_cursor)
5901 {
5902 (*statement)->rsr_cursor = NULL;
5903
5904 Rtr* const transaction = (*statement)->rsr_rtr;
5905 fb_assert(transaction);
5906
5907 FB_SIZE_T pos;
5908 if (transaction->rtr_cursors.find(*statement, pos))
5909 transaction->rtr_cursors.remove(pos);
5910 else
5911 fb_assert(false);
5912 }
5913
5914 if ((*statement)->rsr_batch)
5915 {
5916 (*statement)->rsr_batch->release();
5917 (*statement)->rsr_batch = NULL;
5918 }
5919
5920 delete (*statement)->rsr_select_format;
5921 delete (*statement)->rsr_bind_format;
5922
5923 (*statement)->releaseException();
5924 REMOTE_release_messages((*statement)->rsr_message);
5925
5926 delete *statement;
5927 *statement = NULL;
5928}
5929
5930
5931static void release_sql_request( Rsr* statement)

Callers 4

disconnectMethod · 0.70
drop_databaseMethod · 0.70
end_databaseMethod · 0.70
release_sql_requestFunction · 0.70

Calls 5

REMOTE_release_messagesFunction · 0.85
releaseExceptionMethod · 0.80
findMethod · 0.45
removeMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected