MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / API_ROUTINE isc_array_get_slice

Function API_ROUTINE isc_array_get_slice

src/yvalve/array.cpp:107–142  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105
106
107ISC_STATUS API_ROUTINE isc_array_get_slice(ISC_STATUS* status,
108 FB_API_HANDLE* db_handle,
109 FB_API_HANDLE* trans_handle,
110 ISC_QUAD* array_id,
111 const ISC_ARRAY_DESC* desc,
112 void* array,
113 SLONG* slice_length)
114{
115/**************************************
116 *
117 * i s c _ a r r a y _ g e t _ s l i c e
118 *
119 **************************************
120 *
121 * Functional description
122 *
123 **************************************/
124 UCHAR sdl_buffer[512];
125
126 SSHORT sdl_length = sizeof(sdl_buffer);
127 UCHAR* sdl = sdl_buffer;
128
129 if (gen_sdl(status, desc, &sdl_length, &sdl, &sdl_length, true))
130 return status[1];
131
132 // SD: I do not complain but in ibase.h sdl is a plain char in functions'
133 // declaration while it is UCHAR in the functions' implementations. Damned legacy!
134 isc_get_slice(status, db_handle, trans_handle, array_id,
135 sdl_length, sdl,
136 0, NULL, *slice_length, array, slice_length);
137
138 if (sdl != sdl_buffer)
139 gds__free(sdl);
140
141 return status[1];
142}
143
144
145void iscArrayLookupBoundsImpl(Why::YAttachment* attachment,

Callers

nothing calls this directly

Calls 1

gen_sdlFunction · 0.85

Tested by

no test coverage detected