@@ -7,7 +7,6 @@ public class FragmentInfo {
77 private SWIGTYPE_p_tiledb_fragment_info_t fragmentInfop ;
88 private SWIGTYPE_p_p_tiledb_fragment_info_t fragmentInfopp ;
99 private Context ctx ;
10- private Array array ;
1110 private String uri ;
1211
1312 /**
@@ -18,9 +17,8 @@ public class FragmentInfo {
1817 public FragmentInfo (Context ctx , String uri ) throws TileDBError {
1918 this .ctx = ctx ;
2019 this .uri = uri ;
21- this .array = new Array (ctx , uri );
22- this .fragmentInfopp = tiledb .new_tiledb_fragment_info_tpp ();
2320
21+ this .fragmentInfopp = tiledb .new_tiledb_fragment_info_tpp ();
2422 ctx .handleError (tiledb .tiledb_fragment_info_alloc (ctx .getCtxp (), uri , fragmentInfopp ));
2523 fragmentInfop = tiledb .tiledb_fragment_info_tpp_value (this .fragmentInfopp );
2624 ctx .handleError (tiledb .tiledb_fragment_info_load (ctx .getCtxp (), fragmentInfop ));
@@ -36,7 +34,6 @@ public FragmentInfo(Context ctx, String uri, EncryptionType encryptionType, Stri
3634 throws TileDBError {
3735 this .ctx = ctx ;
3836 this .uri = uri ;
39- this .array = new Array (ctx , uri );
4037 this .fragmentInfopp = tiledb .new_tiledb_fragment_info_tpp ();
4138
4239 try (NativeArray keyArray = new NativeArray (ctx , key , Byte .class )) {
@@ -189,14 +186,16 @@ public Pair<Long, Long> getTimestampRange(long fragmentID) throws TileDBError {
189186 * @throws TileDBError
190187 */
191188 public Pair getNonEmptyDomainFromIndex (long fragmentID , long dimensionID ) throws TileDBError {
192- Datatype type = array .getSchema ().getDomain ().getDimension (dimensionID ).getType ();
189+ try (Array arr = new Array (ctx , uri )) {
190+ Datatype type = arr .getSchema ().getDomain ().getDimension (dimensionID ).getType ();
193191
194- try (NativeArray array = new NativeArray (ctx , 2 , type )) {
195- ctx .handleError (
196- tiledb .tiledb_fragment_info_get_non_empty_domain_from_index (
197- ctx .getCtxp (), fragmentInfop , fragmentID , dimensionID , array .toVoidPointer ()));
192+ try (NativeArray array = new NativeArray (ctx , 2 , type )) {
193+ ctx .handleError (
194+ tiledb .tiledb_fragment_info_get_non_empty_domain_from_index (
195+ ctx .getCtxp (), fragmentInfop , fragmentID , dimensionID , array .toVoidPointer ()));
198196
199- return new Pair (array .getItem (0 ), array .getItem (1 ));
197+ return new Pair (array .getItem (0 ), array .getItem (1 ));
198+ }
200199 }
201200 }
202201
@@ -209,14 +208,16 @@ public Pair getNonEmptyDomainFromIndex(long fragmentID, long dimensionID) throws
209208 * @throws TileDBError
210209 */
211210 public Pair getNonEmptyDomainFromName (long fragmentID , String dimensionName ) throws TileDBError {
212- Datatype type = array .getSchema ().getDomain ().getDimension (dimensionName ).getType ();
211+ try (Array arr = new Array (ctx , uri )) {
212+ Datatype type = arr .getSchema ().getDomain ().getDimension (dimensionName ).getType ();
213213
214- try (NativeArray array = new NativeArray (ctx , 2 , type )) {
215- ctx .handleError (
216- tiledb .tiledb_fragment_info_get_non_empty_domain_from_name (
217- ctx .getCtxp (), fragmentInfop , fragmentID , dimensionName , array .toVoidPointer ()));
214+ try (NativeArray array = new NativeArray (ctx , 2 , type )) {
215+ ctx .handleError (
216+ tiledb .tiledb_fragment_info_get_non_empty_domain_from_name (
217+ ctx .getCtxp (), fragmentInfop , fragmentID , dimensionName , array .toVoidPointer ()));
218218
219- return new Pair (array .getItem (0 ), array .getItem (1 ));
219+ return new Pair (array .getItem (0 ), array .getItem (1 ));
220+ }
220221 }
221222 }
222223
@@ -230,31 +231,33 @@ public Pair getNonEmptyDomainFromName(long fragmentID, String dimensionName) thr
230231 * @throws TileDBError
231232 */
232233 public Pair getNonEmptyDomainVarFromIndex (long fragmentID , long dimensionID ) throws TileDBError {
233- try (Dimension dimension = array .getSchema ().getDomain ().getDimension (dimensionID )) {
234- Datatype type = dimension .getType ();
235-
236- SWIGTYPE_p_unsigned_long_long startSize = tiledb .new_ullp ();
237- SWIGTYPE_p_unsigned_long_long endSize = tiledb .new_ullp ();
238-
239- ctx .handleError (
240- tiledb .tiledb_fragment_info_get_non_empty_domain_var_size_from_index (
241- ctx .getCtxp (), fragmentInfop , fragmentID , dimensionID , startSize , endSize ));
234+ try (Array arr = new Array (ctx , uri )) {
235+ try (Dimension dimension = arr .getSchema ().getDomain ().getDimension (dimensionID )) {
236+ Datatype type = dimension .getType ();
242237
243- try (NativeArray startRange =
244- new NativeArray (ctx , tiledb .ullp_value (startSize ).intValue (), type );
245- NativeArray endRange =
246- new NativeArray (ctx , tiledb .ullp_value (endSize ).intValue (), type )) {
238+ SWIGTYPE_p_unsigned_long_long startSize = tiledb .new_ullp ();
239+ SWIGTYPE_p_unsigned_long_long endSize = tiledb .new_ullp ();
247240
248241 ctx .handleError (
249- tiledb .tiledb_fragment_info_get_non_empty_domain_var_from_index (
250- ctx .getCtxp (),
251- fragmentInfop ,
252- fragmentID ,
253- dimensionID ,
254- startRange .toVoidPointer (),
255- endRange .toVoidPointer ()));
256-
257- return new Pair (startRange .toJavaArray (), endRange .toJavaArray ());
242+ tiledb .tiledb_fragment_info_get_non_empty_domain_var_size_from_index (
243+ ctx .getCtxp (), fragmentInfop , fragmentID , dimensionID , startSize , endSize ));
244+
245+ try (NativeArray startRange =
246+ new NativeArray (ctx , tiledb .ullp_value (startSize ).intValue (), type );
247+ NativeArray endRange =
248+ new NativeArray (ctx , tiledb .ullp_value (endSize ).intValue (), type )) {
249+
250+ ctx .handleError (
251+ tiledb .tiledb_fragment_info_get_non_empty_domain_var_from_index (
252+ ctx .getCtxp (),
253+ fragmentInfop ,
254+ fragmentID ,
255+ dimensionID ,
256+ startRange .toVoidPointer (),
257+ endRange .toVoidPointer ()));
258+
259+ return new Pair (startRange .toJavaArray (), endRange .toJavaArray ());
260+ }
258261 }
259262 }
260263 }
@@ -273,28 +276,30 @@ public Pair getNonEmptyDomainVarFromName(long fragmentID, String dimensionName)
273276 SWIGTYPE_p_unsigned_long_long startSize = tiledb .new_ullp ();
274277 SWIGTYPE_p_unsigned_long_long endSize = tiledb .new_ullp ();
275278
276- try (Dimension dimension = array .getSchema ().getDomain ().getDimension (dimensionName )) {
277- Datatype type = dimension .getType ();
278-
279- ctx .handleError (
280- tiledb .tiledb_fragment_info_get_non_empty_domain_var_size_from_name (
281- ctx .getCtxp (), fragmentInfop , fragmentID , dimensionName , startSize , endSize ));
282-
283- try (NativeArray startRange =
284- new NativeArray (ctx , tiledb .ullp_value (startSize ).intValue (), type );
285- NativeArray endRange =
286- new NativeArray (ctx , tiledb .ullp_value (endSize ).intValue (), type )) {
279+ try (Array arr = new Array (ctx , uri )) {
280+ try (Dimension dimension = arr .getSchema ().getDomain ().getDimension (dimensionName )) {
281+ Datatype type = dimension .getType ();
287282
288283 ctx .handleError (
289- tiledb .tiledb_fragment_info_get_non_empty_domain_var_from_name (
290- ctx .getCtxp (),
291- fragmentInfop ,
292- fragmentID ,
293- dimensionName ,
294- startRange .toVoidPointer (),
295- endRange .toVoidPointer ()));
296-
297- return new Pair (startRange .toJavaArray (), endRange .toJavaArray ());
284+ tiledb .tiledb_fragment_info_get_non_empty_domain_var_size_from_name (
285+ ctx .getCtxp (), fragmentInfop , fragmentID , dimensionName , startSize , endSize ));
286+
287+ try (NativeArray startRange =
288+ new NativeArray (ctx , tiledb .ullp_value (startSize ).intValue (), type );
289+ NativeArray endRange =
290+ new NativeArray (ctx , tiledb .ullp_value (endSize ).intValue (), type )) {
291+
292+ ctx .handleError (
293+ tiledb .tiledb_fragment_info_get_non_empty_domain_var_from_name (
294+ ctx .getCtxp (),
295+ fragmentInfop ,
296+ fragmentID ,
297+ dimensionName ,
298+ startRange .toVoidPointer (),
299+ endRange .toVoidPointer ()));
300+
301+ return new Pair (startRange .toJavaArray (), endRange .toJavaArray ());
302+ }
298303 }
299304 }
300305 }
0 commit comments