| 3814 | |
| 3815 | |
| 3816 | void JAttachment::putSlice(CheckStatusWrapper* user_status, ITransaction* tra, ISC_QUAD* array_id, |
| 3817 | unsigned int /*sdlLength*/, const unsigned char* sdl, unsigned int paramLength, |
| 3818 | const unsigned char* param, int sliceLength, unsigned char* slice) |
| 3819 | { |
| 3820 | /************************************** |
| 3821 | * |
| 3822 | * g d s _ $ p u t _ s l i c e |
| 3823 | * |
| 3824 | ************************************** |
| 3825 | * |
| 3826 | * Functional description |
| 3827 | * Snatch a slice of an array. |
| 3828 | * |
| 3829 | **************************************/ |
| 3830 | try |
| 3831 | { |
| 3832 | JTransaction* const jt = getTransactionInterface(user_status, tra); |
| 3833 | EngineContextHolder tdbb(user_status, this, FB_FUNCTION); |
| 3834 | |
| 3835 | jrd_tra* transaction = jt->getHandle(); |
| 3836 | validateHandle(tdbb, transaction); |
| 3837 | check_database(tdbb); |
| 3838 | |
| 3839 | try |
| 3840 | { |
| 3841 | blb::put_slice(tdbb, transaction, reinterpret_cast<bid*>(array_id), |
| 3842 | sdl, paramLength, param, sliceLength, slice); |
| 3843 | } |
| 3844 | catch (const Exception& ex) |
| 3845 | { |
| 3846 | transliterateException(tdbb, ex, user_status, "JAttachment::putSlice"); |
| 3847 | return; |
| 3848 | } |
| 3849 | } |
| 3850 | catch (const Exception& ex) |
| 3851 | { |
| 3852 | ex.stuffException(user_status); |
| 3853 | return; |
| 3854 | } |
| 3855 | |
| 3856 | successful_completion(user_status); |
| 3857 | } |
| 3858 | |
| 3859 | |
| 3860 | JEvents* JAttachment::queEvents(CheckStatusWrapper* user_status, IEventCallback* callback, |
nothing calls this directly
no test coverage detected