@@ -345,6 +345,14 @@ public synchronized Pair<String, String> getRangeVar(int dimIdx, BigInteger rang
345345 }
346346 }
347347
348+ /**
349+ * Retrieves the estimated result size for a fixed-sized attribute/dimension.
350+ *
351+ * @param ctx The TileDB Context
352+ * @param attribute The attribute name
353+ * @return The estimated result size
354+ * @throws TileDBError
355+ */
348356 public synchronized int getEstResultSize (Context ctx , String attribute ) throws TileDBError {
349357 SWIGTYPE_p_unsigned_long_long size = tiledb .new_ullp ();
350358
@@ -354,6 +362,14 @@ public synchronized int getEstResultSize(Context ctx, String attribute) throws T
354362 return tiledb .ullp_value (size ).intValue ();
355363 }
356364
365+ /**
366+ * Retrieves the estimated result size for a var-sized attribute/dimension.
367+ *
368+ * @param ctx The TileDB Context
369+ * @param attribute The attribute name
370+ * @return A Pair containing the estimated result size of the offsets and the data buffers
371+ * @throws TileDBError
372+ */
357373 public synchronized Pair <Integer , Integer > getEstResultSizeVar (Context ctx , String attribute )
358374 throws TileDBError {
359375 SWIGTYPE_p_unsigned_long_long offsetsSize = tiledb .new_ullp ();
@@ -367,6 +383,50 @@ public synchronized Pair<Integer, Integer> getEstResultSizeVar(Context ctx, Stri
367383 tiledb .ullp_value (offsetsSize ).intValue (), tiledb .ullp_value (dataSize ).intValue ());
368384 }
369385
386+ /**
387+ * Retrieves the estimated result size for a var-sized nullable attribute.
388+ *
389+ * @param ctx The TileDB Context
390+ * @param attribute The attribute name
391+ * @return A Pair containing another Pair with the estimated result size of the offsets and the
392+ * data buffers, and the estimated result size of the validity buffer
393+ * @throws TileDBError
394+ */
395+ public synchronized Pair <Pair <Integer , Integer >, Integer > getEstResultSizeVarNullable (
396+ Context ctx , String attribute ) throws TileDBError {
397+ SWIGTYPE_p_unsigned_long_long size = tiledb .new_ullp ();
398+ SWIGTYPE_p_unsigned_long_long offsets = tiledb .new_ullp ();
399+ SWIGTYPE_p_unsigned_long_long validity = tiledb .new_ullp ();
400+
401+ ctx .handleError (
402+ tiledb .tiledb_query_get_est_result_size_var_nullable (
403+ ctx .getCtxp (), queryp , attribute , offsets , size , validity ));
404+
405+ return new Pair (
406+ new Pair (tiledb .ullp_value (offsets ).intValue (), tiledb .ullp_value (size ).intValue ()),
407+ tiledb .ullp_value (validity ).intValue ());
408+ }
409+
410+ /**
411+ * Retrieves the estimated result size for a fixed-sized nullable attribute.
412+ *
413+ * @param ctx The TileDB Context
414+ * @param attribute The attribute name
415+ * @return The estimated result size
416+ * @throws TileDBError
417+ */
418+ public synchronized Pair <Integer , Integer > getEstResultSizeNullable (Context ctx , String attribute )
419+ throws TileDBError {
420+ SWIGTYPE_p_unsigned_long_long size = tiledb .new_ullp ();
421+ SWIGTYPE_p_unsigned_long_long validity = tiledb .new_ullp ();
422+
423+ ctx .handleError (
424+ tiledb .tiledb_query_get_est_result_size_nullable (
425+ ctx .getCtxp (), queryp , attribute , size , validity ));
426+
427+ return new Pair (tiledb .ullp_value (size ).intValue (), tiledb .ullp_value (validity ).intValue ());
428+ }
429+
370430 /**
371431 * Retrieves the number of ranges of the query subarray along a given dimension.
372432 *
0 commit comments