blob: c10b5849587703d57b5502bdb9cacdf1b5df4468 [file] [log] [blame]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from com.github.spotbugs:spotbugs-maven-plugin:4.7.2.1:spotbugs at 2023-06-09
| Rendered using Apache Maven Default Skin
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
<title>shardingsphere-infra-binder &#x2013; SpotBugs Bug Detector Report</title>
<link rel="stylesheet" href="./css/maven-base.css" />
<link rel="stylesheet" href="./css/maven-theme.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
</head>
<body class="composite">
<div id="banner">
<div id="bannerLeft">shardingsphere-infra-binder
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
<span id="publishDate">Last Published: 2023-06-09</span>
| <span id="projectVersion">Version: 5.3.3-SNAPSHOT</span>
</div>
<div class="xright"><a href="./" title="shardingsphere-infra-binder">shardingsphere-infra-binder</a> </div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Parent Project</h5>
<ul>
<li class="none"><a href="../index.html" title="shardingsphere-infra">shardingsphere-infra</a></li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed"><a href="project-info.html" title="Project Information">Project Information</a></li>
<li class="expanded"><a href="project-reports.html" title="Project Reports">Project Reports</a>
<ul>
<li class="none"><a href="apidocs/index.html" title="Javadoc">Javadoc</a></li>
<li class="none"><a href="xref/index.html" title="Source Xref">Source Xref</a></li>
<li class="none"><a href="xref-test/index.html" title="Test Source Xref">Test Source Xref</a></li>
<li class="none"><a href="rat-report.html" title="Rat Report">Rat Report</a></li>
<li class="none"><a href="checkstyle.html" title="Checkstyle">Checkstyle</a></li>
<li class="none"><strong>SpotBugs</strong></li>
<li class="none"><a href="jdepend-report.html" title="JDepend">JDepend</a></li>
</ul></li>
</ul>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<section>
<h2><a name="SpotBugs_Bug_Detector_Report"></a>SpotBugs Bug Detector Report</h2>
<p>The following document contains the results of <a class="externalLink" href="https://spotbugs.github.io/">SpotBugs</a></p>
<p>SpotBugs Version is <i>4.7.2</i></p>
<p>Threshold is <i>medium</i></p>
<p>Effort is <i>default</i></p></section><section>
<h2><a name="Summary"></a>Summary</h2>
<table border="0" class="bodyTable">
<tr class="a">
<th>Classes</th>
<th>Bugs</th>
<th>Errors</th>
<th>Missing Classes</th></tr>
<tr class="b">
<td>90</td>
<td>51</td>
<td>64</td>
<td>4</td></tr></table></section><section>
<h2><a name="Files"></a>Files</h2>
<table border="0" class="bodyTable">
<tr class="a">
<th>Class</th>
<th>Bugs</th></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.SQLStatementContextFactory">org.apache.shardingsphere.infra.binder.SQLStatementContextFactory</a></td>
<td>5</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.insert.keygen.engine.GeneratedKeyContextEngine">org.apache.shardingsphere.infra.binder.segment.insert.keygen.engine.GeneratedKeyContextEngine</a></td>
<td>3</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.insert.values.InsertValueContext">org.apache.shardingsphere.infra.binder.segment.insert.values.InsertValueContext</a></td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionEngine">org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionEngine</a></td>
<td>3</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionsContextEngine">org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionsContextEngine</a></td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.impl.AggregationProjection">org.apache.shardingsphere.infra.binder.segment.select.projection.impl.AggregationProjection</a></td>
<td>4</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ColumnProjection">org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ColumnProjection</a></td>
<td>2</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.impl.DerivedProjection">org.apache.shardingsphere.infra.binder.segment.select.projection.impl.DerivedProjection</a></td>
<td>4</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection">org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection</a></td>
<td>4</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ParameterMarkerProjection">org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ParameterMarkerProjection</a></td>
<td>4</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ShorthandProjection">org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ShorthandProjection</a></td>
<td>4</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.projection.impl.SubqueryProjection">org.apache.shardingsphere.infra.binder.segment.select.projection.impl.SubqueryProjection</a></td>
<td>4</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.select.subquery.engine.SubqueryTableContextEngine">org.apache.shardingsphere.infra.binder.segment.select.subquery.engine.SubqueryTableContextEngine</a></td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.segment.table.TablesContext">org.apache.shardingsphere.infra.binder.segment.table.TablesContext</a></td>
<td>3</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext">org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext</a></td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.statement.dal.KillStatementContext">org.apache.shardingsphere.infra.binder.statement.dal.KillStatementContext</a></td>
<td>1</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.statement.dal.ShowTableStatusStatementContext">org.apache.shardingsphere.infra.binder.statement.dal.ShowTableStatusStatementContext</a></td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.statement.dal.ShowTablesStatementContext">org.apache.shardingsphere.infra.binder.statement.dal.ShowTablesStatementContext</a></td>
<td>1</td></tr>
<tr class="b">
<td><a href="#org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext">org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext</a></td>
<td>1</td></tr>
<tr class="a">
<td><a href="#org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext">org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext</a></td>
<td>3</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.SQLStatementContextFactory"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.SQLStatementContextFactory"></a>org.apache.shardingsphere.infra.binder.SQLStatementContextFactory</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.SQLStatementContextFactory.getDALStatementContext(DALStatement) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.html#L274">274</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.SQLStatementContextFactory.getDCLStatementContext(DCLStatement) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.html#L261">261</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.SQLStatementContextFactory.getDDLStatementContext(ShardingSphereMetaData, List, DDLStatement, String) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.html#L197">197</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.SQLStatementContextFactory.getDMLStatementContext(ShardingSphereMetaData, List, DMLStatement, String) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.html#L165">165</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.SQLStatementContextFactory.newInstance(ShardingSphereMetaData, List, SQLStatement, String) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.html#L148">148</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.insert.keygen.engine.GeneratedKeyContextEngine"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.insert.keygen.engine.GeneratedKeyContextEngine"></a>org.apache.shardingsphere.infra.binder.segment.insert.keygen.engine.GeneratedKeyContextEngine</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.insert.keygen.engine.GeneratedKeyContextEngine.findGeneratedKey(List, List, List, String) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/insert/keygen/engine/GeneratedKeyContextEngine.html#L96">96</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>org.apache.shardingsphere.infra.binder.segment.insert.keygen.engine.GeneratedKeyContextEngine.findGenerateKeyExpressions(List, List, String): 2nd parameter 'valueExpressions' could be declared as java.lang.Iterable instead</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OCP_OVERLY_CONCRETE_PARAMETER">OCP_OVERLY_CONCRETE_PARAMETER</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/insert/keygen/engine/GeneratedKeyContextEngine.html#L111">111</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.insert.keygen.engine.GeneratedKeyContextEngine.findGenerateKeyExpressions(List, List, String) uses simple loop to copy contents of one collection to another</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#UAA_USE_ADD_ALL">UAA_USE_ADD_ALL</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/insert/keygen/engine/GeneratedKeyContextEngine.html#L113">113</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.insert.values.InsertValueContext"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.insert.values.InsertValueContext"></a>org.apache.shardingsphere.infra.binder.segment.insert.values.InsertValueContext</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.insert.values.InsertValueContext.getLiteralValue(int) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/insert/values/InsertValueContext.html#L79">79</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionEngine"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionEngine"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionEngine</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionEngine.createProjection(TableSegment, ProjectionSegment) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/engine/ProjectionEngine.html#L92">92</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionEngine.lambda$getShorthandColumnsFromSimpleTableSegment$5(TableSegment, String) uses immediate execution of a block of code that is often not used</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION">OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/engine/ProjectionEngine.html#L180">180</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionEngine.getUsingColumnNames(Collection) does not presize the allocation of a collection</td>
<td>PERFORMANCE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#PSC_PRESIZE_COLLECTIONS">PSC_PRESIZE_COLLECTIONS</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/engine/ProjectionEngine.html#L285">285</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionsContextEngine"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionsContextEngine"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionsContextEngine</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.engine.ProjectionsContextEngine.getColumnProjections(Projection) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/engine/ProjectionsContextEngine.html#L133">133</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.AggregationProjection"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.AggregationProjection"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.impl.AggregationProjection</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.AggregationProjection.equals(Object) checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/AggregationProjection.html#L40">40</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.AggregationProjection.hashCode() checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/AggregationProjection.html#L40">40</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.AggregationProjection.hashCode() stores return result in local before immediately returning it</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#USBR_UNNECESSARY_STORE_BEFORE_RETURN">USBR_UNNECESSARY_STORE_BEFORE_RETURN</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/AggregationProjection.html#L40">40</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ColumnProjection"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ColumnProjection"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ColumnProjection</h3>
<table border="0" class="bodyTable">
<tr class="b">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ColumnProjection.getColumnLabel() uses immediate execution of a block of code that is often not used</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION">OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ColumnProjection.html#L75">75</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ColumnProjection.hashCode() stores return result in local before immediately returning it</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#USBR_UNNECESSARY_STORE_BEFORE_RETURN">USBR_UNNECESSARY_STORE_BEFORE_RETURN</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ColumnProjection.html#L35">35</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.DerivedProjection"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.DerivedProjection"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.impl.DerivedProjection</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.DerivedProjection.equals(Object) checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/DerivedProjection.html#L35">35</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.DerivedProjection.hashCode() checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/DerivedProjection.html#L35">35</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.DerivedProjection.hashCode() stores return result in local before immediately returning it</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#USBR_UNNECESSARY_STORE_BEFORE_RETURN">USBR_UNNECESSARY_STORE_BEFORE_RETURN</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/DerivedProjection.html#L35">35</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection.equals(Object) checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ExpressionProjection.html#L34">34</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection.hashCode() checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ExpressionProjection.html#L34">34</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ExpressionProjection.hashCode() stores return result in local before immediately returning it</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#USBR_UNNECESSARY_STORE_BEFORE_RETURN">USBR_UNNECESSARY_STORE_BEFORE_RETURN</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ExpressionProjection.html#L34">34</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ParameterMarkerProjection"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ParameterMarkerProjection"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ParameterMarkerProjection</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ParameterMarkerProjection.equals(Object) checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ParameterMarkerProjection.html#L35">35</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ParameterMarkerProjection.hashCode() checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ParameterMarkerProjection.html#L35">35</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ParameterMarkerProjection.hashCode() stores return result in local before immediately returning it</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#USBR_UNNECESSARY_STORE_BEFORE_RETURN">USBR_UNNECESSARY_STORE_BEFORE_RETURN</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ParameterMarkerProjection.html#L35">35</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ShorthandProjection"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ShorthandProjection"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ShorthandProjection</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ShorthandProjection.equals(Object) checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ShorthandProjection.html#L37">37</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ShorthandProjection.hashCode() checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ShorthandProjection.html#L37">37</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.ShorthandProjection.hashCode() stores return result in local before immediately returning it</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#USBR_UNNECESSARY_STORE_BEFORE_RETURN">USBR_UNNECESSARY_STORE_BEFORE_RETURN</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/ShorthandProjection.html#L37">37</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.SubqueryProjection"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.projection.impl.SubqueryProjection"></a>org.apache.shardingsphere.infra.binder.segment.select.projection.impl.SubqueryProjection</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.SubqueryProjection.equals(Object) checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/SubqueryProjection.html#L37">37</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.SubqueryProjection.hashCode() checks an Optional reference for null</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OI_OPTIONAL_ISSUES_CHECKING_REFERENCE">OI_OPTIONAL_ISSUES_CHECKING_REFERENCE</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/SubqueryProjection.html#L37">37</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.projection.impl.SubqueryProjection.hashCode() stores return result in local before immediately returning it</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#USBR_UNNECESSARY_STORE_BEFORE_RETURN">USBR_UNNECESSARY_STORE_BEFORE_RETURN</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/projection/impl/SubqueryProjection.html#L37">37</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.select.subquery.engine.SubqueryTableContextEngine"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.select.subquery.engine.SubqueryTableContextEngine"></a>org.apache.shardingsphere.infra.binder.segment.select.subquery.engine.SubqueryTableContextEngine</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.segment.select.subquery.engine.SubqueryTableContextEngine.createSubqueryTableContexts(SelectStatementContext, String) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/select/subquery/engine/SubqueryTableContextEngine.html#L53">53</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.segment.table.TablesContext"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.segment.table.TablesContext"></a>org.apache.shardingsphere.infra.binder.segment.table.TablesContext</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Method new org.apache.shardingsphere.infra.binder.segment.table.TablesContext(Collection, Map, DatabaseType) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/table/TablesContext.html#L80">80</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Method org.apache.shardingsphere.infra.binder.segment.table.TablesContext.findTableNameFromSQL(Map) checks a map with containsKey(), before using get()</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#MUI_CONTAINSKEY_BEFORE_GET">MUI_CONTAINSKEY_BEFORE_GET</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/table/TablesContext.html#L245">245</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>org.apache.shardingsphere.infra.binder.segment.table.TablesContext.findDatabaseName(SimpleTableSegment, DatabaseType): 1st parameter 'tableSegment' could be declared as org.apache.shardingsphere.sql.parser.sql.common.segment.generic.OwnerAvailable instead</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OCP_OVERLY_CONCRETE_PARAMETER">OCP_OVERLY_CONCRETE_PARAMETER</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/segment/table/TablesContext.html#L94">94</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext"></a>org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext.getDatabaseType(SQLStatement) uses instanceof on multiple types to arbitrate logic</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#ITC_INHERITANCE_TYPE_CHECKING">ITC_INHERITANCE_TYPE_CHECKING</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/statement/CommonSQLStatementContext.html#L59">59</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.statement.dal.KillStatementContext"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.statement.dal.KillStatementContext"></a>org.apache.shardingsphere.infra.binder.statement.dal.KillStatementContext</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>new org.apache.shardingsphere.infra.binder.statement.dal.KillStatementContext(MySQLKillStatement): 1st parameter 'sqlStatement' could be declared as org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement instead</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OCP_OVERLY_CONCRETE_PARAMETER">OCP_OVERLY_CONCRETE_PARAMETER</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/statement/dal/KillStatementContext.html#L29">29</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.statement.dal.ShowTableStatusStatementContext"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.statement.dal.ShowTableStatusStatementContext"></a>org.apache.shardingsphere.infra.binder.statement.dal.ShowTableStatusStatementContext</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>new org.apache.shardingsphere.infra.binder.statement.dal.ShowTableStatusStatementContext(MySQLShowTableStatusStatement): 1st parameter 'sqlStatement' could be declared as org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement instead</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OCP_OVERLY_CONCRETE_PARAMETER">OCP_OVERLY_CONCRETE_PARAMETER</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/statement/dal/ShowTableStatusStatementContext.html#L34">34</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.statement.dal.ShowTablesStatementContext"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.statement.dal.ShowTablesStatementContext"></a>org.apache.shardingsphere.infra.binder.statement.dal.ShowTablesStatementContext</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>new org.apache.shardingsphere.infra.binder.statement.dal.ShowTablesStatementContext(MySQLShowTablesStatement): 1st parameter 'sqlStatement' could be declared as org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement instead</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OCP_OVERLY_CONCRETE_PARAMETER">OCP_OVERLY_CONCRETE_PARAMETER</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/statement/dal/ShowTablesStatementContext.html#L36">36</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext"></a>org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext.getInsertValueContexts(List, AtomicInteger, List): 3rd parameter 'valueExpressions' could be declared as java.lang.Iterable instead</td>
<td>STYLE</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#OCP_OVERLY_CONCRETE_PARAMETER">OCP_OVERLY_CONCRETE_PARAMETER</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/statement/dml/InsertStatementContext.html#L116">116</a></td>
<td>Medium</td></tr></table></section><a name="org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext"></a><section>
<h3><a name="org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext"></a>org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext</h3>
<table border="0" class="bodyTable">
<tr class="a">
<th>Bug</th>
<th>Category</th>
<th>Details</th>
<th>Line</th>
<th>Priority</th></tr>
<tr class="b">
<td>Class org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext has a circular dependency with other classes</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY">FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementContext.html#L84">84-342</a></td>
<td>Medium</td></tr>
<tr class="a">
<td>Class org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext has a circular dependency with other classes</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY">FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementContext.html#L84">84-342</a></td>
<td>Medium</td></tr>
<tr class="b">
<td>Method org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext.setIndexForOrderItem(Map, Collection) checks a map with containsKey(), before using get()</td>
<td>CORRECTNESS</td>
<td><a class="externalLink" href="https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#MUI_CONTAINSKEY_BEFORE_GET">MUI_CONTAINSKEY_BEFORE_GET</a></td>
<td><a href="./xref/org/apache/shardingsphere/infra/binder/statement/dml/SelectStatementContext.html#L257">257</a></td>
<td>Medium</td></tr></table></section>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">
Copyright &#169; 2023<a href="https://www.apache.org/">The Apache Software Foundation</a>.
. </div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>