Skip to content

Commit b553f71

Browse files
committed
[native] Return false for queries with spherical geometry in sidecar enabled clusters
1 parent 410bb8c commit b553f71

File tree

17 files changed

+84
-9
lines changed

17 files changed

+84
-9
lines changed

presto-common/src/main/java/com/facebook/presto/common/type/TypeManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,9 @@ default Collection<ParametricType> getParametricTypes()
4444
{
4545
throw new UnsupportedOperationException();
4646
}
47+
48+
/**
49+
* Checks for the existence of this type.
50+
*/
51+
boolean hasType(TypeSignature signature);
4752
}

presto-common/src/test/java/com/facebook/presto/common/type/TestingTypeManager.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,10 @@ public List<Type> getTypes()
5959
{
6060
return ImmutableList.of(BOOLEAN, INTEGER, BIGINT, DOUBLE, VARCHAR, VARBINARY, TIMESTAMP, DATE, ID, HYPER_LOG_LOG);
6161
}
62+
63+
@Override
64+
public boolean hasType(TypeSignature signature)
65+
{
66+
return getType(signature) != null;
67+
}
6268
}

presto-hudi/src/test/java/com/facebook/presto/hudi/TestingTypeManager.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,10 @@ public List<Type> getTypes()
6363
{
6464
return ImmutableList.of(BOOLEAN, INTEGER, BIGINT, DOUBLE, VARCHAR, VARBINARY, TIMESTAMP, DATE, HYPER_LOG_LOG);
6565
}
66+
67+
@Override
68+
public boolean hasType(TypeSignature signature)
69+
{
70+
return getType(signature) != null;
71+
}
6672
}

presto-iceberg/src/test/java/com/facebook/presto/iceberg/TestIcebergFileWriter.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,5 +189,11 @@ public List<Type> getTypes()
189189
{
190190
return ImmutableList.of(BooleanType.BOOLEAN, INTEGER, BIGINT, DoubleType.DOUBLE, VARCHAR, VARBINARY, TIMESTAMP, DATE, HYPER_LOG_LOG);
191191
}
192+
193+
@Override
194+
public boolean hasType(TypeSignature signature)
195+
{
196+
return getType(signature) != null;
197+
}
192198
}
193199
}

presto-main-base/src/main/java/com/facebook/presto/execution/AddColumnTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
package com.facebook.presto.execution;
1515

1616
import com.facebook.presto.Session;
17-
import com.facebook.presto.UnknownTypeException;
1817
import com.facebook.presto.common.QualifiedObjectName;
1918
import com.facebook.presto.common.type.Type;
2019
import com.facebook.presto.metadata.Metadata;
@@ -25,6 +24,7 @@
2524
import com.facebook.presto.spi.TableHandle;
2625
import com.facebook.presto.spi.WarningCollector;
2726
import com.facebook.presto.spi.security.AccessControl;
27+
import com.facebook.presto.spi.type.UnknownTypeException;
2828
import com.facebook.presto.sql.analyzer.SemanticException;
2929
import com.facebook.presto.sql.tree.AddColumn;
3030
import com.facebook.presto.sql.tree.ColumnDefinition;

presto-main-base/src/main/java/com/facebook/presto/execution/CreateTableTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
package com.facebook.presto.execution;
1515

1616
import com.facebook.presto.Session;
17-
import com.facebook.presto.UnknownTypeException;
1817
import com.facebook.presto.common.QualifiedObjectName;
1918
import com.facebook.presto.common.type.Type;
2019
import com.facebook.presto.metadata.Metadata;
@@ -28,6 +27,7 @@
2827
import com.facebook.presto.spi.constraints.PrimaryKeyConstraint;
2928
import com.facebook.presto.spi.constraints.TableConstraint;
3029
import com.facebook.presto.spi.security.AccessControl;
30+
import com.facebook.presto.spi.type.UnknownTypeException;
3131
import com.facebook.presto.sql.analyzer.SemanticException;
3232
import com.facebook.presto.sql.tree.ColumnDefinition;
3333
import com.facebook.presto.sql.tree.ConstraintSpecification;

presto-main-base/src/main/java/com/facebook/presto/metadata/BuiltInTypeAndFunctionNamespaceManager.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
*/
1414
package com.facebook.presto.metadata;
1515

16-
import com.facebook.presto.UnknownTypeException;
1716
import com.facebook.presto.common.CatalogSchemaName;
1817
import com.facebook.presto.common.Page;
1918
import com.facebook.presto.common.QualifiedObjectName;
@@ -236,6 +235,7 @@
236235
import com.facebook.presto.spi.function.SqlFunctionVisibility;
237236
import com.facebook.presto.spi.function.SqlInvokedFunction;
238237
import com.facebook.presto.spi.function.SqlInvokedScalarFunctionImplementation;
238+
import com.facebook.presto.spi.type.UnknownTypeException;
239239
import com.facebook.presto.sql.analyzer.FunctionsConfig;
240240
import com.facebook.presto.type.BigintOperators;
241241
import com.facebook.presto.type.BooleanOperators;
@@ -1285,6 +1285,18 @@ public Type getType(TypeSignature typeSignature)
12851285
}
12861286
}
12871287

1288+
@Override
1289+
public boolean hasType(TypeSignature typeSignature)
1290+
{
1291+
try {
1292+
getType(typeSignature);
1293+
return true;
1294+
}
1295+
catch (UnknownTypeException e) {
1296+
return false;
1297+
}
1298+
}
1299+
12881300
@Override
12891301
public Type getParameterizedType(String baseTypeName, List<TypeSignatureParameter> typeParameters)
12901302
{

presto-main-base/src/main/java/com/facebook/presto/metadata/FunctionAndTypeManager.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,12 @@ public Collection<ParametricType> getParametricTypes()
278278
return FunctionAndTypeManager.this.getParametricTypes();
279279
}
280280

281+
@Override
282+
public boolean hasType(TypeSignature signature)
283+
{
284+
return FunctionAndTypeManager.this.hasType(signature);
285+
}
286+
281287
@Override
282288
public Collection<SqlFunction> listBuiltInFunctions()
283289
{
@@ -395,6 +401,12 @@ public Type getType(TypeSignature signature)
395401
return getUserDefinedType(signature);
396402
}
397403

404+
@Override
405+
public boolean hasType(TypeSignature signature)
406+
{
407+
return servingTypeManager.get().hasType(signature);
408+
}
409+
398410
@Override
399411
public Type getParameterizedType(String baseTypeName, List<TypeSignatureParameter> typeParameters)
400412
{

presto-main-base/src/main/java/com/facebook/presto/metadata/SignatureBinder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
*/
1414
package com.facebook.presto.metadata;
1515

16-
import com.facebook.presto.UnknownTypeException;
1716
import com.facebook.presto.common.type.FunctionType;
1817
import com.facebook.presto.common.type.NamedTypeSignature;
1918
import com.facebook.presto.common.type.ParameterKind;
@@ -25,6 +24,7 @@
2524
import com.facebook.presto.spi.function.LongVariableConstraint;
2625
import com.facebook.presto.spi.function.Signature;
2726
import com.facebook.presto.spi.function.TypeVariableConstraint;
27+
import com.facebook.presto.spi.type.UnknownTypeException;
2828
import com.facebook.presto.sql.analyzer.TypeSignatureProvider;
2929
import com.google.common.base.VerifyException;
3030
import com.google.common.collect.ImmutableList;

presto-main-base/src/main/java/com/facebook/presto/sql/analyzer/ExpressionAnalyzer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
package com.facebook.presto.sql.analyzer;
1515

1616
import com.facebook.presto.Session;
17-
import com.facebook.presto.UnknownTypeException;
1817
import com.facebook.presto.common.ErrorCode;
1918
import com.facebook.presto.common.QualifiedObjectName;
2019
import com.facebook.presto.common.Subfield;
@@ -47,6 +46,7 @@
4746
import com.facebook.presto.spi.function.SqlInvokedFunction;
4847
import com.facebook.presto.spi.security.AccessControl;
4948
import com.facebook.presto.spi.security.DenyAllAccessControl;
49+
import com.facebook.presto.spi.type.UnknownTypeException;
5050
import com.facebook.presto.sql.parser.SqlParser;
5151
import com.facebook.presto.sql.planner.TypeProvider;
5252
import com.facebook.presto.sql.relational.FunctionResolution;

0 commit comments

Comments
 (0)