| 64 | |
| 65 | template <typename ThisType, typename NextType> |
| 66 | void BaseAggWinStream<ThisType, NextType>::internalOpen(thread_db* tdbb) const |
| 67 | { |
| 68 | Request* const request = tdbb->getRequest(); |
| 69 | Impure* const impure = getImpure(request); |
| 70 | |
| 71 | impure->irsb_flags = irsb_open; |
| 72 | |
| 73 | impure->state = STATE_GROUPING; |
| 74 | |
| 75 | VIO_record(tdbb, &request->req_rpb[m_stream], m_format, tdbb->getDefaultPool()); |
| 76 | |
| 77 | unsigned impureCount = m_group ? m_group->getCount() : 0; |
| 78 | |
| 79 | if (!impure->groupValues && impureCount > 0) |
| 80 | { |
| 81 | impure->groupValues = FB_NEW_POOL(*tdbb->getDefaultPool()) impure_value[impureCount]; |
| 82 | memset(impure->groupValues, 0, sizeof(impure_value) * impureCount); |
| 83 | } |
| 84 | |
| 85 | m_next->open(tdbb); |
| 86 | } |
| 87 | |
| 88 | template <typename ThisType, typename NextType> |
| 89 | void BaseAggWinStream<ThisType, NextType>::close(thread_db* tdbb) const |
nothing calls this directly
no test coverage detected