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

Method internalOpen

src/jrd/recsrc/Union.cpp:60–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58}
59
60void Union::internalOpen(thread_db* tdbb) const
61{
62 Request* const request = tdbb->getRequest();
63 Impure* const impure = request->getImpure<Impure>(m_impure);
64
65 impure->irsb_flags = irsb_open;
66
67 impure->irsb_count = 0;
68 VIO_record(tdbb, &request->req_rpb[m_stream], m_format, tdbb->getDefaultPool());
69
70 // Initialize the record number of each stream in the union
71
72 for (FB_SIZE_T i = 0; i < m_streams.getCount(); i++)
73 {
74 const StreamType stream = m_streams[i];
75 request->req_rpb[stream].rpb_number.setValue(BOF_NUMBER);
76 }
77
78 m_args[impure->irsb_count]->open(tdbb);
79}
80
81void Union::close(thread_db* tdbb) const
82{

Callers

nothing calls this directly

Calls 6

VIO_recordFunction · 0.85
getRequestMethod · 0.45
getDefaultPoolMethod · 0.45
getCountMethod · 0.45
setValueMethod · 0.45
openMethod · 0.45

Tested by

no test coverage detected