@@ -13,6 +13,7 @@ public class ExecuteQuerySettings extends BaseRequestSettings {
1313 private final boolean concurrentResultSets ;
1414 private final String resourcePool ;
1515 private final GrpcFlowControl flowControl ;
16+ private final long partBytesLimit ;
1617
1718 private ExecuteQuerySettings (Builder builder ) {
1819 super (builder );
@@ -21,6 +22,7 @@ private ExecuteQuerySettings(Builder builder) {
2122 this .concurrentResultSets = builder .concurrentResultSets ;
2223 this .resourcePool = builder .resourcePool ;
2324 this .flowControl = builder .flowControl ;
25+ this .partBytesLimit = builder .partBytesLimit ;
2426 }
2527
2628 public QueryExecMode getExecMode () {
@@ -47,6 +49,10 @@ public GrpcFlowControl getGrpcFlowControl() {
4749 return flowControl ;
4850 }
4951
52+ public long getPartBytesLimit () {
53+ return partBytesLimit ;
54+ }
55+
5056 public static Builder newBuilder () {
5157 return new Builder ();
5258 }
@@ -57,6 +63,7 @@ public static class Builder extends BaseBuilder<Builder> {
5763 private boolean concurrentResultSets = false ;
5864 private String resourcePool = null ;
5965 private GrpcFlowControl flowControl = null ;
66+ private long partBytesLimit = -1 ;
6067
6168 public Builder withExecMode (QueryExecMode mode ) {
6269 this .execMode = mode ;
@@ -92,6 +99,16 @@ public Builder withGrpcFlowControl(GrpcFlowControl ctrl) {
9299 return this ;
93100 }
94101
102+ /**
103+ * Allows to set size limitation (in bytes) for one result part
104+ * @param limit maximum length if one result set part
105+ * @return builder
106+ */
107+ public Builder withPartBytesLimit (long limit ) {
108+ this .partBytesLimit = limit ;
109+ return this ;
110+ }
111+
95112 @ Override
96113 public ExecuteQuerySettings build () {
97114 return new ExecuteQuerySettings (this );
0 commit comments