| 558 | } |
| 559 | |
| 560 | QueryBuilder::DS QueryBuilder::X(QueryBuilder::ScanBuilder& scan_bdr, std::string attribute, int sub_c) { |
| 561 | DS r; |
| 562 | |
| 563 | if (sub_c == 0) { |
| 564 | r.buf = DataStorage::BufferSpec::MTD; |
| 565 | } else { |
| 566 | r.buf = DataStorage::BufferSpec::X; |
| 567 | } |
| 568 | auto& attr = scan_bdr.rel[attribute]; |
| 569 | r.data_size = attr.type->rt_size(); |
| 570 | r.data = attr.data(sub_c); |
| 571 | r.scan = &scan_bdr.scan; |
| 572 | return r; |
| 573 | } |
| 574 | |
| 575 | QueryBuilder::HashGroupBuilder::~HashGroupBuilder() { |
| 576 |