diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java index 9bfad13a09..e91f7949f7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java @@ -30,6 +30,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.Array; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayApply; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayAvg; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayCompact; +import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayConcat; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayContains; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayCount; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayCumSum; @@ -52,6 +53,8 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPopBack; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPopFront; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPosition; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayProduct; +import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPushBack; +import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPushFront; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRange; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRemove; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRepeat; @@ -62,6 +65,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySortBy; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySum; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayUnion; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayWithConstant; +import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayZip; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraysOverlap; import org.apache.doris.nereids.trees.expressions.functions.scalar.Ascii; import org.apache.doris.nereids.trees.expressions.functions.scalar.Asin; @@ -421,6 +425,7 @@ public class BuiltinScalarFunctions implements FunctionHelper { scalar(ArrayApply.class, "array_apply"), scalar(ArrayAvg.class, "array_avg"), scalar(ArrayCompact.class, "array_compact"), + scalar(ArrayConcat.class, "array_concat"), scalar(ArrayContains.class, "array_contains"), scalar(ArrayCount.class, "array_count"), scalar(ArrayCumSum.class, "array_cum_sum"), @@ -443,6 +448,8 @@ public class BuiltinScalarFunctions implements FunctionHelper { scalar(ArrayPopFront.class, "array_popfront"), scalar(ArrayPosition.class, "array_position"), scalar(ArrayProduct.class, "array_product"), + scalar(ArrayPushBack.class, "Array_pushback"), + scalar(ArrayPushFront.class, "Array_pushfront"), scalar(ArrayRange.class, "array_range"), scalar(ArrayRemove.class, "array_remove"), scalar(ArrayRepeat.class, "array_repeat"), @@ -453,6 +460,7 @@ public class BuiltinScalarFunctions implements FunctionHelper { scalar(ArraySum.class, "array_sum"), scalar(ArrayUnion.class, "array_union"), scalar(ArrayWithConstant.class, "array_with_constant"), + scalar(ArrayZip.class, "array_zip"), scalar(ArraysOverlap.class, "arrays_overlap"), scalar(Ascii.class, "ascii"), scalar(Asin.class, "asin"), diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayConcat.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayConcat.java new file mode 100644 index 0000000000..fe9d264a4a --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayConcat.java @@ -0,0 +1,70 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.expressions.functions.scalar; + +import org.apache.doris.catalog.FunctionSignature; +import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; +import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable; +import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression; +import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; +import org.apache.doris.nereids.types.ArrayType; +import org.apache.doris.nereids.types.coercion.AnyDataType; +import org.apache.doris.nereids.util.ExpressionUtils; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; + +import java.util.List; + +/** + * ScalarFunction 'array_concat' + */ +public class ArrayConcat extends ScalarFunction implements ExplicitlyCastableSignature, + BinaryExpression, PropagateNullable { + + public static final List SIGNATURES = ImmutableList.of( + FunctionSignature.retArgType(0).varArgs(ArrayType.of(new AnyDataType(0))) + ); + + /** + * constructor with more than 0 arguments. + */ + public ArrayConcat(Expression arg, Expression ...varArgs) { + super("array_concat", ExpressionUtils.mergeArguments(arg, varArgs)); + } + + /** + * withChildren. + */ + @Override + public ArrayConcat withChildren(List children) { + Preconditions.checkArgument(!children.isEmpty()); + return new ArrayConcat(children.get(0), children.subList(1, children.size()).toArray(new Expression[0])); + } + + @Override + public R accept(ExpressionVisitor visitor, C context) { + return visitor.visitArrayConcat(this, context); + } + + @Override + public List getSignatures() { + return SIGNATURES; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPushBack.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPushBack.java new file mode 100644 index 0000000000..c1791a66f0 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPushBack.java @@ -0,0 +1,69 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.expressions.functions.scalar; + +import org.apache.doris.catalog.FunctionSignature; +import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable; +import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; +import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression; +import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; +import org.apache.doris.nereids.types.ArrayType; +import org.apache.doris.nereids.types.coercion.AnyDataType; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; + +import java.util.List; + +/** + * ScalarFunction 'array_pushback'. + */ +public class ArrayPushBack extends ScalarFunction + implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable { + + public static final List SIGNATURES = ImmutableList.of( + FunctionSignature.retArgType(0).args(ArrayType.of(new AnyDataType(0)), new AnyDataType(0)) + ); + + /** + * constructor with 1 argument. + */ + public ArrayPushBack(Expression arg0, Expression arg1) { + super("array_pushback", arg0, arg1); + } + + /** + * withChildren. + */ + @Override + public ArrayPushBack withChildren(List children) { + Preconditions.checkArgument(children.size() == 2); + return new ArrayPushBack(children.get(0), children.get(1)); + } + + @Override + public R accept(ExpressionVisitor visitor, C context) { + return visitor.visitArrayPushBack(this, context); + } + + @Override + public List getSignatures() { + return SIGNATURES; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPushFront.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPushFront.java new file mode 100644 index 0000000000..458e062ba4 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPushFront.java @@ -0,0 +1,69 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.expressions.functions.scalar; + +import org.apache.doris.catalog.FunctionSignature; +import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable; +import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; +import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression; +import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; +import org.apache.doris.nereids.types.ArrayType; +import org.apache.doris.nereids.types.coercion.AnyDataType; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; + +import java.util.List; + +/** + * ScalarFunction 'array_pushfront'. + */ +public class ArrayPushFront extends ScalarFunction + implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable { + + public static final List SIGNATURES = ImmutableList.of( + FunctionSignature.retArgType(0).args(ArrayType.of(new AnyDataType(0)), new AnyDataType(0)) + ); + + /** + * constructor with 1 argument. + */ + public ArrayPushFront(Expression arg0, Expression arg1) { + super("array_pushfront", arg0, arg1); + } + + /** + * withChildren. + */ + @Override + public ArrayPushFront withChildren(List children) { + Preconditions.checkArgument(children.size() == 2); + return new ArrayPushFront(children.get(0), children.get(1)); + } + + @Override + public R accept(ExpressionVisitor visitor, C context) { + return visitor.visitArrayPushFront(this, context); + } + + @Override + public List getSignatures() { + return SIGNATURES; + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayZip.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayZip.java new file mode 100644 index 0000000000..01455a4636 --- /dev/null +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayZip.java @@ -0,0 +1,91 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package org.apache.doris.nereids.trees.expressions.functions.scalar; + +import org.apache.doris.catalog.FunctionSignature; +import org.apache.doris.nereids.trees.expressions.Expression; +import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature; +import org.apache.doris.nereids.trees.expressions.functions.ExpressionTrait; +import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable; +import org.apache.doris.nereids.trees.expressions.functions.SearchSignature; +import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression; +import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor; +import org.apache.doris.nereids.types.ArrayType; +import org.apache.doris.nereids.types.DataType; +import org.apache.doris.nereids.types.StructField; +import org.apache.doris.nereids.types.StructType; +import org.apache.doris.nereids.types.TinyIntType; +import org.apache.doris.nereids.util.ExpressionUtils; + +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; + +import java.util.List; + +/** + * ScalarFunction 'array_zip'. + */ +public class ArrayZip extends ScalarFunction implements ExplicitlyCastableSignature, + BinaryExpression, PropagateNullable { + + /** + * constructor with more than 0 arguments. + */ + public ArrayZip(Expression arg, Expression ...varArgs) { + super("array_zip", ExpressionUtils.mergeArguments(arg, varArgs)); + } + + /** + * withChildren. + */ + @Override + public ArrayZip withChildren(List children) { + Preconditions.checkArgument(!children.isEmpty()); + return new ArrayZip(children.get(0), children.subList(1, children.size()).toArray(new Expression[0])); + } + + @Override + public R accept(ExpressionVisitor visitor, C context) { + return visitor.visitArrayZip(this, context); + } + + @Override + public List getSignatures() { + if (arity() == 0) { + SearchSignature.throwCanNotFoundFunctionException(getName(), getArguments()); + } + if (!children.stream() + .map(ExpressionTrait::getDataType) + .filter(dt -> !dt.isNullType()) + .allMatch(ArrayType.class::isInstance)) { + SearchSignature.throwCanNotFoundFunctionException(getName(), getArguments()); + } + ImmutableList.Builder structFieldBuilder = ImmutableList.builder(); + for (int i = 0; i < children.size(); i++) { + DataType itemType = TinyIntType.INSTANCE; + DataType childType = children.get(i).getDataType(); + if (childType instanceof ArrayType) { + itemType = ((ArrayType) childType).getItemType(); + } + structFieldBuilder.add(new StructField(String.valueOf(i + 1), itemType, true, "")); + } + + return ImmutableList.of(FunctionSignature.ret(ArrayType.of(new StructType(structFieldBuilder.build()))) + .args(children.stream().map(ExpressionTrait::getDataType).toArray(DataType[]::new))); + } +} diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java index 230203ad09..e94aae003c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java @@ -32,6 +32,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.Array; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayApply; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayAvg; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayCompact; +import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayConcat; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayContains; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayCount; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayCumSum; @@ -52,6 +53,8 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPopBack; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPopFront; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPosition; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayProduct; +import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPushBack; +import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPushFront; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRange; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRemove; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRepeat; @@ -62,6 +65,7 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySortBy; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySum; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayUnion; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayWithConstant; +import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayZip; import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraysOverlap; import org.apache.doris.nereids.trees.expressions.functions.scalar.Ascii; import org.apache.doris.nereids.trees.expressions.functions.scalar.Asin; @@ -440,6 +444,10 @@ public interface ScalarFunctionVisitor { return visitScalarFunction(arrayCompact, context); } + default R visitArrayConcat(ArrayConcat arrayConcat, C context) { + return visitScalarFunction(arrayConcat, context); + } + default R visitArrayContains(ArrayContains arrayContains, C context) { return visitScalarFunction(arrayContains, context); } @@ -516,6 +524,14 @@ public interface ScalarFunctionVisitor { return visitScalarFunction(arrayProduct, context); } + default R visitArrayPushBack(ArrayPushBack arrayPushBack, C context) { + return visitScalarFunction(arrayPushBack, context); + } + + default R visitArrayPushFront(ArrayPushFront arrayPushFront, C context) { + return visitScalarFunction(arrayPushFront, context); + } + default R visitArrayRange(ArrayRange arrayRange, C context) { return visitScalarFunction(arrayRange, context); } @@ -564,6 +580,10 @@ public interface ScalarFunctionVisitor { return visitScalarFunction(arrayReverseSort, context); } + default R visitArrayZip(ArrayZip arrayZip, C context) { + return visitScalarFunction(arrayZip, context); + } + default R visitAscii(Ascii ascii, C context) { return visitScalarFunction(ascii, context); } diff --git a/regression-test/data/nereids_function_p0/scalar_function/Array.out b/regression-test/data/nereids_function_p0/scalar_function/Array.out index 2d2a0ce49d..1da82c833f 100644 --- a/regression-test/data/nereids_function_p0/scalar_function/Array.out +++ b/regression-test/data/nereids_function_p0/scalar_function/Array.out @@ -637,6 +637,412 @@ [2012-03-11] [2012-03-12] +-- !sql_array_concat_Double -- +\N +[0.1, 0.1] +[0.2, 0.2] +[0.3, 0.3] +[0.4, 0.4] +[0.5, 0.5] +[0.6, 0.6] +[0.7, 0.7] +[0.8, 0.8] +[0.9, 0.9] +[1, 1] +[1.1, 1.1] +[1.2, 1.2] + +-- !sql_array_concat_Double_notnull -- +[0.1, 0.1] +[0.2, 0.2] +[0.3, 0.3] +[0.4, 0.4] +[0.5, 0.5] +[0.6, 0.6] +[0.7, 0.7] +[0.8, 0.8] +[0.9, 0.9] +[1, 1] +[1.1, 1.1] +[1.2, 1.2] + +-- !sql_array_concat_Float -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_Float_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_LargeInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_LargeInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_BigInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_BigInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_SmallInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_SmallInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_Integer -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_Integer_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_concat_TinyInt -- +\N +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[1, 1] +[1, 1] +[1, 1] +[1, 1] +[1, 1] + +-- !sql_array_concat_TinyInt_notnull -- +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[1, 1] +[1, 1] +[1, 1] +[1, 1] +[1, 1] + +-- !sql_array_concat_DecimalV3 -- +\N +[0.100000000, 0.100000000, 0.100000000, 0.100000000] +[0.200000000, 0.200000000, 0.200000000, 0.200000000] +[0.300000000, 0.300000000, 0.300000000, 0.300000000] +[0.400000000, 0.400000000, 0.400000000, 0.400000000] +[0.500000000, 0.500000000, 0.500000000, 0.500000000] +[0.600000000, 0.600000000, 0.600000000, 0.600000000] +[0.700000000, 0.700000000, 0.700000000, 0.700000000] +[0.800000000, 0.800000000, 0.800000000, 0.800000000] +[0.900000000, 0.900000000, 0.900000000, 0.900000000] +[1.000000000, 1.000000000, 1.000000000, 1.000000000] +[1.100000000, 1.100000000, 1.100000000, 1.100000000] +[1.200000000, 1.200000000, 1.200000000, 1.200000000] + +-- !sql_array_concat_DecimalV3_notnull -- +[0.100000000, 0.100000000, 0.100000000, 0.100000000] +[0.200000000, 0.200000000, 0.200000000, 0.200000000] +[0.300000000, 0.300000000, 0.300000000, 0.300000000] +[0.400000000, 0.400000000, 0.400000000, 0.400000000] +[0.500000000, 0.500000000, 0.500000000, 0.500000000] +[0.600000000, 0.600000000, 0.600000000, 0.600000000] +[0.700000000, 0.700000000, 0.700000000, 0.700000000] +[0.800000000, 0.800000000, 0.800000000, 0.800000000] +[0.900000000, 0.900000000, 0.900000000, 0.900000000] +[1.000000000, 1.000000000, 1.000000000, 1.000000000] +[1.100000000, 1.100000000, 1.100000000, 1.100000000] +[1.200000000, 1.200000000, 1.200000000, 1.200000000] + +-- !sql_array_concat_Boolean -- +\N +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[1, 1] +[1, 1] +[1, 1] +[1, 1] +[1, 1] + +-- !sql_array_concat_Boolean_notnull -- +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[1, 1] +[1, 1] +[1, 1] +[1, 1] +[1, 1] + +-- !sql_array_concat_Char -- +\N +["char11", "char21", "char31", "char11", "char21", "char31"] +["char11", "char21", "char31", "char11", "char21", "char31"] +["char11", "char21", "char31", "char11", "char21", "char31"] +["char11", "char21", "char31", "char11", "char21", "char31"] +["char12", "char22", "char32", "char12", "char22", "char32"] +["char12", "char22", "char32", "char12", "char22", "char32"] +["char12", "char22", "char32", "char12", "char22", "char32"] +["char12", "char22", "char32", "char12", "char22", "char32"] +["char13", "char23", "char33", "char13", "char23", "char33"] +["char13", "char23", "char33", "char13", "char23", "char33"] +["char13", "char23", "char33", "char13", "char23", "char33"] +["char13", "char23", "char33", "char13", "char23", "char33"] + +-- !sql_array_concat_Char_notnull -- +["char11", "char21", "char31", "char11", "char21", "char31"] +["char11", "char21", "char31", "char11", "char21", "char31"] +["char11", "char21", "char31", "char11", "char21", "char31"] +["char11", "char21", "char31", "char11", "char21", "char31"] +["char12", "char22", "char32", "char12", "char22", "char32"] +["char12", "char22", "char32", "char12", "char22", "char32"] +["char12", "char22", "char32", "char12", "char22", "char32"] +["char12", "char22", "char32", "char12", "char22", "char32"] +["char13", "char23", "char33", "char13", "char23", "char33"] +["char13", "char23", "char33", "char13", "char23", "char33"] +["char13", "char23", "char33", "char13", "char23", "char33"] +["char13", "char23", "char33", "char13", "char23", "char33"] + +-- !sql_array_concat_Varchar -- +\N +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] + +-- !sql_array_concat_Varchar_notnull -- +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] + +-- !sql_array_concat_String -- +\N +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] + +-- !sql_array_concat_String_notnull -- +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] + +-- !sql_array_concat_DatetimeV2 -- +\N +[2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000] +[2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000] +[2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000] +[2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000] +[2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000] +[2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000] +[2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000] +[2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000] +[2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000] +[2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000] +[2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000] +[2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000] + +-- !sql_array_concat_DatetimeV2_notnull -- +[2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000] +[2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000] +[2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000] +[2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000] +[2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000] +[2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000] +[2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000] +[2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000] +[2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000] +[2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000] +[2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000] +[2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000] + +-- !sql_array_concat_DateV2 -- +\N +[2012-03-01, 2012-03-01, 2012-03-01, 2012-03-01] +[2012-03-02, 2012-03-02, 2012-03-02, 2012-03-02] +[2012-03-03, 2012-03-03, 2012-03-03, 2012-03-03] +[2012-03-04, 2012-03-04, 2012-03-04, 2012-03-04] +[2012-03-05, 2012-03-05, 2012-03-05, 2012-03-05] +[2012-03-06, 2012-03-06, 2012-03-06, 2012-03-06] +[2012-03-07, 2012-03-07, 2012-03-07, 2012-03-07] +[2012-03-08, 2012-03-08, 2012-03-08, 2012-03-08] +[2012-03-09, 2012-03-09, 2012-03-09, 2012-03-09] +[2012-03-10, 2012-03-10, 2012-03-10, 2012-03-10] +[2012-03-11, 2012-03-11, 2012-03-11, 2012-03-11] +[2012-03-12, 2012-03-12, 2012-03-12, 2012-03-12] + +-- !sql_array_concat_DateV2_notnull -- +[2012-03-01, 2012-03-01, 2012-03-01, 2012-03-01] +[2012-03-02, 2012-03-02, 2012-03-02, 2012-03-02] +[2012-03-03, 2012-03-03, 2012-03-03, 2012-03-03] +[2012-03-04, 2012-03-04, 2012-03-04, 2012-03-04] +[2012-03-05, 2012-03-05, 2012-03-05, 2012-03-05] +[2012-03-06, 2012-03-06, 2012-03-06, 2012-03-06] +[2012-03-07, 2012-03-07, 2012-03-07, 2012-03-07] +[2012-03-08, 2012-03-08, 2012-03-08, 2012-03-08] +[2012-03-09, 2012-03-09, 2012-03-09, 2012-03-09] +[2012-03-10, 2012-03-10, 2012-03-10, 2012-03-10] +[2012-03-11, 2012-03-11, 2012-03-11, 2012-03-11] +[2012-03-12, 2012-03-12, 2012-03-12, 2012-03-12] + -- !sql_array_difference_Double -- \N [0] @@ -5973,6 +6379,818 @@ true 1.210000000 1.440000000 +-- !sql_array_pushback_Double -- +\N +[0.1, 0.1] +[0.2, 0.2] +[0.3, 0.3] +[0.4, 0.4] +[0.5, 0.5] +[0.6, 0.6] +[0.7, 0.7] +[0.8, 0.8] +[0.9, 0.9] +[1, 1] +[1.1, 1.1] +[1.2, 1.2] + +-- !sql_array_pushback_Double_notnull -- +[0.1, 0.1] +[0.2, 0.2] +[0.3, 0.3] +[0.4, 0.4] +[0.5, 0.5] +[0.6, 0.6] +[0.7, 0.7] +[0.8, 0.8] +[0.9, 0.9] +[1, 1] +[1.1, 1.1] +[1.2, 1.2] + +-- !sql_array_pushback_Float -- +\N +[1, 0.1] +[10, 1] +[11, 1.1] +[12, 1.2] +[2, 0.2] +[3, 0.3] +[4, 0.4] +[5, 0.5] +[6, 0.6] +[7, 0.7] +[8, 0.8] +[9, 0.9] + +-- !sql_array_pushback_Float_notnull -- +[1, 0.1] +[10, 1] +[11, 1.1] +[12, 1.2] +[2, 0.2] +[3, 0.3] +[4, 0.4] +[5, 0.5] +[6, 0.6] +[7, 0.7] +[8, 0.8] +[9, 0.9] + +-- !sql_array_pushback_LargeInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushback_LargeInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushback_BigInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushback_BigInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushback_SmallInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushback_SmallInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushback_Integer -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushback_Integer_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushback_TinyInt -- +\N +[0, 1] +[0, 2] +[0, 3] +[0, 4] +[0, 5] +[0, 6] +[0, 7] +[1, 10] +[1, 11] +[1, 12] +[1, 8] +[1, 9] + +-- !sql_array_pushback_TinyInt_notnull -- +[0, 1] +[0, 2] +[0, 3] +[0, 4] +[0, 5] +[0, 6] +[0, 7] +[1, 10] +[1, 11] +[1, 12] +[1, 8] +[1, 9] + +-- !sql_array_pushback_DecimalV3 -- +\N +[0.100000000, 0.100000000, 0.100000000] +[0.200000000, 0.200000000, 0.200000000] +[0.300000000, 0.300000000, 0.300000000] +[0.400000000, 0.400000000, 0.400000000] +[0.500000000, 0.500000000, 0.500000000] +[0.600000000, 0.600000000, 0.600000000] +[0.700000000, 0.700000000, 0.700000000] +[0.800000000, 0.800000000, 0.800000000] +[0.900000000, 0.900000000, 0.900000000] +[1.000000000, 1.000000000, 1.000000000] +[1.100000000, 1.100000000, 1.100000000] +[1.200000000, 1.200000000, 1.200000000] + +-- !sql_array_pushback_DecimalV3_notnull -- +[0.100000000, 0.100000000, 0.100000000] +[0.200000000, 0.200000000, 0.200000000] +[0.300000000, 0.300000000, 0.300000000] +[0.400000000, 0.400000000, 0.400000000] +[0.500000000, 0.500000000, 0.500000000] +[0.600000000, 0.600000000, 0.600000000] +[0.700000000, 0.700000000, 0.700000000] +[0.800000000, 0.800000000, 0.800000000] +[0.900000000, 0.900000000, 0.900000000] +[1.000000000, 1.000000000, 1.000000000] +[1.100000000, 1.100000000, 1.100000000] +[1.200000000, 1.200000000, 1.200000000] + +-- !sql_array_pushback_Boolean -- +\N +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[1, 1] +[1, 1] +[1, 1] +[1, 1] +[1, 1] + +-- !sql_array_pushback_Boolean_notnull -- +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[1, 1] +[1, 1] +[1, 1] +[1, 1] +[1, 1] + +-- !sql_array_pushback_Char -- +\N +["char11", "char21", "char31", "char11"] +["char11", "char21", "char31", "char11"] +["char11", "char21", "char31", "char11"] +["char11", "char21", "char31", "char11"] +["char12", "char22", "char32", "char12"] +["char12", "char22", "char32", "char12"] +["char12", "char22", "char32", "char12"] +["char12", "char22", "char32", "char12"] +["char13", "char23", "char33", "char13"] +["char13", "char23", "char33", "char13"] +["char13", "char23", "char33", "char13"] +["char13", "char23", "char33", "char13"] + +-- !sql_array_pushback_Char_notnull -- +["char11", "char21", "char31", "char11"] +["char11", "char21", "char31", "char11"] +["char11", "char21", "char31", "char11"] +["char11", "char21", "char31", "char11"] +["char12", "char22", "char32", "char12"] +["char12", "char22", "char32", "char12"] +["char12", "char22", "char32", "char12"] +["char12", "char22", "char32", "char12"] +["char13", "char23", "char33", "char13"] +["char13", "char23", "char33", "char13"] +["char13", "char23", "char33", "char13"] +["char13", "char23", "char33", "char13"] + +-- !sql_array_pushback_Varchar -- +\N +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "varchar11"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "varchar11"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "varchar11"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "varchar11"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "varchar12"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "varchar12"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "varchar12"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "varchar12"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "varchar13"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "varchar13"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "varchar13"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "varchar13"] + +-- !sql_array_pushback_Varchar_notnull -- +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "varchar11"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "varchar11"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "varchar11"] +["char11", "char21", "char31", "varchar11", "varchar21", "varchar31", "varchar11"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "varchar12"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "varchar12"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "varchar12"] +["char12", "char22", "char32", "varchar12", "varchar22", "varchar32", "varchar12"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "varchar13"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "varchar13"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "varchar13"] +["char13", "char23", "char33", "varchar13", "varchar23", "varchar33", "varchar13"] + +-- !sql_array_pushback_String -- +\N +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "string1"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "string2"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "string3"] + +-- !sql_array_pushback_String_notnull -- +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "string1"] +["char21", "char31", "varchar11", "varchar21", "varchar31", "string1", "string1"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "string2"] +["char22", "char32", "varchar12", "varchar22", "varchar32", "string2", "string2"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "string3"] +["char23", "char33", "varchar13", "varchar23", "varchar33", "string3", "string3"] + +-- !sql_array_pushback_DatetimeV2 -- +\N +[2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000] +[2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000] +[2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000] +[2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000] +[2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000] +[2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000] +[2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000] +[2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000] +[2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000] +[2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000] +[2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000] +[2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000] + +-- !sql_array_pushback_DatetimeV2_notnull -- +[2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000] +[2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000] +[2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000] +[2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000] +[2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000] +[2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000] +[2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000] +[2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000] +[2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000] +[2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000] +[2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000] +[2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000] + +-- !sql_array_pushback_DateV2 -- +\N +[2012-03-01, 2012-03-01, 2012-03-01] +[2012-03-02, 2012-03-02, 2012-03-02] +[2012-03-03, 2012-03-03, 2012-03-03] +[2012-03-04, 2012-03-04, 2012-03-04] +[2012-03-05, 2012-03-05, 2012-03-05] +[2012-03-06, 2012-03-06, 2012-03-06] +[2012-03-07, 2012-03-07, 2012-03-07] +[2012-03-08, 2012-03-08, 2012-03-08] +[2012-03-09, 2012-03-09, 2012-03-09] +[2012-03-10, 2012-03-10, 2012-03-10] +[2012-03-11, 2012-03-11, 2012-03-11] +[2012-03-12, 2012-03-12, 2012-03-12] + +-- !sql_array_pushback_DateV2_notnull -- +[2012-03-01, 2012-03-01, 2012-03-01] +[2012-03-02, 2012-03-02, 2012-03-02] +[2012-03-03, 2012-03-03, 2012-03-03] +[2012-03-04, 2012-03-04, 2012-03-04] +[2012-03-05, 2012-03-05, 2012-03-05] +[2012-03-06, 2012-03-06, 2012-03-06] +[2012-03-07, 2012-03-07, 2012-03-07] +[2012-03-08, 2012-03-08, 2012-03-08] +[2012-03-09, 2012-03-09, 2012-03-09] +[2012-03-10, 2012-03-10, 2012-03-10] +[2012-03-11, 2012-03-11, 2012-03-11] +[2012-03-12, 2012-03-12, 2012-03-12] + +-- !sql_array_pushfront_Double -- +\N +[0.1, 0.1] +[0.2, 0.2] +[0.3, 0.3] +[0.4, 0.4] +[0.5, 0.5] +[0.6, 0.6] +[0.7, 0.7] +[0.8, 0.8] +[0.9, 0.9] +[1, 1] +[1.1, 1.1] +[1.2, 1.2] + +-- !sql_array_pushfront_Double_notnull -- +[0.1, 0.1] +[0.2, 0.2] +[0.3, 0.3] +[0.4, 0.4] +[0.5, 0.5] +[0.6, 0.6] +[0.7, 0.7] +[0.8, 0.8] +[0.9, 0.9] +[1, 1] +[1.1, 1.1] +[1.2, 1.2] + +-- !sql_array_pushfront_Float -- +\N +[0.1, 1] +[0.2, 2] +[0.3, 3] +[0.4, 4] +[0.5, 5] +[0.6, 6] +[0.7, 7] +[0.8, 8] +[0.9, 9] +[1, 10] +[1.1, 11] +[1.2, 12] + +-- !sql_array_pushfront_Float_notnull -- +[0.1, 1] +[0.2, 2] +[0.3, 3] +[0.4, 4] +[0.5, 5] +[0.6, 6] +[0.7, 7] +[0.8, 8] +[0.9, 9] +[1, 10] +[1.1, 11] +[1.2, 12] + +-- !sql_array_pushfront_LargeInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushfront_LargeInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushfront_BigInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushfront_BigInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushfront_SmallInt -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushfront_SmallInt_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushfront_Integer -- +\N +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushfront_Integer_notnull -- +[1, 1] +[10, 10] +[11, 11] +[12, 12] +[2, 2] +[3, 3] +[4, 4] +[5, 5] +[6, 6] +[7, 7] +[8, 8] +[9, 9] + +-- !sql_array_pushfront_TinyInt -- +\N +[1, 0] +[10, 1] +[11, 1] +[12, 1] +[2, 0] +[3, 0] +[4, 0] +[5, 0] +[6, 0] +[7, 0] +[8, 1] +[9, 1] + +-- !sql_array_pushfront_TinyInt_notnull -- +[1, 0] +[10, 1] +[11, 1] +[12, 1] +[2, 0] +[3, 0] +[4, 0] +[5, 0] +[6, 0] +[7, 0] +[8, 1] +[9, 1] + +-- !sql_array_pushfront_DecimalV3 -- +\N +[0.100000000, 0.100000000, 0.100000000] +[0.200000000, 0.200000000, 0.200000000] +[0.300000000, 0.300000000, 0.300000000] +[0.400000000, 0.400000000, 0.400000000] +[0.500000000, 0.500000000, 0.500000000] +[0.600000000, 0.600000000, 0.600000000] +[0.700000000, 0.700000000, 0.700000000] +[0.800000000, 0.800000000, 0.800000000] +[0.900000000, 0.900000000, 0.900000000] +[1.000000000, 1.000000000, 1.000000000] +[1.100000000, 1.100000000, 1.100000000] +[1.200000000, 1.200000000, 1.200000000] + +-- !sql_array_pushfront_DecimalV3_notnull -- +[0.100000000, 0.100000000, 0.100000000] +[0.200000000, 0.200000000, 0.200000000] +[0.300000000, 0.300000000, 0.300000000] +[0.400000000, 0.400000000, 0.400000000] +[0.500000000, 0.500000000, 0.500000000] +[0.600000000, 0.600000000, 0.600000000] +[0.700000000, 0.700000000, 0.700000000] +[0.800000000, 0.800000000, 0.800000000] +[0.900000000, 0.900000000, 0.900000000] +[1.000000000, 1.000000000, 1.000000000] +[1.100000000, 1.100000000, 1.100000000] +[1.200000000, 1.200000000, 1.200000000] + +-- !sql_array_pushfront_Boolean -- +\N +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[1, 1] +[1, 1] +[1, 1] +[1, 1] +[1, 1] + +-- !sql_array_pushfront_Boolean_notnull -- +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[0, 0] +[1, 1] +[1, 1] +[1, 1] +[1, 1] +[1, 1] + +-- !sql_array_pushfront_Char -- +\N +["char11", "char11", "char21", "char31"] +["char11", "char11", "char21", "char31"] +["char11", "char11", "char21", "char31"] +["char11", "char11", "char21", "char31"] +["char12", "char12", "char22", "char32"] +["char12", "char12", "char22", "char32"] +["char12", "char12", "char22", "char32"] +["char12", "char12", "char22", "char32"] +["char13", "char13", "char23", "char33"] +["char13", "char13", "char23", "char33"] +["char13", "char13", "char23", "char33"] +["char13", "char13", "char23", "char33"] + +-- !sql_array_pushfront_Char_notnull -- +["char11", "char11", "char21", "char31"] +["char11", "char11", "char21", "char31"] +["char11", "char11", "char21", "char31"] +["char11", "char11", "char21", "char31"] +["char12", "char12", "char22", "char32"] +["char12", "char12", "char22", "char32"] +["char12", "char12", "char22", "char32"] +["char12", "char12", "char22", "char32"] +["char13", "char13", "char23", "char33"] +["char13", "char13", "char23", "char33"] +["char13", "char13", "char23", "char33"] +["char13", "char13", "char23", "char33"] + +-- !sql_array_pushfront_Varchar -- +\N +["varchar11", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["varchar11", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["varchar11", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["varchar11", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["varchar12", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["varchar12", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["varchar12", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["varchar12", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["varchar13", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["varchar13", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["varchar13", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["varchar13", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] + +-- !sql_array_pushfront_Varchar_notnull -- +["varchar11", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["varchar11", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["varchar11", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["varchar11", "char11", "char21", "char31", "varchar11", "varchar21", "varchar31"] +["varchar12", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["varchar12", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["varchar12", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["varchar12", "char12", "char22", "char32", "varchar12", "varchar22", "varchar32"] +["varchar13", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["varchar13", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["varchar13", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] +["varchar13", "char13", "char23", "char33", "varchar13", "varchar23", "varchar33"] + +-- !sql_array_pushfront_String -- +\N +["string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] + +-- !sql_array_pushfront_String_notnull -- +["string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["string1", "char21", "char31", "varchar11", "varchar21", "varchar31", "string1"] +["string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["string2", "char22", "char32", "varchar12", "varchar22", "varchar32", "string2"] +["string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] +["string3", "char23", "char33", "varchar13", "varchar23", "varchar33", "string3"] + +-- !sql_array_pushfront_DatetimeV2 -- +\N +[2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000] +[2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000] +[2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000] +[2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000] +[2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000] +[2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000] +[2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000] +[2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000] +[2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000] +[2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000] +[2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000] +[2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000] + +-- !sql_array_pushfront_DatetimeV2_notnull -- +[2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000, 2012-03-01 01:00:01.000000] +[2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000, 2012-03-02 02:01:02.000000] +[2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000, 2012-03-03 03:02:03.000000] +[2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000, 2012-03-04 04:03:04.000000] +[2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000, 2012-03-05 05:04:05.000000] +[2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000, 2012-03-06 06:05:06.000000] +[2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000, 2012-03-07 07:06:07.000000] +[2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000, 2012-03-08 08:07:08.000000] +[2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000, 2012-03-09 09:08:09.000000] +[2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000, 2012-03-10 10:09:10.000000] +[2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000, 2012-03-11 11:10:11.000000] +[2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000, 2012-03-12 12:11:12.000000] + +-- !sql_array_pushfront_DateV2 -- +\N +[2012-03-01, 2012-03-01, 2012-03-01] +[2012-03-02, 2012-03-02, 2012-03-02] +[2012-03-03, 2012-03-03, 2012-03-03] +[2012-03-04, 2012-03-04, 2012-03-04] +[2012-03-05, 2012-03-05, 2012-03-05] +[2012-03-06, 2012-03-06, 2012-03-06] +[2012-03-07, 2012-03-07, 2012-03-07] +[2012-03-08, 2012-03-08, 2012-03-08] +[2012-03-09, 2012-03-09, 2012-03-09] +[2012-03-10, 2012-03-10, 2012-03-10] +[2012-03-11, 2012-03-11, 2012-03-11] +[2012-03-12, 2012-03-12, 2012-03-12] + +-- !sql_array_pushfront_DateV2_notnull -- +[2012-03-01, 2012-03-01, 2012-03-01] +[2012-03-02, 2012-03-02, 2012-03-02] +[2012-03-03, 2012-03-03, 2012-03-03] +[2012-03-04, 2012-03-04, 2012-03-04] +[2012-03-05, 2012-03-05, 2012-03-05] +[2012-03-06, 2012-03-06, 2012-03-06] +[2012-03-07, 2012-03-07, 2012-03-07] +[2012-03-08, 2012-03-08, 2012-03-08] +[2012-03-09, 2012-03-09, 2012-03-09] +[2012-03-10, 2012-03-10, 2012-03-10] +[2012-03-11, 2012-03-11, 2012-03-11] +[2012-03-12, 2012-03-12, 2012-03-12] + -- !sql_array_range_one_param -- \N [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] @@ -13008,12 +14226,12 @@ true -- !array_repeat1 -- ["hello", "hello"] --- !array_repeat1 -- +-- !array_repeat2 -- [123, 123] --- !array_repeat1 -- +-- !array_repeat3 -- [NULL, NULL] --- !array_repeat1 -- +-- !array_repeat4 -- [] diff --git a/regression-test/data/query_p0/sql_functions/array_functions/test_array_with_scale_type.out b/regression-test/data/query_p0/sql_functions/array_functions/test_array_with_scale_type.out index 70feafa910..c643331e2a 100644 --- a/regression-test/data/query_p0/sql_functions/array_functions/test_array_with_scale_type.out +++ b/regression-test/data/query_p0/sql_functions/array_functions/test_array_with_scale_type.out @@ -111,16 +111,16 @@ \N -- !select -- -[2022-12-02 22:23:24.999, 2022-12-02 22:23:23.997] -[2022-12-02 22:23:24.999, 2022-12-02 22:23:23.997] +[2022-12-02 22:23:24.123, 2022-12-02 22:23:23.123] +[2022-12-02 22:23:24.123, 2022-12-02 22:23:23.123] -- !select -- [2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000] [2022-12-02 22:23:25.000, 2022-12-02 23:23:25.000] -- !select -- -[2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000, 2022-12-02 22:23:24.999, 2022-12-02 22:23:23.997] -[2022-12-02 22:23:25.000, 2022-12-02 23:23:25.000, 2022-12-02 22:23:24.999, 2022-12-02 22:23:23.997] +[2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000, 2022-12-02 22:23:24.123, 2022-12-02 22:23:23.123] +[2022-12-02 22:23:25.000, 2022-12-02 23:23:25.000, 2022-12-02 22:23:24.123, 2022-12-02 22:23:23.123] -- !select -- [22.679, 33.679, 22.679, 33.679, 22.679, 33.679] @@ -131,24 +131,24 @@ [{23.679, 23.679, 2022-12-02 22:23:25.000, 23.679}, {34.679, 34.679, 2022-12-02 23:23:25.000, 34.679}] -- !select -- -[{2022-12-02 22:23:24.999}, {2022-12-02 22:23:23.997}] -[{2022-12-02 22:23:24.999}, {2022-12-02 22:23:23.997}] +[{2022-12-02 22:23:24.123}, {2022-12-02 22:23:23.123}] +[{2022-12-02 22:23:24.123}, {2022-12-02 22:23:23.123}] -- !select -- [{2022-12-01 22:23:25.000}, {2022-12-01 23:23:25.000}] [{2022-12-02 22:23:25.000}, {2022-12-02 23:23:25.000}] -- !select -- -[{2022-12-01 22:23:25.000, 2022-12-02 22:23:24.999}, {2022-12-01 23:23:25.000, 2022-12-02 22:23:23.997}] -[{2022-12-02 22:23:25.000, 2022-12-02 22:23:24.999}, {2022-12-02 23:23:25.000, 2022-12-02 22:23:23.997}] +[{2022-12-01 22:23:25.000, 2022-12-02 22:23:24.123}, {2022-12-01 23:23:25.000, 2022-12-02 22:23:23.123}] +[{2022-12-02 22:23:25.000, 2022-12-02 22:23:24.123}, {2022-12-02 23:23:25.000, 2022-12-02 22:23:23.123}] -- !select -- -[2022-12-02 22:23:23.997, 2022-12-02 22:23:24.999] -[2022-12-02 22:23:23.997, 2022-12-02 22:23:24.999] +[2022-12-02 22:23:23.123, 2022-12-02 22:23:24.123] +[2022-12-02 22:23:23.123, 2022-12-02 22:23:24.123] -- !select -- -[2023-03-08 23:23:23.997, 2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000] -[2023-03-08 23:23:23.997, 2022-12-02 22:23:25.000, 2022-12-02 23:23:25.000] +[2023-03-08 23:23:23.123, 2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000] +[2023-03-08 23:23:23.123, 2022-12-02 22:23:25.000, 2022-12-02 23:23:25.000] -- !select -- 2022-12-01T22:23:25 [2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000] [2022-12-01 22:23:25.000, 2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000] @@ -163,12 +163,12 @@ 23.679 [23.679, 34.679] [23.679, 23.679, 34.679] -- !select -- -[2022-12-02 22:23:24.999, 2022-12-02 22:23:23.997] -[2022-12-02 22:23:24.999, 2022-12-02 22:23:23.997] +[2022-12-02 22:23:24.123, 2022-12-02 22:23:23.123] +[2022-12-02 22:23:24.123, 2022-12-02 22:23:23.123] -- !select -- -[2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000, 2023-03-08 23:23:23.997] -[2022-12-02 22:23:25.000, 2022-12-02 23:23:25.000, 2023-03-08 23:23:23.997] +[2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000, 2023-03-08 23:23:23.123] +[2022-12-02 22:23:25.000, 2022-12-02 23:23:25.000, 2023-03-08 23:23:23.123] -- !select -- 2022-12-01T22:23:25 [2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000] [2022-12-01 22:23:25.000, 2022-12-01 23:23:25.000, 2022-12-01 22:23:25.000] diff --git a/regression-test/suites/nereids_function_p0/scalar_function/Array.groovy b/regression-test/suites/nereids_function_p0/scalar_function/Array.groovy index 3ea27c11c1..42b5cf8525 100644 --- a/regression-test/suites/nereids_function_p0/scalar_function/Array.groovy +++ b/regression-test/suites/nereids_function_p0/scalar_function/Array.groovy @@ -71,6 +71,39 @@ suite("nereids_scalar_fn_Array") { order_qt_sql_array_compact_DateV2 "select array_compact(kadtv2) from fn_test" order_qt_sql_array_compact_DateV2_notnull "select array_compact(kadtv2) from fn_test_not_nullable" + // array_concat + order_qt_sql_array_concat_Double "select array_concat(kadbl, kadbl) from fn_test" + order_qt_sql_array_concat_Double_notnull "select array_concat(kadbl, kadbl) from fn_test_not_nullable" + order_qt_sql_array_concat_Float "select array_concat(kafloat, kafloat) from fn_test" + order_qt_sql_array_concat_Float_notnull "select array_concat(kafloat, kafloat) from fn_test_not_nullable" + order_qt_sql_array_concat_LargeInt "select array_concat(kalint, kalint) from fn_test" + order_qt_sql_array_concat_LargeInt_notnull "select array_concat(kalint, kalint) from fn_test_not_nullable" + order_qt_sql_array_concat_BigInt "select array_concat(kabint, kabint) from fn_test" + order_qt_sql_array_concat_BigInt_notnull "select array_concat(kabint, kabint) from fn_test_not_nullable" + order_qt_sql_array_concat_SmallInt "select array_concat(kasint, kasint) from fn_test" + order_qt_sql_array_concat_SmallInt_notnull "select array_concat(kasint, kasint) from fn_test_not_nullable" + order_qt_sql_array_concat_Integer "select array_concat(kaint, kaint) from fn_test" + order_qt_sql_array_concat_Integer_notnull "select array_concat(kaint, kaint) from fn_test_not_nullable" + order_qt_sql_array_concat_TinyInt "select array_concat(katint, katint) from fn_test" + order_qt_sql_array_concat_TinyInt_notnull "select array_concat(katint, katint) from fn_test_not_nullable" + order_qt_sql_array_concat_DecimalV3 "select array_concat(kadcml, kadcml) from fn_test" + order_qt_sql_array_concat_DecimalV3_notnull "select array_concat(kadcml, kadcml) from fn_test_not_nullable" + + order_qt_sql_array_concat_Boolean "select array_concat(kabool, kabool) from fn_test" + order_qt_sql_array_concat_Boolean_notnull "select array_concat(kabool, kabool) from fn_test_not_nullable" + + order_qt_sql_array_concat_Char "select array_concat(kachr, kachr) from fn_test" + order_qt_sql_array_concat_Char_notnull "select array_concat(kachr, kachr) from fn_test_not_nullable" + order_qt_sql_array_concat_Varchar "select array_concat(kavchr, kavchr) from fn_test" + order_qt_sql_array_concat_Varchar_notnull "select array_concat(kavchr, kavchr) from fn_test_not_nullable" + order_qt_sql_array_concat_String "select array_concat(kastr, kastr) from fn_test" + order_qt_sql_array_concat_String_notnull "select array_concat(kastr, kastr) from fn_test_not_nullable" + + order_qt_sql_array_concat_DatetimeV2 "select array_concat(kadtmv2, kadtmv2) from fn_test" + order_qt_sql_array_concat_DatetimeV2_notnull "select array_concat(kadtmv2, kadtmv2) from fn_test_not_nullable" + order_qt_sql_array_concat_DateV2 "select array_concat(kadtv2, kadtv2) from fn_test" + order_qt_sql_array_concat_DateV2_notnull "select array_concat(kadtv2, kadtv2) from fn_test_not_nullable" + // array_difference order_qt_sql_array_difference_Double "select array_difference(kadbl) from fn_test" order_qt_sql_array_difference_Double_notnull "select array_difference(kadbl) from fn_test_not_nullable" @@ -517,6 +550,72 @@ suite("nereids_scalar_fn_Array") { order_qt_sql_array_product_DecimalV3 "select array_product(kadcml) from fn_test" order_qt_sql_array_product_DecimalV3_notnull "select array_product(kadcml) from fn_test_not_nullable" + // array_pushback + order_qt_sql_array_pushback_Double "select array_pushback(kadbl, kdbl) from fn_test" + order_qt_sql_array_pushback_Double_notnull "select array_pushback(kadbl, kdbl) from fn_test_not_nullable" + order_qt_sql_array_pushback_Float "select array_pushback(kafloat, kfloat) from fn_test" + order_qt_sql_array_pushback_Float_notnull "select array_pushback(kafloat, kfloat) from fn_test_not_nullable" + order_qt_sql_array_pushback_LargeInt "select array_pushback(kalint, klint) from fn_test" + order_qt_sql_array_pushback_LargeInt_notnull "select array_pushback(kalint, klint) from fn_test_not_nullable" + order_qt_sql_array_pushback_BigInt "select array_pushback(kabint, kbint) from fn_test" + order_qt_sql_array_pushback_BigInt_notnull "select array_pushback(kabint, kbint) from fn_test_not_nullable" + order_qt_sql_array_pushback_SmallInt "select array_pushback(kasint, ksint) from fn_test" + order_qt_sql_array_pushback_SmallInt_notnull "select array_pushback(kasint, ksint) from fn_test_not_nullable" + order_qt_sql_array_pushback_Integer "select array_pushback(kaint, kint) from fn_test" + order_qt_sql_array_pushback_Integer_notnull "select array_pushback(kaint, kint) from fn_test_not_nullable" + order_qt_sql_array_pushback_TinyInt "select array_pushback(katint, ktint) from fn_test" + order_qt_sql_array_pushback_TinyInt_notnull "select array_pushback(katint, ktint) from fn_test_not_nullable" + order_qt_sql_array_pushback_DecimalV3 "select array_pushback(kadcml, kdcmls1) from fn_test" + order_qt_sql_array_pushback_DecimalV3_notnull "select array_pushback(kadcml, kdcmls1) from fn_test_not_nullable" + + order_qt_sql_array_pushback_Boolean "select array_pushback(kabool, kbool) from fn_test" + order_qt_sql_array_pushback_Boolean_notnull "select array_pushback(kabool, kbool) from fn_test_not_nullable" + + order_qt_sql_array_pushback_Char "select array_pushback(kachr, kchrs1) from fn_test" + order_qt_sql_array_pushback_Char_notnull "select array_pushback(kachr, kchrs1) from fn_test_not_nullable" + order_qt_sql_array_pushback_Varchar "select array_pushback(kavchr, kvchrs1) from fn_test" + order_qt_sql_array_pushback_Varchar_notnull "select array_pushback(kavchr, kvchrs1) from fn_test_not_nullable" + order_qt_sql_array_pushback_String "select array_pushback(kastr, kstr) from fn_test" + order_qt_sql_array_pushback_String_notnull "select array_pushback(kastr, kstr) from fn_test_not_nullable" + + order_qt_sql_array_pushback_DatetimeV2 "select array_pushback(kadtmv2, kdtmv2s1) from fn_test" + order_qt_sql_array_pushback_DatetimeV2_notnull "select array_pushback(kadtmv2, kdtmv2s1) from fn_test_not_nullable" + order_qt_sql_array_pushback_DateV2 "select array_pushback(kadtv2, kdtv2) from fn_test" + order_qt_sql_array_pushback_DateV2_notnull "select array_pushback(kadtv2, kdtv2) from fn_test_not_nullable" + + // array_pushfront + order_qt_sql_array_pushfront_Double "select array_pushfront(kadbl, kdbl) from fn_test" + order_qt_sql_array_pushfront_Double_notnull "select array_pushfront(kadbl, kdbl) from fn_test_not_nullable" + order_qt_sql_array_pushfront_Float "select array_pushfront(kafloat, kfloat) from fn_test" + order_qt_sql_array_pushfront_Float_notnull "select array_pushfront(kafloat, kfloat) from fn_test_not_nullable" + order_qt_sql_array_pushfront_LargeInt "select array_pushfront(kalint, klint) from fn_test" + order_qt_sql_array_pushfront_LargeInt_notnull "select array_pushfront(kalint, klint) from fn_test_not_nullable" + order_qt_sql_array_pushfront_BigInt "select array_pushfront(kabint, kbint) from fn_test" + order_qt_sql_array_pushfront_BigInt_notnull "select array_pushfront(kabint, kbint) from fn_test_not_nullable" + order_qt_sql_array_pushfront_SmallInt "select array_pushfront(kasint, ksint) from fn_test" + order_qt_sql_array_pushfront_SmallInt_notnull "select array_pushfront(kasint, ksint) from fn_test_not_nullable" + order_qt_sql_array_pushfront_Integer "select array_pushfront(kaint, kint) from fn_test" + order_qt_sql_array_pushfront_Integer_notnull "select array_pushfront(kaint, kint) from fn_test_not_nullable" + order_qt_sql_array_pushfront_TinyInt "select array_pushfront(katint, ktint) from fn_test" + order_qt_sql_array_pushfront_TinyInt_notnull "select array_pushfront(katint, ktint) from fn_test_not_nullable" + order_qt_sql_array_pushfront_DecimalV3 "select array_pushfront(kadcml, kdcmls1) from fn_test" + order_qt_sql_array_pushfront_DecimalV3_notnull "select array_pushfront(kadcml, kdcmls1) from fn_test_not_nullable" + + order_qt_sql_array_pushfront_Boolean "select array_pushfront(kabool, kbool) from fn_test" + order_qt_sql_array_pushfront_Boolean_notnull "select array_pushfront(kabool, kbool) from fn_test_not_nullable" + + order_qt_sql_array_pushfront_Char "select array_pushfront(kachr, kchrs1) from fn_test" + order_qt_sql_array_pushfront_Char_notnull "select array_pushfront(kachr, kchrs1) from fn_test_not_nullable" + order_qt_sql_array_pushfront_Varchar "select array_pushfront(kavchr, kvchrs1) from fn_test" + order_qt_sql_array_pushfront_Varchar_notnull "select array_pushfront(kavchr, kvchrs1) from fn_test_not_nullable" + order_qt_sql_array_pushfront_String "select array_pushfront(kastr, kstr) from fn_test" + order_qt_sql_array_pushfront_String_notnull "select array_pushfront(kastr, kstr) from fn_test_not_nullable" + + order_qt_sql_array_pushfront_DatetimeV2 "select array_pushfront(kadtmv2, kdtmv2s1) from fn_test" + order_qt_sql_array_pushfront_DatetimeV2_notnull "select array_pushfront(kadtmv2, kdtmv2s1) from fn_test_not_nullable" + order_qt_sql_array_pushfront_DateV2 "select array_pushfront(kadtv2, kdtv2) from fn_test" + order_qt_sql_array_pushfront_DateV2_notnull "select array_pushfront(kadtv2, kdtv2) from fn_test_not_nullable" + // array_range order_qt_sql_array_range_one_param "select array_range(kint) from fn_test" order_qt_sql_array_range_one_param_notnull "select array_range(kint) from fn_test_not_nullable" @@ -1154,8 +1253,11 @@ suite("nereids_scalar_fn_Array") { // array_repeat qt_array_repeat1 """select array_repeat("hello", 2)""" - qt_array_repeat1 """select array_repeat(123, 2)""" - qt_array_repeat1 """select array_repeat(null, 2)""" - qt_array_repeat1 """select array_repeat(3, null)""" + qt_array_repeat2 """select array_repeat(123, 2)""" + qt_array_repeat3 """select array_repeat(null, 2)""" + qt_array_repeat4 """select array_repeat(3, null)""" + + // array_zip + sql "select array_zip([1], ['1'], [1.0])" } \ No newline at end of file diff --git a/regression-test/suites/query_p0/sql_functions/array_functions/test_array_with_scale_type.groovy b/regression-test/suites/query_p0/sql_functions/array_functions/test_array_with_scale_type.groovy index 53a37100f0..6cd4312b14 100644 --- a/regression-test/suites/query_p0/sql_functions/array_functions/test_array_with_scale_type.groovy +++ b/regression-test/suites/query_p0/sql_functions/array_functions/test_array_with_scale_type.groovy @@ -78,24 +78,24 @@ suite("test_array_with_scale_type") { qt_select """select array_apply(c_array_decimal, ">=", 22.1) from ${tableName}""" qt_select """select array_apply(c_array_decimal, ">=", null) from ${tableName}""" - qt_select """select array_concat(array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3)),cast ('2022-12-02 22:23:23.997799' as datetimev2(3)))) from ${tableName}""" + qt_select """select array_concat(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName}""" qt_select """select array_concat(c_array_datetimev2) from ${tableName}""" - qt_select """select array_concat(c_array_datetimev2, array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3)),cast ('2022-12-02 22:23:23.997799' as datetimev2(3)))) from ${tableName}""" + qt_select """select array_concat(c_array_datetimev2, array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName}""" qt_select """select array_concat(c_array_decimal, c_array_decimal, c_array_decimal) from ${tableName}""" qt_select """select array_zip(c_array_decimal, c_array_decimal, c_array_datetimev2, c_array_decimal) from ${tableName}""" - qt_select """select array_zip(array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3)),cast ('2022-12-02 22:23:23.997799' as datetimev2(3)))) from ${tableName}""" + qt_select """select array_zip(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName}""" qt_select """select array_zip(c_array_datetimev2) from ${tableName}""" - qt_select """select array_zip(c_array_datetimev2, array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3)),cast ('2022-12-02 22:23:23.997799' as datetimev2(3)))) from ${tableName}""" + qt_select """select array_zip(c_array_datetimev2, array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3)),cast ('2022-12-02 22:23:23.123123' as datetimev2(3)))) from ${tableName}""" - qt_select "select array_pushfront(array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3))),cast ('2022-12-02 22:23:23.997799' as datetimev2(3))) from ${tableName}" - qt_select "select array_pushfront(c_array_datetimev2, cast ('2023-03-08 23:23:23.997799' as datetimev2(3))) from ${tableName}" + qt_select "select array_pushfront(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3))),cast ('2022-12-02 22:23:23.123123' as datetimev2(3))) from ${tableName}" + qt_select "select array_pushfront(c_array_datetimev2, cast ('2023-03-08 23:23:23.123123' as datetimev2(3))) from ${tableName}" qt_select "select c_datetimev2, c_array_datetimev2, array_pushfront(c_array_datetimev2, c_datetimev2) from ${tableName}" qt_select "select array_pushfront(c_array_decimal, cast (25.99 as decimalv3(10,3))) from ${tableName}" qt_select "select c_decimal, c_array_decimal, array_pushfront(c_array_decimal, c_decimal) from ${tableName}" - qt_select "select array_pushback(array(cast ('2022-12-02 22:23:24.999999' as datetimev2(3))),cast ('2022-12-02 22:23:23.997799' as datetimev2(3))) from ${tableName}" - qt_select "select array_pushback(c_array_datetimev2, cast ('2023-03-08 23:23:23.997799' as datetimev2(3))) from ${tableName}" + qt_select "select array_pushback(array(cast ('2022-12-02 22:23:24.123123' as datetimev2(3))),cast ('2022-12-02 22:23:23.123123' as datetimev2(3))) from ${tableName}" + qt_select "select array_pushback(c_array_datetimev2, cast ('2023-03-08 23:23:23.123123' as datetimev2(3))) from ${tableName}" qt_select "select c_datetimev2, c_array_datetimev2, array_pushback(c_array_datetimev2, c_datetimev2) from ${tableName}" qt_select "select array_pushback(c_array_decimal, cast (25.99 as decimalv3(10,3))) from ${tableName}" qt_select "select c_decimal, c_array_decimal, array_pushback(c_array_decimal, c_decimal) from ${tableName}"