| 5886 | |
| 5887 | |
| 5888 | static 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 | |
| 5931 | static void release_sql_request( Rsr* statement) |
no test coverage detected