MCPcopy Create free account
hub / github.com/PRQL/prql / Java_org_prql_prql4j_PrqlCompiler_toSql

Function Java_org_prql_prql4j_PrqlCompiler_toSql

prqlc/bindings/java/src/lib.rs:10–42  ·  view source on GitHub ↗
(
    mut env: JNIEnv,
    _class: JClass,
    query: JString,
    target: JString,
    format: jboolean,
    signature: jboolean,
)

Source from the content-addressed store, hash-verified

8#[no_mangle]
9#[allow(non_snake_case)]
10pub extern "system" fn Java_org_prql_prql4j_PrqlCompiler_toSql(
11 mut env: JNIEnv,
12 _class: JClass,
13 query: JString,
14 target: JString,
15 format: jboolean,
16 signature: jboolean,
17) -> jstring {
18 let prql_query = match jstring_to_string(&mut env, &query, "query") {
19 Some(s) => s,
20 None => return std::ptr::null_mut(),
21 };
22 let target_str = match jstring_to_string(&mut env, &target, "target") {
23 Some(s) => s,
24 None => return std::ptr::null_mut(),
25 };
26 let prql_dialect = match Target::from_str(&target_str) {
27 Ok(t) => t,
28 Err(e) => {
29 throw_illegal_argument(&mut env, &format!("invalid target dialect: {e}"));
30 return std::ptr::null_mut();
31 }
32 };
33 let opt = Options {
34 format: format != 0,
35 target: prql_dialect,
36 signature_comment: signature != 0,
37 // TODO: add support for `display`
38 ..Default::default()
39 };
40 let result = prqlc::compile(&prql_query, &opt);
41 java_string_with_exception(result, &mut env)
42}
43
44#[no_mangle]
45#[allow(non_snake_case)]

Callers

nothing calls this directly

Calls 4

jstring_to_stringFunction · 0.85
throw_illegal_argumentFunction · 0.85
compileFunction · 0.50

Tested by

no test coverage detected