-
Notifications
You must be signed in to change notification settings - Fork 7
/
mod.rs
36 lines (31 loc) · 1.03 KB
/
mod.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Copyright (c) 2022 TOYOTA MOTOR CORPORATION. Licensed under MIT OR Apache-2.0.
use std::time::Duration;
use springql_core::{
high_level_rs::SpringPipelineHL,
low_level_rs::{spring_command, spring_open, SpringConfig, SpringPipeline},
};
use springql_foreign_service::sink::ForeignSink;
#[allow(dead_code)]
pub(crate) fn apply_ddls(ddls: &[String], config: SpringConfig) -> SpringPipelineHL {
let pipeline = SpringPipelineHL::new(&config).unwrap();
for ddl in ddls {
pipeline.command(ddl).unwrap();
}
pipeline
}
#[allow(dead_code)]
pub(crate) fn apply_ddls_low_level(ddls: &[String], config: SpringConfig) -> SpringPipeline {
let pipeline = spring_open(&config).unwrap();
for ddl in ddls {
spring_command(&pipeline, ddl).unwrap();
}
pipeline
}
#[allow(dead_code)]
pub(crate) fn drain_from_sink(sink: &ForeignSink) -> Vec<serde_json::Value> {
let mut received = Vec::new();
while let Some(v) = sink.try_receive(Duration::from_secs(1)) {
received.push(v);
}
received
}