@@ -16,7 +16,7 @@ public class BasicDecimal64Vector extends AbstractVector{
16
16
private int scale_ = -1 ;
17
17
private long [] unscaledValues ;
18
18
private int size ;
19
- private int capaticy ;
19
+ private int capacity ;
20
20
21
21
private static final BigDecimal DECIMAL64_MIN_VALUE = new BigDecimal ("-9223372036854775808" );
22
22
private static final BigDecimal DECIMAL64_MAX_VALUE = new BigDecimal ("9223372036854775807" );
@@ -33,15 +33,15 @@ public BasicDecimal64Vector(int size, int scale){
33
33
unscaledValues = new long [size ];
34
34
35
35
this .size = unscaledValues .length ;
36
- capaticy = unscaledValues .length ;
36
+ capacity = unscaledValues .length ;
37
37
}
38
38
39
39
BasicDecimal64Vector (DATA_FORM df , int size ){
40
40
super (df );
41
41
unscaledValues = new long [size ];
42
42
43
43
this .size = unscaledValues .length ;
44
- capaticy = unscaledValues .length ;
44
+ capacity = unscaledValues .length ;
45
45
}
46
46
47
47
BasicDecimal64Vector (long [] dataValue , int scale ){
@@ -51,7 +51,7 @@ public BasicDecimal64Vector(int size, int scale){
51
51
this .scale_ = scale ;
52
52
this .unscaledValues = dataValue ;
53
53
this .size = unscaledValues .length ;
54
- capaticy = unscaledValues .length ;
54
+ capacity = unscaledValues .length ;
55
55
}
56
56
57
57
public BasicDecimal64Vector (String [] data , int scale ) {
@@ -70,7 +70,7 @@ public BasicDecimal64Vector(String[] data, int scale) {
70
70
}
71
71
72
72
size = length ;
73
- capaticy = length ;
73
+ capacity = length ;
74
74
}
75
75
76
76
public BasicDecimal64Vector (DATA_FORM df , ExtendedDataInput in , int extra ) throws IOException {
@@ -101,7 +101,7 @@ public BasicDecimal64Vector(DATA_FORM df, ExtendedDataInput in, int extra) throw
101
101
}
102
102
103
103
this .size = unscaledValues .length ;
104
- capaticy = unscaledValues .length ;
104
+ capacity = unscaledValues .length ;
105
105
}
106
106
107
107
@ Deprecated
@@ -121,7 +121,7 @@ public BasicDecimal64Vector(double[] data, int scale){
121
121
}
122
122
unscaledValues = newIntValue ;
123
123
this .size = unscaledValues .length ;
124
- capaticy = unscaledValues .length ;
124
+ capacity = unscaledValues .length ;
125
125
}
126
126
127
127
@ Override
@@ -141,7 +141,7 @@ public void deserialize(int start, int count, ExtendedDataInput in) throws IOExc
141
141
}
142
142
143
143
this .size = unscaledValues .length ;
144
- capaticy = unscaledValues .length ;
144
+ capacity = unscaledValues .length ;
145
145
}
146
146
147
147
@ Override
@@ -254,13 +254,13 @@ public int getUnitLength() {
254
254
}
255
255
256
256
public void add (String value ) {
257
- if (size + 1 > capaticy && unscaledValues .length > 0 ) {
257
+ if (size + 1 > capacity && unscaledValues .length > 0 ) {
258
258
unscaledValues = Arrays .copyOf (unscaledValues , unscaledValues .length * 2 );
259
259
} else if (unscaledValues .length <= 0 ) {
260
260
unscaledValues = new long [1 ];
261
261
}
262
262
263
- capaticy = unscaledValues .length ;
263
+ capacity = unscaledValues .length ;
264
264
if (value .equals ("0.0" ))
265
265
unscaledValues [size ] = 0 ;
266
266
else if (value .equals ("" ))
@@ -276,12 +276,12 @@ else if(value.equals(""))
276
276
277
277
@ Deprecated
278
278
public void add (double value ) {
279
- if (size + 1 > capaticy && unscaledValues .length > 0 ){
279
+ if (size + 1 > capacity && unscaledValues .length > 0 ){
280
280
unscaledValues = Arrays .copyOf (unscaledValues , unscaledValues .length * 2 );
281
281
}else if (unscaledValues .length <= 0 ){
282
282
unscaledValues = Arrays .copyOf (unscaledValues , unscaledValues .length + 1 );
283
283
}
284
- capaticy = unscaledValues .length ;
284
+ capacity = unscaledValues .length ;
285
285
if (value == 0.0 )
286
286
unscaledValues [size ] = 0 ;
287
287
else {
@@ -297,10 +297,10 @@ public void add(double value) {
297
297
298
298
299
299
void addRange (long [] valueList ) {
300
- unscaledValues = Arrays .copyOf (unscaledValues , valueList .length + unscaledValues .length );
300
+ int requiredCapacity = size + valueList .length ;
301
+ checkCapacity (requiredCapacity );
301
302
System .arraycopy (valueList , 0 , unscaledValues , size , valueList .length );
302
303
size += valueList .length ;
303
- capaticy = unscaledValues .length ;
304
304
}
305
305
306
306
public void addRange (String [] valueList ) {
@@ -314,7 +314,7 @@ public void addRange(String[] valueList) {
314
314
unscaledValues = Arrays .copyOf (unscaledValues , newLongValue .length + unscaledValues .length );
315
315
System .arraycopy (newLongValue , 0 , unscaledValues , size , newLongValue .length );
316
316
size += newLongValue .length ;
317
- capaticy = unscaledValues .length ;
317
+ capacity = unscaledValues .length ;
318
318
}
319
319
320
320
@ Deprecated
@@ -331,7 +331,7 @@ public void addRange(double[] valueList) {
331
331
unscaledValues = Arrays .copyOf (unscaledValues , newLongValue .length + unscaledValues .length );
332
332
System .arraycopy (newLongValue , 0 , unscaledValues , size , newLongValue .length );
333
333
size += newLongValue .length ;
334
- capaticy = unscaledValues .length ;
334
+ capacity = unscaledValues .length ;
335
335
}
336
336
337
337
@ Override
@@ -341,18 +341,24 @@ public void Append(Scalar value) throws Exception{
341
341
342
342
@ Override
343
343
public void Append (Vector value ) throws Exception {
344
- if (((BasicDecimal64Vector )value ).getScale () == scale_ )
345
- addRange (((BasicDecimal64Vector )value ).getdataArray ());
346
- else {
347
- for (int i = 0 ; i < value .rows (); ++i ){
344
+ if (((BasicDecimal64Vector )value ).getScale () == scale_ )
345
+ addRange (((BasicDecimal64Vector ) value ).getdataArray ());
346
+ else {
347
+ for (int i = 0 ; i < value .rows (); ++i )
348
348
Append ((Scalar )value .get (i ));
349
- }
350
349
}
351
350
}
352
351
353
352
@ Override
354
353
public void checkCapacity (int requiredCapacity ) {
355
- throw new RuntimeException ("BasicDecimal64Vector not support checkCapacity." );
354
+ if (requiredCapacity > unscaledValues .length ) {
355
+ int newCapacity = Math .max (
356
+ (int )(unscaledValues .length * GROWTH_FACTOR ),
357
+ requiredCapacity
358
+ );
359
+ unscaledValues = Arrays .copyOf (unscaledValues , newCapacity );
360
+ capacity = newCapacity ;
361
+ }
356
362
}
357
363
358
364
@ JsonIgnore
0 commit comments