| 122 | } |
| 123 | |
| 124 | void RowTableEncoder::DecodeVaryingLengthBuffers( |
| 125 | int64_t start_row_input, int64_t start_row_output, int64_t num_rows, |
| 126 | const RowTableImpl& rows, std::vector<KeyColumnArray>* cols, int64_t hardware_flags, |
| 127 | util::TempVectorStack* temp_stack) { |
| 128 | // Prepare column array vectors |
| 129 | PrepareKeyColumnArrays(start_row_output, num_rows, *cols); |
| 130 | |
| 131 | LightContext ctx; |
| 132 | ctx.hardware_flags = hardware_flags; |
| 133 | ctx.stack = temp_stack; |
| 134 | |
| 135 | bool is_row_fixed_length = row_metadata_.is_fixed_length; |
| 136 | if (!is_row_fixed_length) { |
| 137 | for (size_t i = 0; i < batch_varbinary_cols_.size(); ++i) { |
| 138 | // Memcpy varbinary fields into precomputed in the previous step |
| 139 | // positions in the output row buffer. |
| 140 | EncoderVarBinary::Decode(static_cast<uint32_t>(start_row_input), |
| 141 | static_cast<uint32_t>(num_rows), static_cast<uint32_t>(i), |
| 142 | rows, &batch_varbinary_cols_[i], &ctx); |
| 143 | } |
| 144 | } |
| 145 | } |
| 146 | |
| 147 | void RowTableEncoder::PrepareEncodeSelected(int64_t start_row, int64_t num_rows, |
| 148 | const std::vector<KeyColumnArray>& cols) { |
no test coverage detected