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

Method get

src/jrd/sort.cpp:299–330  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

297
298
299void Sort::get(thread_db* tdbb, ULONG** record_address)
300{
301/**************************************
302 *
303 * Get a record from sort (in order, of course).
304 * The address of the record is returned in <record_address>
305 * If the stream is exhausted, SORT_get puts NULL in <record_address>.
306 *
307 **************************************/
308 sort_record* record = NULL;
309
310 try
311 {
312 record = getRecord();
313 *record_address = (ULONG*) record;
314
315 if (record)
316 {
317 diddleKey((UCHAR*) record->sort_record_key, false, false);
318 }
319 }
320 catch (const BadAlloc&)
321 {
322 Firebird::Arg::Gds(isc_sort_mem_err).raise();
323 }
324 catch (const status_exception& ex)
325 {
326 Firebird::Arg::Gds status(isc_sort_err);
327 status.append(Firebird::Arg::StatusVector(ex.value()));
328 status.raise();
329 }
330}
331
332
333void Sort::put(thread_db* tdbb, ULONG** record_address)

Callers

nothing calls this directly

Calls 7

GdsClass · 0.85
diddleKeyMethod · 0.80
StatusVectorClass · 0.70
raiseMethod · 0.45
appendMethod · 0.45
valueMethod · 0.45
getRecordMethod · 0.45

Tested by

no test coverage detected