Skip to content

Commit a34d8e5

Browse files
committed
fix native response flow for sqlApiLoad
1 parent 4ebbb9d commit a34d8e5

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

packages/cubejs-api-gateway/src/sql-server.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,12 @@ export class SQLServer {
193193
return;
194194
}
195195

196-
resolve(response);
196+
if (response instanceof ArrayBuffer) {
197+
const json = JSON.parse(new TextDecoder().decode(response));
198+
resolve(json);
199+
} else {
200+
resolve(response);
201+
}
197202
},
198203
apiType: 'sql',
199204
});

packages/cubejs-backend-native/src/node_export.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ use cubeorchestrator::cubestore_result_transform::{
4040
get_final_cubestore_result, get_final_cubestore_result_array, get_final_cubestore_result_multi,
4141
transform_data,
4242
};
43-
use cubeorchestrator::types::{RequestResultData, RequestResultDataMulti, TransformDataRequest};
43+
use cubeorchestrator::types::{
44+
RequestResultArray, RequestResultData, RequestResultDataMulti, TransformDataRequest,
45+
};
4446
use neon::prelude::*;
4547
use neon::types::buffer::TypedArray;
4648

@@ -677,7 +679,11 @@ fn final_cubestore_result_array(mut cx: FunctionContext) -> JsResult<JsArrayBuff
677679
return cx.throw_error(err.to_string());
678680
}
679681

680-
let json_data = match serde_json::to_string(&request_results) {
682+
let final_obj = RequestResultArray {
683+
results: request_results,
684+
};
685+
686+
let json_data = match serde_json::to_string(&final_obj) {
681687
Ok(data) => data,
682688
Err(e) => return cx.throw_error(format!("Serialization error: {}", e)),
683689
};

rust/cubeorchestrator/src/types.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,3 +374,8 @@ pub struct RequestResultDataMulti {
374374
#[serde(rename = "slowQuery")]
375375
pub slow_query: bool,
376376
}
377+
378+
#[derive(Debug, Clone, Serialize, Deserialize)]
379+
pub struct RequestResultArray {
380+
pub results: Vec<RequestResultData>,
381+
}

0 commit comments

Comments
 (0)