| 179 | } |
| 180 | |
| 181 | Status DataSourceScanNode::Prepare(RuntimeState* state) { |
| 182 | RETURN_IF_ERROR(ScanNode::Prepare(state)); |
| 183 | tuple_desc_ = state->desc_tbl().GetTupleDescriptor(data_src_node_.tuple_id); |
| 184 | DCHECK(tuple_desc_ != NULL); |
| 185 | |
| 186 | // Point at the plan node's shared connection. The object is owned by the plan node |
| 187 | // and lives for the lifetime of the fragment; no construction needed here. |
| 188 | shared_conn_ = &plan_node_.shared_conn; |
| 189 | |
| 190 | cols_next_val_idx_.resize(tuple_desc_->slots().size(), 0); |
| 191 | num_ext_data_source_get_next_ = |
| 192 | PROFILE_NumExternalDataSourceGetNext.Instantiate(runtime_profile_); |
| 193 | jdbc_jni_wait_timer_ = PROFILE_JdbcJniWaitTime.Instantiate(runtime_profile_); |
| 194 | jdbc_cursor_fetch_timer_ = PROFILE_JdbcCursorFetchTime.Instantiate(runtime_profile_); |
| 195 | jdbc_lock_wait_timer_ = PROFILE_JdbcLockWaitTime.Instantiate(runtime_profile_); |
| 196 | jdbc_jni_call_count_ = PROFILE_JdbcJniCallCount.Instantiate(runtime_profile_); |
| 197 | return Status::OK(); |
| 198 | } |
| 199 | |
| 200 | Status DataSourceScanNode::Open(RuntimeState* state) { |
| 201 | SCOPED_TIMER(runtime_profile_->total_time_counter()); |
nothing calls this directly
no test coverage detected