[Improve](GEO)wkb input and output are represented as hexadecimal strings And delete EWKB (#18721)

This commit is contained in:
Liqf
2023-04-21 15:11:18 +08:00
committed by GitHub
parent 3007cd49f2
commit ec1ab1a3d2
30 changed files with 193 additions and 998 deletions

View File

@ -273,16 +273,13 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.StAngleSphere
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAreaSquareKm;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAreaSquareMeters;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAsBinary;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAsEWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAstext;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAswkt;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAzimuth;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StCircle;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StContains;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StDistanceSphere;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeomFromEWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeomFromWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeometryFromEWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeometryFromWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeometryfromtext;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeomfromtext;
@ -603,7 +600,6 @@ public class BuiltinScalarFunctions implements FunctionHelper {
scalar(SplitPart.class, "split_part"),
scalar(Sqrt.class, "sqrt"),
scalar(StAsBinary.class, "st_asbinary"),
scalar(StAsEWKB.class, "st_asewkb"),
scalar(StAstext.class, "st_astext"),
scalar(StAswkt.class, "st_aswkt"),
scalar(StCircle.class, "st_circle"),
@ -614,10 +610,8 @@ public class BuiltinScalarFunctions implements FunctionHelper {
scalar(StAzimuth.class, "st_azimuth"),
scalar(StAreaSquareMeters.class, "st_area_square_meters"),
scalar(StAreaSquareKm.class, "st_area_square_km"),
scalar(StGeometryFromEWKB.class, "st_geometryfromewkb"),
scalar(StGeometryfromtext.class, "st_geometryfromtext"),
scalar(StGeometryFromWKB.class, "st_geometryfromwkb"),
scalar(StGeomFromEWKB.class, "st_geomfromewkb"),
scalar(StGeomfromtext.class, "st_geomfromtext"),
scalar(StGeomFromWKB.class, "st_geomfromwkb"),
scalar(StLinefromtext.class, "st_linefromtext"),

View File

@ -1,70 +0,0 @@
// 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.StringType;
import org.apache.doris.nereids.types.VarcharType;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.util.List;
/**
* ScalarFunction 'st_asewkb'. This class is generated by GenerateFunction.
*/
public class StAsEWKB extends ScalarFunction
implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable {
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(VarcharType.SYSTEM_DEFAULT),
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(StringType.INSTANCE)
);
/**
* constructor with 1 argument.
*/
public StAsEWKB(Expression arg) {
super("st_asewkb", arg);
}
/**
* withChildren.
*/
@Override
public StAsEWKB withChildren(List<Expression> children) {
Preconditions.checkArgument(children.size() == 1);
return new StAsEWKB(children.get(0));
}
@Override
public List<FunctionSignature> getSignatures() {
return SIGNATURES;
}
@Override
public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
return visitor.visitStAsEWKB(this, context);
}
}

View File

@ -1,70 +0,0 @@
// 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.StringType;
import org.apache.doris.nereids.types.VarcharType;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.util.List;
/**
* ScalarFunction 'st_geomfromewkb'. This class is generated by GenerateFunction.
*/
public class StGeomFromEWKB extends ScalarFunction
implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable {
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(VarcharType.SYSTEM_DEFAULT),
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(StringType.INSTANCE)
);
/**
* constructor with 1 argument.
*/
public StGeomFromEWKB(Expression arg) {
super("st_geomfromewkb", arg);
}
/**
* withChildren.
*/
@Override
public StGeomFromEWKB withChildren(List<Expression> children) {
Preconditions.checkArgument(children.size() == 1);
return new StGeomFromEWKB(children.get(0));
}
@Override
public List<FunctionSignature> getSignatures() {
return SIGNATURES;
}
@Override
public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
return visitor.visitStGeomfromewkb(this, context);
}
}

View File

@ -1,70 +0,0 @@
// 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.StringType;
import org.apache.doris.nereids.types.VarcharType;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.util.List;
/**
* ScalarFunction 'st_geometryfromewkb'. This class is generated by GenerateFunction.
*/
public class StGeometryFromEWKB extends ScalarFunction
implements UnaryExpression, ExplicitlyCastableSignature, AlwaysNullable {
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(VarcharType.SYSTEM_DEFAULT),
FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT).args(StringType.INSTANCE)
);
/**
* constructor with 1 argument.
*/
public StGeometryFromEWKB(Expression arg) {
super("st_geometryfromewkb", arg);
}
/**
* withChildren.
*/
@Override
public StGeometryFromEWKB withChildren(List<Expression> children) {
Preconditions.checkArgument(children.size() == 1);
return new StGeometryFromEWKB(children.get(0));
}
@Override
public List<FunctionSignature> getSignatures() {
return SIGNATURES;
}
@Override
public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
return visitor.visitStGeometryfromewkb(this, context);
}
}

View File

@ -275,16 +275,13 @@ import org.apache.doris.nereids.trees.expressions.functions.scalar.StAngleSphere
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAreaSquareKm;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAreaSquareMeters;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAsBinary;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAsEWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAstext;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAswkt;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StAzimuth;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StCircle;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StContains;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StDistanceSphere;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeomFromEWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeomFromWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeometryFromEWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeometryFromWKB;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeometryfromtext;
import org.apache.doris.nereids.trees.expressions.functions.scalar.StGeomfromtext;
@ -1446,26 +1443,14 @@ public interface ScalarFunctionVisitor<R, C> {
return visitScalarFunction(stGeometryfromwkb, context);
}
default R visitStGeometryfromewkb(StGeometryFromEWKB stGeometryfromewkb, C context) {
return visitScalarFunction(stGeometryfromewkb, context);
}
default R visitStGeomfromwkb(StGeomFromWKB stGeomfromwkb, C context) {
return visitScalarFunction(stGeomfromwkb, context);
}
default R visitStGeomfromewkb(StGeomFromEWKB stGeomfromewkb, C context) {
return visitScalarFunction(stGeomfromewkb, context);
}
default R visitStAsBinary(StAsBinary stAsBinary, C context) {
return visitScalarFunction(stAsBinary, context);
}
default R visitStAsEWKB(StAsEWKB stAsEWKB, C context) {
return visitScalarFunction(stAsEWKB, context);
}
default R visitStartsWith(StartsWith startsWith, C context) {
return visitScalarFunction(startsWith, context);
}