@@ -45,6 +45,7 @@ pub extern "system" fn Java_org_lance_compaction_Compaction_nativePlanCompaction
4545 defer_index_remap : JObject , // Optional<Boolean>
4646 compaction_mode : JObject , // Optional<String>
4747 binary_copy_read_batch_bytes : JObject , // Optional<Long>
48+ max_source_fragments : JObject , // Optional<Long>
4849) -> JObject < ' local > {
4950 ok_or_throw_with_return ! (
5051 env,
@@ -60,7 +61,8 @@ pub extern "system" fn Java_org_lance_compaction_Compaction_nativePlanCompaction
6061 batch_size,
6162 defer_index_remap,
6263 compaction_mode,
63- binary_copy_read_batch_bytes
64+ binary_copy_read_batch_bytes,
65+ max_source_fragments
6466 ) ,
6567 JObject :: null( )
6668 )
@@ -80,6 +82,7 @@ fn inner_plan_compaction<'local>(
8082 defer_index_remap : JObject , // Optional<Boolean>
8183 compaction_mode : JObject , // Optional<String>
8284 binary_copy_read_batch_bytes : JObject , // Optional<Long>
85+ max_source_fragments : JObject , // Optional<Long>
8386) -> Result < JObject < ' local > > {
8487 let config = {
8588 let dataset =
@@ -98,6 +101,7 @@ fn inner_plan_compaction<'local>(
98101 & defer_index_remap,
99102 & compaction_mode,
100103 & binary_copy_read_batch_bytes,
104+ & max_source_fragments,
101105 & config,
102106 ) ?;
103107
@@ -125,6 +129,7 @@ pub extern "system" fn Java_org_lance_compaction_Compaction_nativeCommitCompacti
125129 defer_index_remap : JObject , // Optional<Boolean>
126130 compaction_mode : JObject , // Optional<String>
127131 binary_copy_read_batch_bytes : JObject , // Optional<Long>
132+ max_source_fragments : JObject , // Optional<Long>
128133) -> JObject < ' local > {
129134 ok_or_throw_with_return ! (
130135 env,
@@ -142,6 +147,7 @@ pub extern "system" fn Java_org_lance_compaction_Compaction_nativeCommitCompacti
142147 defer_index_remap,
143148 compaction_mode,
144149 binary_copy_read_batch_bytes,
150+ max_source_fragments,
145151 ) ,
146152 JObject :: null( )
147153 )
@@ -162,6 +168,7 @@ fn inner_commit_compaction<'local>(
162168 defer_index_remap : JObject , // Optional<Boolean>
163169 compaction_mode : JObject , // Optional<String>
164170 binary_copy_read_batch_bytes : JObject , // Optional<Long>
171+ max_source_fragments : JObject , // Optional<Long>
165172) -> Result < JObject < ' local > > {
166173 let config = {
167174 let dataset =
@@ -180,6 +187,7 @@ fn inner_commit_compaction<'local>(
180187 & defer_index_remap,
181188 & compaction_mode,
182189 & binary_copy_read_batch_bytes,
190+ & max_source_fragments,
183191 & config,
184192 ) ?;
185193 let completed_tasks = import_vec_to_rust ( env, & rewrite_results, |env, rewrite_result| {
@@ -216,6 +224,7 @@ pub extern "system" fn Java_org_lance_compaction_CompactionTask_nativeExecute<'l
216224 defer_index_remap : JObject , // Optional<Boolean>
217225 compaction_mode : JObject , // Optional<String>
218226 binary_copy_read_batch_bytes : JObject , // Optional<Long>
227+ max_source_fragments : JObject , // Optional<Long>
219228) -> JObject < ' local > {
220229 ok_or_throw_with_return ! (
221230 env,
@@ -233,7 +242,8 @@ pub extern "system" fn Java_org_lance_compaction_CompactionTask_nativeExecute<'l
233242 batch_size,
234243 defer_index_remap,
235244 compaction_mode,
236- binary_copy_read_batch_bytes
245+ binary_copy_read_batch_bytes,
246+ max_source_fragments
237247 ) ,
238248 JObject :: null( )
239249 )
@@ -255,6 +265,7 @@ fn inner_execute_task<'local>(
255265 defer_index_remap : JObject , // Optional<Boolean>
256266 compaction_mode : JObject , // Optional<String>
257267 binary_copy_read_batch_bytes : JObject , // Optional<Long>
268+ max_source_fragments : JObject , // Optional<Long>
258269) -> Result < JObject < ' local > > {
259270 let task_data: TaskData = task_data. extract_object ( env) ?;
260271 let config = {
@@ -274,6 +285,7 @@ fn inner_execute_task<'local>(
274285 & defer_index_remap,
275286 & compaction_mode,
276287 & binary_copy_read_batch_bytes,
288+ & max_source_fragments,
277289 & config,
278290 ) ?;
279291 let compaction_task = CompactionTask {
@@ -300,7 +312,7 @@ const REWRITE_RESULT_CLASS: &str = "org/lance/compaction/RewriteResult";
300312const REWRITE_RESULT_CONSTRUCTOR_SIG : & str =
301313 "(Lorg/lance/compaction/CompactionMetrics;Ljava/util/List;Ljava/util/List;J[B)V" ;
302314const COMPACTION_OPTIONS_CLASS : & str = "org/lance/compaction/CompactionOptions" ;
303- const COMPACTION_OPTIONS_CONSTRUCTOR_SIG : & str = "(Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)V" ;
315+ const COMPACTION_OPTIONS_CONSTRUCTOR_SIG : & str = "(Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional; )V" ;
304316
305317impl IntoJava for & TaskData {
306318 fn into_java < ' a > ( self , env : & mut JNIEnv < ' a > ) -> Result < JObject < ' a > > {
@@ -362,6 +374,9 @@ impl IntoJava for &CompactionOptions {
362374 let binary_copy_read_batch_bytes =
363375 to_java_long_obj ( env, self . binary_copy_read_batch_bytes . map ( |v| v as i64 ) ) ?;
364376 let binary_copy_read_batch_bytes_opt = to_java_optional ( env, binary_copy_read_batch_bytes) ?;
377+ let max_source_fragments =
378+ to_java_long_obj ( env, self . max_source_fragments . map ( |v| v as i64 ) ) ?;
379+ let max_source_fragments_opt = to_java_optional ( env, max_source_fragments) ?;
365380
366381 Ok ( env. new_object (
367382 COMPACTION_OPTIONS_CLASS ,
@@ -377,6 +392,7 @@ impl IntoJava for &CompactionOptions {
377392 JValueGen :: Object ( & defer_index_remap_opt) ,
378393 JValueGen :: Object ( & compaction_mode_opt) ,
379394 JValueGen :: Object ( & binary_copy_read_batch_bytes_opt) ,
395+ JValueGen :: Object ( & max_source_fragments_opt) ,
380396 ] ,
381397 ) ?)
382398 }
0 commit comments