Skip to content

Commit

Permalink
Address comments
Browse files Browse the repository at this point in the history
  • Loading branch information
nicklan committed Feb 13, 2025
1 parent 6f79a37 commit b5d8e10
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 23 deletions.
38 changes: 18 additions & 20 deletions ffi/examples/read-table/arrow.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,26 +113,25 @@ static ExclusiveEngineData* apply_transform(
if (!context->arrow_context->cur_transform) {
print_diag(" No transform needed");
return data;
} else {
print_diag(" Applying transform\n");
SharedExpressionEvaluator* evaluator = get_evaluator(
context->engine,
context->read_schema, // input schema
context->arrow_context->cur_transform,
context->logical_schema); // output schema
ExternResultHandleExclusiveEngineData transformed_res = evaluate(
context->engine,
&data,
evaluator);
free_engine_data(data);
free_evaluator(evaluator);
if (transformed_res.tag != OkHandleExclusiveEngineData) {
print_error("Failed to transform read data.", (Error*)transformed_res.err);
free_error((Error*)transformed_res.err);
return NULL;
}
return transformed_res.ok;
}
print_diag(" Applying transform\n");
SharedExpressionEvaluator* evaluator = get_evaluator(
context->engine,
context->read_schema, // input schema
context->arrow_context->cur_transform,
context->logical_schema); // output schema
ExternResultHandleExclusiveEngineData transformed_res = evaluate(
context->engine,
&data,
evaluator);
free_engine_data(data);
free_evaluator(evaluator);
if (transformed_res.tag != OkHandleExclusiveEngineData) {
print_error("Failed to transform read data.", (Error*)transformed_res.err);
free_error((Error*)transformed_res.err);
return NULL;
}
return transformed_res.ok;
}

// This is the callback that will be called for each chunk of data read from the parquet file
Expand All @@ -142,7 +141,6 @@ static void visit_read_data(void* vcontext, ExclusiveEngineData* data)
struct EngineContext* context = vcontext;
ExclusiveEngineData* transformed = apply_transform(context, data);
if (!transformed) {
// TODO: What?
exit(-1);
}
ExternResultArrowFFIData arrow_res = get_raw_arrow_data(transformed, context->engine);
Expand Down
3 changes: 1 addition & 2 deletions ffi/src/engine_funcs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -203,8 +203,7 @@ fn evaluate_impl(
batch: &dyn EngineData,
evaluator: &dyn ExpressionEvaluator,
) -> DeltaResult<Handle<ExclusiveEngineData>> {
let res = evaluator.evaluate(batch);
res.map(|d| d.into())
evaluator.evaluate(batch).map(Into::into)
}

#[cfg(test)]
Expand Down
2 changes: 1 addition & 1 deletion ffi/src/scan.rs
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ pub unsafe extern "C" fn get_transform_for_row(
.get(row)
.cloned()
.flatten()
.map(|transform| transform.into())
.map(Into::into)
}

/// Get a selection vector out of a [`DvInfo`] struct
Expand Down

0 comments on commit b5d8e10

Please sign in to comment.