SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.7.3
Threshold is medium
Effort is default
Summary
| Classes |
Bugs |
Errors |
Missing Classes |
| 131 |
35 |
0 |
0 |
org.apache.shardingsphere.sqlfederation.compiler.SQLFederationExecutionPlan
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.shardingsphere.sqlfederation.compiler.SQLFederationExecutionPlan.getPhysicalPlan() may expose internal representation by returning SQLFederationExecutionPlan.physicalPlan |
MALICIOUS_CODE |
EI_EXPOSE_REP |
39 |
Medium |
| new org.apache.shardingsphere.sqlfederation.compiler.SQLFederationExecutionPlan(RelNode, RelDataType) may expose internal representation by storing an externally mutable object into SQLFederationExecutionPlan.physicalPlan |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
35 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.context.CompilerContext
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.shardingsphere.sqlfederation.compiler.context.CompilerContext.getCalciteSchema() may expose internal representation by returning CompilerContext.calciteSchema |
MALICIOUS_CODE |
EI_EXPOSE_REP |
38 |
Medium |
| org.apache.shardingsphere.sqlfederation.compiler.context.CompilerContext.getOperatorTables() may expose internal representation by returning CompilerContext.operatorTables |
MALICIOUS_CODE |
EI_EXPOSE_REP |
42 |
Medium |
| new org.apache.shardingsphere.sqlfederation.compiler.context.CompilerContext(SQLParserRule, CalciteSchema, CalciteConnectionConfig, Collection) may expose internal representation by storing an externally mutable object into CompilerContext.calciteSchema |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
32 |
Medium |
| new org.apache.shardingsphere.sqlfederation.compiler.context.CompilerContext(SQLParserRule, CalciteSchema, CalciteConnectionConfig, Collection) may expose internal representation by storing an externally mutable object into CompilerContext.operatorTables |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
32 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.implementor.ScanImplementorContext
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.shardingsphere.sqlfederation.compiler.implementor.ScanImplementorContext.getParamIndexes() may expose internal representation by returning ScanImplementorContext.paramIndexes |
MALICIOUS_CODE |
EI_EXPOSE_REP |
35 |
Medium |
| new org.apache.shardingsphere.sqlfederation.compiler.implementor.ScanImplementorContext(DataContext, String, int[]) may expose internal representation by storing an externally mutable object into ScanImplementorContext.paramIndexes |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
27 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.metadata.schema.SQLFederationDatabase
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.shardingsphere.sqlfederation.compiler.metadata.schema.SQLFederationDatabase.getSubSchemaMap() may expose internal representation by returning SQLFederationDatabase.subSchemaMap |
MALICIOUS_CODE |
EI_EXPOSE_REP |
38 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.metadata.schema.SQLFederationSchema
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.shardingsphere.sqlfederation.compiler.metadata.schema.SQLFederationSchema.getTableMap() may expose internal representation by returning SQLFederationSchema.tableMap |
MALICIOUS_CODE |
EI_EXPOSE_REP |
46 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.metadata.schema.SQLFederationTable
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.shardingsphere.sqlfederation.compiler.metadata.schema.SQLFederationTable(ShardingSphereTable, DatabaseType) may expose internal representation by storing an externally mutable object into SQLFederationTable.table |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
62 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.metadata.view.ShardingSphereViewExpander
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.shardingsphere.sqlfederation.compiler.metadata.view.ShardingSphereViewExpander(SQLParserRule, DatabaseType, SqlToRelConverter) may expose internal representation by storing an externally mutable object into ShardingSphereViewExpander.sqlToRelConverter |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
37 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.planner.cache.ExecutionPlanCacheKey
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.shardingsphere.sqlfederation.compiler.planner.cache.ExecutionPlanCacheKey.getSqlStatement() may expose internal representation by returning ExecutionPlanCacheKey.sqlStatement |
MALICIOUS_CODE |
EI_EXPOSE_REP |
40 |
Medium |
| org.apache.shardingsphere.sqlfederation.compiler.planner.cache.ExecutionPlanCacheKey.getTableMetaDataVersions() may expose internal representation by returning ExecutionPlanCacheKey.tableMetaDataVersions |
MALICIOUS_CODE |
EI_EXPOSE_REP |
44 |
Medium |
| new org.apache.shardingsphere.sqlfederation.compiler.planner.cache.ExecutionPlanCacheKey(String, SQLStatement, SQLStatementCompiler) may expose internal representation by storing an externally mutable object into ExecutionPlanCacheKey.sqlStatement |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
32 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.planner.rule.converter.EnumerableModifyConverterRule
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.planner.rule.converter.EnumerableModifyConverterRule.convert(RelNode) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
45 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushFilterIntoScanRule$Config
| Bug |
Category |
Details |
Line |
Priority |
| Method org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushFilterIntoScanRule$Config.equals(Object) overrides the nullness annotation of parameter another in an incompatible way |
STYLE |
NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION |
199-200 |
Medium |
| Method org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushFilterIntoScanRule$Config.withDescription(String) overrides the nullness annotation of parameter $L1 in an incompatible way |
STYLE |
NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION |
36 |
Medium |
| Method org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushFilterIntoScanRule$Config.withDescription(String) overrides the nullness annotation of parameter value in an incompatible way |
STYLE |
NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION |
177-178 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushProjectIntoScanRule$Config
| Bug |
Category |
Details |
Line |
Priority |
| Method org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushProjectIntoScanRule$Config.equals(Object) overrides the nullness annotation of parameter another in an incompatible way |
STYLE |
NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION |
199-200 |
Medium |
| Method org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushProjectIntoScanRule$Config.withDescription(String) overrides the nullness annotation of parameter $L1 in an incompatible way |
STYLE |
NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION |
36 |
Medium |
| Method org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushProjectIntoScanRule$Config.withDescription(String) overrides the nullness annotation of parameter value in an incompatible way |
STYLE |
NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION |
177-178 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.PushFilterIntoScanRule
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.PushFilterIntoScanRule.matches(RelOptRuleCall) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
52 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.PushFilterIntoScanRule$Config
| Bug |
Category |
Details |
Line |
Priority |
| Initialization of org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.PushFilterIntoScanRule$Config accesses class org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushFilterIntoScanRule$Config, which isn't initialized yet |
BAD_PRACTICE |
IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION |
104 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.PushProjectIntoScanRule
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.PushProjectIntoScanRule.matches(RelOptRuleCall) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
53 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.PushProjectIntoScanRule$Config
| Bug |
Category |
Details |
Line |
Priority |
| Initialization of org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.PushProjectIntoScanRule$Config accesses class org.apache.shardingsphere.sqlfederation.compiler.planner.rule.transformation.ImmutablePushProjectIntoScanRule$Config, which isn't initialized yet |
BAD_PRACTICE |
IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION |
99 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.rel.builder.LogicalScanPushDownRelBuilder
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.rel.builder.LogicalScanPushDownRelBuilder.create(TableScan) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
43 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.rel.operator.logical.LogicalScan
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.shardingsphere.sqlfederation.compiler.rel.operator.logical.LogicalScan.getPushDownRelBuilder() may expose internal representation by returning LogicalScan.pushDownRelBuilder |
MALICIOUS_CODE |
EI_EXPOSE_REP |
39 |
Medium |
| Possible null pointer dereference in new org.apache.shardingsphere.sqlfederation.compiler.rel.operator.logical.LogicalScan(TableScan, String) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
45 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.rel.operator.physical.EnumerableScan
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.rel.operator.physical.EnumerableScan.implement(EnumerableRelImplementor, EnumerableRel$Prefer) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
86 |
Medium |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.rel.operator.physical.EnumerableScan.implement(EnumerableRelImplementor, EnumerableRel$Prefer) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
87 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.impl.BinaryOperationExpressionConverter
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.impl.BinaryOperationExpressionConverter.convertSqlNodes(BinaryOperationExpression, SqlOperator) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
188 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.impl.DataTypeExpressionConverter
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.impl.DataTypeExpressionConverter.convert(DataTypeSegment) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
44 |
Medium |
org.apache.shardingsphere.sqlfederation.compiler.sql.dialect.impl.CustomMySQLSQLDialect
| Bug |
Category |
Details |
Line |
Priority |
| Possible null pointer dereference in org.apache.shardingsphere.sqlfederation.compiler.sql.dialect.impl.CustomMySQLSQLDialect.toFormattedString(SqlAbstractDateTimeLiteral) due to return value of called method |
STYLE |
NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE |
90 |
Medium |