FindBugs Bug Detector Report

The following document contains the results of FindBugs

FindBugs Version is 3.0.1

Threshold is medium

Effort is max

Summary

ClassesBugsErrorsMissing Classes
8572900

nz.co.gregs.dbvolution.DBExtractor

BugCategoryDetailsLinePriority
Primitive value is boxed then unboxed to perform primitive coercion in nz.co.gregs.dbvolution.DBExtractor.extract()PERFORMANCEBX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION166Medium

nz.co.gregs.dbvolution.columns.Line2DColumn

BugCategoryDetailsLinePriority
nz.co.gregs.dbvolution.columns.Line2DColumn.equals(Object) checks for operand being a AbstractColumn BAD_PRACTICEEQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS94High

nz.co.gregs.dbvolution.columns.LineSegment2DColumn

BugCategoryDetailsLinePriority
nz.co.gregs.dbvolution.columns.LineSegment2DColumn.equals(Object) checks for operand being a AbstractColumn BAD_PRACTICEEQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS87High
nz.co.gregs.dbvolution.columns.LineSegment2DColumn overrides equals in nz.co.gregs.dbvolution.expressions.LineSegment2DExpression and may not be symmetricCORRECTNESSEQ_OVERRIDING_EQUALS_NOT_SYMMETRIC86Medium

nz.co.gregs.dbvolution.columns.MultiPoint2DColumn

BugCategoryDetailsLinePriority
nz.co.gregs.dbvolution.columns.MultiPoint2DColumn.equals(Object) checks for operand being a AbstractColumn BAD_PRACTICEEQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS88High
nz.co.gregs.dbvolution.columns.MultiPoint2DColumn overrides equals in nz.co.gregs.dbvolution.expressions.MultiPoint2DExpression and may not be symmetricCORRECTNESSEQ_OVERRIDING_EQUALS_NOT_SYMMETRIC87Medium

nz.co.gregs.dbvolution.columns.Point2DColumn

BugCategoryDetailsLinePriority
nz.co.gregs.dbvolution.columns.Point2DColumn.equals(Object) checks for operand being a AbstractColumn BAD_PRACTICEEQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS88High
nz.co.gregs.dbvolution.columns.Point2DColumn overrides equals in nz.co.gregs.dbvolution.expressions.Point2DExpression and may not be symmetricCORRECTNESSEQ_OVERRIDING_EQUALS_NOT_SYMMETRIC87Medium

nz.co.gregs.dbvolution.databases.DBDatabaseCluster

BugCategoryDetailsLinePriority
Exceptional return value of java.util.concurrent.ExecutorService.submit(Callable) ignored in nz.co.gregs.dbvolution.databases.DBDatabaseCluster.synchronizeAddedDatabases(boolean)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE1049Medium
Class nz.co.gregs.dbvolution.databases.DBDatabaseCluster defines non-transient non-serializable instance field detailsBAD_PRACTICESE_BAD_FIELDHigh

nz.co.gregs.dbvolution.databases.H2MemoryDB

BugCategoryDetailsLinePriority
nz.co.gregs.dbvolution.databases.H2MemoryDB.jamDatabaseConnectionOpen() may fail to clean up java.sql.StatementEXPERIMENTALOBL_UNSATISFIED_OBLIGATION105Medium
nz.co.gregs.dbvolution.databases.H2MemoryDB.jamDatabaseConnectionOpen() may fail to close StatementBAD_PRACTICEODR_OPEN_DATABASE_RESOURCE105Medium

nz.co.gregs.dbvolution.datatypes.DBJavaObject

BugCategoryDetailsLinePriority
Found reliance on default encoding in nz.co.gregs.dbvolution.datatypes.DBJavaObject.getFromCLOB(ResultSet, String): String.getBytes()I18NDM_DEFAULT_ENCODING225High
Found reliance on default encoding in nz.co.gregs.dbvolution.datatypes.DBJavaObject.getFromCharacterReader(ResultSet, String): String.getBytes()I18NDM_DEFAULT_ENCODING179High

nz.co.gregs.dbvolution.datatypes.DBStatistics

BugCategoryDetailsLinePriority
Class nz.co.gregs.dbvolution.datatypes.DBStatistics defines non-transient non-serializable instance field originalExpressionBAD_PRACTICESE_BAD_FIELDMedium

nz.co.gregs.dbvolution.datatypes.QueryableDatatype

BugCategoryDetailsLinePriority
Inconsistent synchronization of nz.co.gregs.dbvolution.datatypes.QueryableDatatype.literalValue; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC249Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.datatypes.QueryableDatatype.setValueHasBeenCalled; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC254Medium

nz.co.gregs.dbvolution.expressions.EqualExpression$ModeSimpleExpression

BugCategoryDetailsLinePriority
Dead store to defn in nz.co.gregs.dbvolution.expressions.EqualExpression$ModeSimpleExpression.createSQLForFromClause(DBDatabase)STYLEDLS_DEAD_LOCAL_STORE338Medium

nz.co.gregs.dbvolution.expressions.InExpression

BugCategoryDetailsLinePriority
Impossible downcast of toArray() result to nz.co.gregs.dbvolution.results.InResult[] in nz.co.gregs.dbvolution.expressions.InExpression.isIn(Object[])CORRECTNESSBC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY83High
Impossible downcast of toArray() result to nz.co.gregs.dbvolution.results.InResult[] in nz.co.gregs.dbvolution.expressions.InExpression.isIn(QueryableDatatype[])CORRECTNESSBC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY92High

nz.co.gregs.dbvolution.expressions.Line2DExpression

BugCategoryDetailsLinePriority
Nullcheck of coords at line 123 of value previously dereferenced in new nz.co.gregs.dbvolution.expressions.Line2DExpression(Coordinate[])CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE120Medium
Nullcheck of points at line 105 of value previously dereferenced in new nz.co.gregs.dbvolution.expressions.Line2DExpression(Point[])CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE102Medium

nz.co.gregs.dbvolution.expressions.Line2DExpression$9

BugCategoryDetailsLinePriority
Dead store to point2DExpression in nz.co.gregs.dbvolution.expressions.Line2DExpression$9.doExpressionTransform(DBDefinition)STYLEDLS_DEAD_LOCAL_STORE541High

nz.co.gregs.dbvolution.expressions.MultiPoint2DExpression

BugCategoryDetailsLinePriority
Nullcheck of points at line 78 of value previously dereferenced in new nz.co.gregs.dbvolution.expressions.MultiPoint2DExpression(Point[])CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE75Medium

nz.co.gregs.dbvolution.expressions.StringExpression$Substring

BugCategoryDetailsLinePriority
Should nz.co.gregs.dbvolution.expressions.StringExpression$Substring be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC2905Medium

nz.co.gregs.dbvolution.generation.DBTableClassGenerator

BugCategoryDetailsLinePriority

nz.co.gregs.dbvolution.internal.database.ClusterDetails

BugCategoryDetailsLinePriority
Dead store to removed in nz.co.gregs.dbvolution.internal.database.ClusterDetails.pauseDatabase(DBDatabase)STYLEDLS_DEAD_LOCAL_STORE156Medium

nz.co.gregs.dbvolution.internal.properties.PropertyTypeHandler

BugCategoryDetailsLinePriority
Possible null pointer dereference of type in new nz.co.gregs.dbvolution.internal.properties.PropertyTypeHandler(JavaProperty, boolean)CORRECTNESSNP_NULL_ON_SOME_PATH257Medium
Possible null pointer dereference of type in new nz.co.gregs.dbvolution.internal.properties.PropertyTypeHandler(JavaProperty, boolean)CORRECTNESSNP_NULL_ON_SOME_PATH272Medium