| 539 | } |
| 540 | |
| 541 | DateVal SlotRef::GetDateValInterpreted( |
| 542 | ScalarExprEvaluator* eval, const TupleRow* row) const { |
| 543 | DCHECK_EQ(type_.type, TYPE_DATE); |
| 544 | Tuple* t = row->GetTuple(tuple_idx_); |
| 545 | if (t == nullptr || t->IsNull(null_indicator_offset_)) return DateVal::null(); |
| 546 | const DateValue dv(*reinterpret_cast<int32_t*>(t->GetSlot(slot_offset_))); |
| 547 | return dv.ToDateVal(); |
| 548 | } |
| 549 | |
| 550 | CollectionVal SlotRef::GetCollectionValInterpreted( |
| 551 | ScalarExprEvaluator* eval, const TupleRow* row) const { |