@@ -240,74 +240,75 @@ public interface ClickHouseBinaryFormatReader extends AutoCloseable {
240240 ClickHouseGeoMultiPolygonValue getGeoMultiPolygon (String colName );
241241
242242 /**
243- * Reads column with name `colName` as a string.
244- *
243+ * @see #getList(int)
245244 * @param colName - column name
246- * @return
245+ * @return list of values, or {@code null} if the value is null
247246 */
248247 <T > List <T > getList (String colName );
249248
250249 /**
251- * Reads column with name `colName` as a string.
252- *
250+ * @see #getByteArray(int)
253251 * @param colName - column name
254- * @return
252+ * @return array of bytes, or {@code null} if the value is null
255253 */
256254 byte [] getByteArray (String colName );
257255
258256 /**
259- * Reads column with name `colName` as a string.
260- *
257+ * @see #getIntArray(int)
261258 * @param colName - column name
262- * @return
259+ * @return array of int values, or {@code null} if the value is null
263260 */
264261 int [] getIntArray (String colName );
265262
266263 /**
267- * Reads column with name `colName` as a string.
268- *
264+ * @see #getLongArray(int)
269265 * @param colName - column name
270- * @return
266+ * @return array of long values, or {@code null} if the value is null
271267 */
272268 long [] getLongArray (String colName );
273269
274270 /**
275- * Reads column with name `colName` as a string.
276- *
271+ * @see #getFloatArray(int)
277272 * @param colName - column name
278- * @return
273+ * @return array of float values, or {@code null} if the value is null
279274 */
280275 float [] getFloatArray (String colName );
281276
282277 /**
283- * Reads column with name `colName` as a string.
284- *
278+ * @see #getDoubleArray(int)
285279 * @param colName - column name
286- * @return
280+ * @return array of double values, or {@code null} if the value is null
287281 */
288282 double [] getDoubleArray (String colName );
289283
290284 /**
291- *
292- * @param colName
293- * @return
285+ * @see #getBooleanArray(int)
286+ * @param colName - column name
287+ * @return array of boolean values, or {@code null} if the value is null
294288 */
295289 boolean [] getBooleanArray (String colName );
296290
297291 /**
298- *
299- * @param colName
300- * @return
292+ * @see #getShortArray(int)
293+ * @param colName - column name
294+ * @return array of short values, or {@code null} if the value is null
301295 */
302296 short [] getShortArray (String colName );
303297
304298 /**
305- *
306- * @param colName
307- * @return
299+ * @see #getStringArray(int)
300+ * @param colName - column name
301+ * @return array of string values, or {@code null} if the value is null
308302 */
309303 String [] getStringArray (String colName );
310304
305+ /**
306+ * @see #getObjectArray(int)
307+ * @param colName - column name
308+ * @return array of objects, or {@code null} if the value is null
309+ */
310+ Object [] getObjectArray (String colName );
311+
311312 /**
312313 * Reads column with name `colName` as a string.
313314 *
@@ -483,59 +484,100 @@ public interface ClickHouseBinaryFormatReader extends AutoCloseable {
483484 ClickHouseGeoMultiPolygonValue getGeoMultiPolygon (int index );
484485
485486 /**
486- * Reads column with name `colName` as a string.
487+ * Returns the value of the specified column as a {@link List}. Suitable for reading Array columns of any type.
488+ * <p>For nested arrays (e.g. {@code Array(Array(Int64))}), returns a {@code List<List<Long>>}.
489+ * For nullable arrays (e.g. {@code Array(Nullable(Int32))}), list elements may be {@code null}.</p>
487490 *
488- * @param index - column name
489- * @return
491+ * @param index - column index (1-based)
492+ * @return list of values, or {@code null} if the value is null
493+ * @throws com.clickhouse.client.api.ClientException if the column is not an array type
490494 */
491495 <T > List <T > getList (int index );
492496
493497 /**
494- * Reads column with name `colName` as a string .
498+ * Returns the value of the specified column as a {@code byte[]}. Suitable for 1D Array columns only .
495499 *
496- * @param index - column name
497- * @return
500+ * @param index - column index (1-based)
501+ * @return array of bytes, or {@code null} if the value is null
502+ * @throws com.clickhouse.client.api.ClientException if the value cannot be converted to a byte array
498503 */
499504 byte [] getByteArray (int index );
500505
501506 /**
502- * Reads column with name `colName` as a string .
507+ * Returns the value of the specified column as an {@code int[]}. Suitable for 1D Array columns only .
503508 *
504- * @param index - column name
505- * @return
509+ * @param index - column index (1-based)
510+ * @return array of int values, or {@code null} if the value is null
511+ * @throws com.clickhouse.client.api.ClientException if the value cannot be converted to an int array
506512 */
507513 int [] getIntArray (int index );
508514
509515 /**
510- * Reads column with name `colName` as a string .
516+ * Returns the value of the specified column as a {@code long[]}. Suitable for 1D Array columns only .
511517 *
512- * @param index - column name
513- * @return
518+ * @param index - column index (1-based)
519+ * @return array of long values, or {@code null} if the value is null
520+ * @throws com.clickhouse.client.api.ClientException if the value cannot be converted to a long array
514521 */
515522 long [] getLongArray (int index );
516523
517524 /**
518- * Reads column with name `colName` as a string .
525+ * Returns the value of the specified column as a {@code float[]}. Suitable for 1D Array columns only .
519526 *
520- * @param index - column name
521- * @return
527+ * @param index - column index (1-based)
528+ * @return array of float values, or {@code null} if the value is null
529+ * @throws com.clickhouse.client.api.ClientException if the value cannot be converted to a float array
522530 */
523531 float [] getFloatArray (int index );
524532
525533 /**
526- * Reads column with name `colName` as a string .
534+ * Returns the value of the specified column as a {@code double[]}. Suitable for 1D Array columns only .
527535 *
528- * @param index - column name
529- * @return
536+ * @param index - column index (1-based)
537+ * @return array of double values, or {@code null} if the value is null
538+ * @throws com.clickhouse.client.api.ClientException if the value cannot be converted to a double array
530539 */
531540 double [] getDoubleArray (int index );
532541
542+ /**
543+ * Returns the value of the specified column as a {@code boolean[]}. Suitable for 1D Array columns only.
544+ *
545+ * @param index - column index (1-based)
546+ * @return array of boolean values, or {@code null} if the value is null
547+ * @throws com.clickhouse.client.api.ClientException if the value cannot be converted to a boolean array
548+ */
533549 boolean [] getBooleanArray (int index );
534550
535- short [] getShortArray (int index );
551+ /**
552+ * Returns the value of the specified column as a {@code short[]}. Suitable for 1D Array columns only.
553+ *
554+ * @param index - column index (1-based)
555+ * @return array of short values, or {@code null} if the value is null
556+ * @throws com.clickhouse.client.api.ClientException if the value cannot be converted to a short array
557+ */
558+ short [] getShortArray (int index );
536559
560+ /**
561+ * Returns the value of the specified column as a {@code String[]}. Suitable for 1D Array columns only.
562+ * Cannot be used for none string element types.
563+ *
564+ * @param index - column index (1-based)
565+ * @return array of string values, or {@code null} if the value is null
566+ * @throws com.clickhouse.client.api.ClientException if the column is not an array type
567+ */
537568 String [] getStringArray (int index );
538569
570+ /**
571+ * Returns the value of the specified column as an {@code Object[]}. Suitable for multidimensional Array columns.
572+ * Nested arrays are recursively converted to {@code Object[]}.
573+ * Note: result is not cached so avoid repetitive calls on same column.
574+ *
575+ * @param index - column index (1-based)
576+ * @return array of objects, or {@code null} if the value is null
577+ * @throws com.clickhouse.client.api.ClientException if the column is not an array type
578+ */
579+ Object [] getObjectArray (int index );
580+
539581 Object [] getTuple (int index );
540582
541583 Object [] getTuple (String colName );
0 commit comments