SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.4.2

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
1419 259 0 0

Files

Class Bugs
nz.co.gregs.dbvolution.DBMigration 2
nz.co.gregs.dbvolution.DBQuery 3
nz.co.gregs.dbvolution.DBQueryInsert 2
nz.co.gregs.dbvolution.DBQueryRow 2
nz.co.gregs.dbvolution.DBTable$DifferingRows 2
nz.co.gregs.dbvolution.DBValidation 2
nz.co.gregs.dbvolution.actions.DBAction 2
nz.co.gregs.dbvolution.actions.DBAlterTableAddColumnIfNeeded 2
nz.co.gregs.dbvolution.actions.DBInsert 1
nz.co.gregs.dbvolution.actions.DBMigrationAction 1
nz.co.gregs.dbvolution.actions.DBQueryInsertAction 1
nz.co.gregs.dbvolution.columns.AbstractColumn 2
nz.co.gregs.dbvolution.columns.AbstractQueryColumn 3
nz.co.gregs.dbvolution.columns.BooleanArrayColumn 1
nz.co.gregs.dbvolution.columns.BooleanColumn 1
nz.co.gregs.dbvolution.columns.ByteArrayColumn 1
nz.co.gregs.dbvolution.columns.DateColumn 1
nz.co.gregs.dbvolution.columns.DateRepeatColumn 1
nz.co.gregs.dbvolution.columns.DurationColumn 1
nz.co.gregs.dbvolution.columns.InstantColumn 1
nz.co.gregs.dbvolution.columns.IntegerColumn 1
nz.co.gregs.dbvolution.columns.JavaObjectColumn 1
nz.co.gregs.dbvolution.columns.LargeBinaryColumn 1
nz.co.gregs.dbvolution.columns.LargeObjectColumn 1
nz.co.gregs.dbvolution.columns.LargeTextColumn 1
nz.co.gregs.dbvolution.columns.Line2DColumn 1
nz.co.gregs.dbvolution.columns.LineSegment2DColumn 2
nz.co.gregs.dbvolution.columns.LocalDateColumn 1
nz.co.gregs.dbvolution.columns.LocalDateTimeColumn 1
nz.co.gregs.dbvolution.columns.MultiPoint2DColumn 2
nz.co.gregs.dbvolution.columns.NumberColumn 1
nz.co.gregs.dbvolution.columns.Point2DColumn 2
nz.co.gregs.dbvolution.columns.Polygon2DColumn 1
nz.co.gregs.dbvolution.columns.QueryColumn 4
nz.co.gregs.dbvolution.columns.StringColumn 1
nz.co.gregs.dbvolution.columns.UUIDColumn 1
nz.co.gregs.dbvolution.columns.UntypedColumn 1
nz.co.gregs.dbvolution.databases.DBDatabaseCluster 2
nz.co.gregs.dbvolution.databases.DBDatabaseHandle 3
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation 10
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation$ResponseToException 1
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation$RunRegularProcessors 1
nz.co.gregs.dbvolution.databases.DBStatement 3
nz.co.gregs.dbvolution.databases.DBStatementCluster 1
nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings 7
nz.co.gregs.dbvolution.databases.H2DB 1
nz.co.gregs.dbvolution.databases.H2MemoryDB 1
nz.co.gregs.dbvolution.databases.H2SharedDB 1
nz.co.gregs.dbvolution.databases.IncompleteTransaction 2
nz.co.gregs.dbvolution.databases.MySQLDB_5_7 1
nz.co.gregs.dbvolution.databases.connections.DBConnectionCluster 1
nz.co.gregs.dbvolution.databases.connections.DBConnectionSingle 2
nz.co.gregs.dbvolution.databases.definitions.SQLiteDefinition 1
nz.co.gregs.dbvolution.databases.metadata.DBDatabaseMetaData 4
nz.co.gregs.dbvolution.databases.metadata.Options 4
nz.co.gregs.dbvolution.databases.metadata.TableMetaData 4
nz.co.gregs.dbvolution.databases.metadata.TableMetaData$Column 2
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractH2SettingsBuilder 3
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractInformixSettingsBuilder 2
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractJavaDBSettingsBuilder 2
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractMSSQLServerSettingsBuilder 2
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractMySQLSettingsBuilder 2
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractOracleSettingsBuilder 1
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractPostgresSettingsBuilder 3
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractSettingsBuilder 1
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractVendorSettingsBuilder 1
nz.co.gregs.dbvolution.databases.settingsbuilders.DBDatabaseClusterSettingsBuilder 3
nz.co.gregs.dbvolution.databases.settingsbuilders.MariaClusterDBSettingsBuilder 2
nz.co.gregs.dbvolution.databases.settingsbuilders.MariaDBSettingsBuilder 1
nz.co.gregs.dbvolution.databases.settingsbuilders.MySQLMXJDBSettingsBuilder 1
nz.co.gregs.dbvolution.databases.settingsbuilders.NuoDBSettingsBuilder 2
nz.co.gregs.dbvolution.databases.settingsbuilders.PostgresOverSSLSettingsBuilder 1
nz.co.gregs.dbvolution.databases.settingsbuilders.SQLiteSettingsBuilder 1
nz.co.gregs.dbvolution.datatypes.DBLargeBinary 1
nz.co.gregs.dbvolution.datatypes.DBLargeText 1
nz.co.gregs.dbvolution.datatypes.DBLocalDate 1
nz.co.gregs.dbvolution.datatypes.DBNumberStatistics 4
nz.co.gregs.dbvolution.datatypes.InternalQueryableDatatypeProxy 1
nz.co.gregs.dbvolution.datatypes.QueryableDatatype 5
nz.co.gregs.dbvolution.datatypes.QueryableDatatypeSyncer 2
nz.co.gregs.dbvolution.exceptions.DBRuntimeException 1
nz.co.gregs.dbvolution.expressions.BooleanExpression$NegateExpression 1
nz.co.gregs.dbvolution.expressions.IntegerExpression$LagExpression 1
nz.co.gregs.dbvolution.expressions.IntegerExpression$LeadExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$ChooseFromStringsExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$DivideByExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$ExponentialExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$HyperbolicCosineExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$HyperbolicTangentExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$IfDBNullExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$IntegerResultExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$InverseSineExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$LagExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$LeadExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$ModulusRemainderExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$RoundExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$RoundToNumberofDecimalPlaces 1
nz.co.gregs.dbvolution.expressions.NumberExpression$StandardDeviationExpression 1
nz.co.gregs.dbvolution.expressions.NumberExpression$TruncateExpression 1
nz.co.gregs.dbvolution.expressions.SortProvider 5
nz.co.gregs.dbvolution.expressions.StringExpression$StringAggregateWithOrderByExpression 1
nz.co.gregs.dbvolution.expressions.StringExpression$Substring 1
nz.co.gregs.dbvolution.expressions.windows.WindowFunctionFramable 1
nz.co.gregs.dbvolution.expressions.windows.WindowFunctionFramable$FrameStart 1
nz.co.gregs.dbvolution.expressions.windows.WindowFunctionRequiresOrderBy 1
nz.co.gregs.dbvolution.generation.DBTableClass 1
nz.co.gregs.dbvolution.generation.Utility 2
nz.co.gregs.dbvolution.generation.deprecated.DBTableClass 1
nz.co.gregs.dbvolution.generation.deprecated.DBTableClassGenerator 1
nz.co.gregs.dbvolution.generation.deprecated.DataRepo 1
nz.co.gregs.dbvolution.generation.deprecated.DataRepo$JavaSourceFromString 1
nz.co.gregs.dbvolution.internal.database.ClusterCleanupActions 3
nz.co.gregs.dbvolution.internal.database.ClusterDetails 13
nz.co.gregs.dbvolution.internal.properties.JavaField 1
nz.co.gregs.dbvolution.internal.properties.PropertyTypeHandler 2
nz.co.gregs.dbvolution.internal.properties.PropertyWrapper 5
nz.co.gregs.dbvolution.internal.properties.RowDefinitionClassWrapper 2
nz.co.gregs.dbvolution.internal.properties.RowDefinitionInstanceWrapper 6
nz.co.gregs.dbvolution.internal.properties.TableHandler 1
nz.co.gregs.dbvolution.internal.query.DBRowClass 1
nz.co.gregs.dbvolution.internal.query.ExtraQueryParameters 1
nz.co.gregs.dbvolution.internal.query.QueryCanceller 2
nz.co.gregs.dbvolution.internal.query.QueryDetails 2
nz.co.gregs.dbvolution.internal.query.QueryOptions 3
nz.co.gregs.dbvolution.internal.query.QueryState 3
nz.co.gregs.dbvolution.internal.query.QueryTimeout 3
nz.co.gregs.dbvolution.internal.query.QueryTimeout$TimeOut 1
nz.co.gregs.dbvolution.internal.query.RecursiveQueryDetails 6
nz.co.gregs.dbvolution.internal.query.StatementDetails 6
nz.co.gregs.dbvolution.internal.querygraph.QueryGraph 1
nz.co.gregs.dbvolution.internal.querygraph.QueryGraphEdgeLabelTransformer 1
nz.co.gregs.dbvolution.internal.querygraph.QueryGraphEdgeStrokeTransformer 1
nz.co.gregs.dbvolution.internal.querygraph.QueryGraphNode 1
nz.co.gregs.dbvolution.query.TreeNode 3
nz.co.gregs.dbvolution.utility.Brake 1
nz.co.gregs.dbvolution.utility.RegularProcess 1
nz.co.gregs.dbvolution.utility.StringInBlocks 2
nz.co.gregs.dbvolution.utility.encryption.Encryption_BASE64_AES_CBC_PKCS5Padding 1

nz.co.gregs.dbvolution.DBMigration

Bug Category Details Line Priority
Impossible downcast of toArray() result to nz.co.gregs.dbvolution.DBRow[] in nz.co.gregs.dbvolution.DBMigration.getOptionalTables() CORRECTNESS BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY 582 High
nz.co.gregs.dbvolution.DBMigration.getMapper() may expose internal representation by returning DBMigration.mapper MALICIOUS_CODE EI_EXPOSE_REP 575 Medium

nz.co.gregs.dbvolution.DBQuery

Bug Category Details Line Priority
nz.co.gregs.dbvolution.DBQuery.getDatabase() may expose internal representation by returning DBQuery.database MALICIOUS_CODE EI_EXPOSE_REP 2112 Medium
nz.co.gregs.dbvolution.DBQuery.getQueryDetails() may expose internal representation by returning DBQuery.details MALICIOUS_CODE EI_EXPOSE_REP 94 Medium
Nullcheck of examples at line 239 of value previously dereferenced in nz.co.gregs.dbvolution.DBQuery.addOptional(DBRow[]) CORRECTNESS RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE 238 Medium

nz.co.gregs.dbvolution.DBQueryInsert

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.DBQueryInsert(DBDatabase, DBRow) may expose internal representation by storing an externally mutable object into DBQueryInsert.database MALICIOUS_CODE EI_EXPOSE_REP2 112 Medium
new nz.co.gregs.dbvolution.DBQueryInsert(DBDatabase, DBRow) may expose internal representation by storing an externally mutable object into DBQueryInsert.mapper MALICIOUS_CODE EI_EXPOSE_REP2 113 Medium

nz.co.gregs.dbvolution.DBQueryRow

Bug Category Details Line Priority
nz.co.gregs.dbvolution.DBQueryRow.getExpressionColumns() may expose internal representation by returning DBQueryRow.expressionColumnValues MALICIOUS_CODE EI_EXPOSE_REP 122 Medium
new nz.co.gregs.dbvolution.DBQueryRow(QueryDetails) may expose internal representation by storing an externally mutable object into DBQueryRow.baseQuery MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium

nz.co.gregs.dbvolution.DBTable$DifferingRows

Bug Category Details Line Priority
nz.co.gregs.dbvolution.DBTable$DifferingRows.getDifferingRows() may expose internal representation by returning DBTable$DifferingRows.differing MALICIOUS_CODE EI_EXPOSE_REP 915 Medium
nz.co.gregs.dbvolution.DBTable$DifferingRows.getNotFoundRows() may expose internal representation by returning DBTable$DifferingRows.notFound MALICIOUS_CODE EI_EXPOSE_REP 911 Medium

nz.co.gregs.dbvolution.DBValidation

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.DBValidation(DBQueryInsert, DBRow, DBRow[]) may expose internal representation by storing an externally mutable object into DBValidation.mapper MALICIOUS_CODE EI_EXPOSE_REP2 64 Medium
new nz.co.gregs.dbvolution.DBValidation(DBQueryInsert, DBRow, DBRow[]) may expose internal representation by storing an externally mutable object into DBValidation.sourceMigration MALICIOUS_CODE EI_EXPOSE_REP2 63 Medium

nz.co.gregs.dbvolution.actions.DBAction

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.actions.DBAction(DBRow, QueryIntention) may expose internal representation by storing an externally mutable object into DBAction.row MALICIOUS_CODE EI_EXPOSE_REP2 80 Medium
Load of known null value in new nz.co.gregs.dbvolution.actions.DBAction(DBRow, QueryIntention) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 80 Medium

nz.co.gregs.dbvolution.actions.DBAlterTableAddColumnIfNeeded

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.actions.DBAlterTableAddColumnIfNeeded(DBRow, PropertyWrapper) may expose internal representation by storing an externally mutable object into DBAlterTableAddColumnIfNeeded.columnPropertyWrapper MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium
new nz.co.gregs.dbvolution.actions.DBAlterTableAddColumnIfNeeded(DBRow, PropertyWrapper) may expose internal representation by storing an externally mutable object into DBAlterTableAddColumnIfNeeded.existingTable MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium

nz.co.gregs.dbvolution.actions.DBInsert

Bug Category Details Line Priority
nz.co.gregs.dbvolution.actions.DBInsert.getGeneratedPrimaryKeys() may expose internal representation by returning DBInsert.generatedKeys MALICIOUS_CODE EI_EXPOSE_REP 450 Medium

nz.co.gregs.dbvolution.actions.DBMigrationAction

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.actions.DBMigrationAction(DBMigration, DBRow, DBRow[]) may expose internal representation by storing an externally mutable object into DBMigrationAction.sourceMigration MALICIOUS_CODE EI_EXPOSE_REP2 61 Medium

nz.co.gregs.dbvolution.actions.DBQueryInsertAction

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.actions.DBQueryInsertAction(DBQueryInsert, DBRow, DBRow[]) may expose internal representation by storing an externally mutable object into DBQueryInsertAction.sourceMigration MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium

nz.co.gregs.dbvolution.columns.AbstractColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.AbstractColumn.getPropertyWrapper() may expose internal representation by returning AbstractColumn.propertyWrapper MALICIOUS_CODE EI_EXPOSE_REP 139 Medium
new nz.co.gregs.dbvolution.columns.AbstractColumn(RowDefinition, Object) may expose internal representation by storing an externally mutable object into AbstractColumn.dbrow MALICIOUS_CODE EI_EXPOSE_REP2 68 Medium

nz.co.gregs.dbvolution.columns.AbstractQueryColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.AbstractQueryColumn.getField() may expose internal representation by returning AbstractQueryColumn.field MALICIOUS_CODE EI_EXPOSE_REP 186 Medium
new nz.co.gregs.dbvolution.columns.AbstractQueryColumn(DBQuery, QueryableDatatype) may expose internal representation by storing an externally mutable object into AbstractQueryColumn.field MALICIOUS_CODE EI_EXPOSE_REP2 69 Medium
new nz.co.gregs.dbvolution.columns.AbstractQueryColumn(DBQuery, QueryableDatatype) may expose internal representation by storing an externally mutable object into AbstractQueryColumn.query MALICIOUS_CODE EI_EXPOSE_REP2 68 Medium

nz.co.gregs.dbvolution.columns.BooleanArrayColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.BooleanArrayColumn.getColumn() may expose internal representation by returning BooleanArrayColumn.column MALICIOUS_CODE EI_EXPOSE_REP 91 Medium

nz.co.gregs.dbvolution.columns.BooleanColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.BooleanColumn.getColumn() may expose internal representation by returning BooleanColumn.column MALICIOUS_CODE EI_EXPOSE_REP 92 Medium

nz.co.gregs.dbvolution.columns.ByteArrayColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.ByteArrayColumn.getColumn() may expose internal representation by returning ByteArrayColumn.column MALICIOUS_CODE EI_EXPOSE_REP 57 Medium

nz.co.gregs.dbvolution.columns.DateColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.DateColumn.getColumn() may expose internal representation by returning DateColumn.column MALICIOUS_CODE EI_EXPOSE_REP 100 Medium

nz.co.gregs.dbvolution.columns.DateRepeatColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.DateRepeatColumn.getColumn() may expose internal representation by returning DateRepeatColumn.column MALICIOUS_CODE EI_EXPOSE_REP 80 Medium

nz.co.gregs.dbvolution.columns.DurationColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.DurationColumn.getColumn() may expose internal representation by returning DurationColumn.column MALICIOUS_CODE EI_EXPOSE_REP 80 Medium

nz.co.gregs.dbvolution.columns.InstantColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.InstantColumn.getColumn() may expose internal representation by returning InstantColumn.column MALICIOUS_CODE EI_EXPOSE_REP 93 Medium

nz.co.gregs.dbvolution.columns.IntegerColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.IntegerColumn.getColumn() may expose internal representation by returning IntegerColumn.column MALICIOUS_CODE EI_EXPOSE_REP 120 Medium

nz.co.gregs.dbvolution.columns.JavaObjectColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.JavaObjectColumn.getColumn() may expose internal representation by returning JavaObjectColumn.column MALICIOUS_CODE EI_EXPOSE_REP 57 Medium

nz.co.gregs.dbvolution.columns.LargeBinaryColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.LargeBinaryColumn.getColumn() may expose internal representation by returning LargeBinaryColumn.column MALICIOUS_CODE EI_EXPOSE_REP 57 Medium

nz.co.gregs.dbvolution.columns.LargeObjectColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.LargeObjectColumn.getColumn() may expose internal representation by returning LargeObjectColumn.column MALICIOUS_CODE EI_EXPOSE_REP 73 Medium

nz.co.gregs.dbvolution.columns.LargeTextColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.LargeTextColumn.getColumn() may expose internal representation by returning LargeTextColumn.column MALICIOUS_CODE EI_EXPOSE_REP 57 Medium

nz.co.gregs.dbvolution.columns.Line2DColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.Line2DColumn.getColumn() may expose internal representation by returning Line2DColumn.column MALICIOUS_CODE EI_EXPOSE_REP 66 Medium

nz.co.gregs.dbvolution.columns.LineSegment2DColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.LineSegment2DColumn.getColumn() may expose internal representation by returning LineSegment2DColumn.column MALICIOUS_CODE EI_EXPOSE_REP 59 Medium
nz.co.gregs.dbvolution.columns.LineSegment2DColumn overrides equals in nz.co.gregs.dbvolution.expressions.spatial2D.LineSegment2DExpression and may not be symmetric CORRECTNESS EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC 89 Medium

nz.co.gregs.dbvolution.columns.LocalDateColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.LocalDateColumn.getColumn() may expose internal representation by returning LocalDateColumn.column MALICIOUS_CODE EI_EXPOSE_REP 100 Medium

nz.co.gregs.dbvolution.columns.LocalDateTimeColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.LocalDateTimeColumn.getColumn() may expose internal representation by returning LocalDateTimeColumn.column MALICIOUS_CODE EI_EXPOSE_REP 93 Medium

nz.co.gregs.dbvolution.columns.MultiPoint2DColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.MultiPoint2DColumn.getColumn() may expose internal representation by returning MultiPoint2DColumn.column MALICIOUS_CODE EI_EXPOSE_REP 59 Medium
nz.co.gregs.dbvolution.columns.MultiPoint2DColumn overrides equals in nz.co.gregs.dbvolution.expressions.spatial2D.MultiPoint2DExpression and may not be symmetric CORRECTNESS EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC 89 Medium

nz.co.gregs.dbvolution.columns.NumberColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.NumberColumn.getColumn() may expose internal representation by returning NumberColumn.column MALICIOUS_CODE EI_EXPOSE_REP 108 Medium

nz.co.gregs.dbvolution.columns.Point2DColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.Point2DColumn.getColumn() may expose internal representation by returning Point2DColumn.column MALICIOUS_CODE EI_EXPOSE_REP 59 Medium
nz.co.gregs.dbvolution.columns.Point2DColumn overrides equals in nz.co.gregs.dbvolution.expressions.spatial2D.Point2DExpression and may not be symmetric CORRECTNESS EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC 89 Medium

nz.co.gregs.dbvolution.columns.Polygon2DColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.Polygon2DColumn.getColumn() may expose internal representation by returning Polygon2DColumn.column MALICIOUS_CODE EI_EXPOSE_REP 58 Medium

nz.co.gregs.dbvolution.columns.QueryColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.QueryColumn.getColumn() may expose internal representation by returning QueryColumn.column MALICIOUS_CODE EI_EXPOSE_REP 88 Medium
nz.co.gregs.dbvolution.columns.QueryColumn.getQueryableDatatypeForExpressionValue() may expose internal representation by returning QueryColumn.field MALICIOUS_CODE EI_EXPOSE_REP 135 Medium
new nz.co.gregs.dbvolution.columns.QueryColumn(DBQuery, QueryableDatatype) may expose internal representation by storing an externally mutable object into QueryColumn.field MALICIOUS_CODE EI_EXPOSE_REP2 72 Medium
new nz.co.gregs.dbvolution.columns.QueryColumn(DBQuery, QueryableDatatype) may expose internal representation by storing an externally mutable object into QueryColumn.query MALICIOUS_CODE EI_EXPOSE_REP2 71 Medium

nz.co.gregs.dbvolution.columns.StringColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.StringColumn.getColumn() may expose internal representation by returning StringColumn.column MALICIOUS_CODE EI_EXPOSE_REP 111 Medium

nz.co.gregs.dbvolution.columns.UUIDColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.UUIDColumn.getColumn() may expose internal representation by returning UUIDColumn.column MALICIOUS_CODE EI_EXPOSE_REP 57 Medium

nz.co.gregs.dbvolution.columns.UntypedColumn

Bug Category Details Line Priority
nz.co.gregs.dbvolution.columns.UntypedColumn.getColumn() may expose internal representation by returning UntypedColumn.column MALICIOUS_CODE EI_EXPOSE_REP 82 Medium

nz.co.gregs.dbvolution.databases.DBDatabaseCluster

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.DBDatabaseCluster.getDetails() may expose internal representation by returning DBDatabaseCluster.details MALICIOUS_CODE EI_EXPOSE_REP 155 Medium
Exception is caught when Exception is not thrown in nz.co.gregs.dbvolution.databases.DBDatabaseCluster.doTransaction(DBTransaction, Boolean) STYLE REC_CATCH_EXCEPTION 923 Medium

nz.co.gregs.dbvolution.databases.DBDatabaseHandle

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.DBDatabaseHandle defines clone() but doesn't implement Cloneable BAD_PRACTICE CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE 579 High
new nz.co.gregs.dbvolution.databases.DBDatabaseHandle(DBDatabase) may expose internal representation by storing an externally mutable object into DBDatabaseHandle.wrappedDatabase MALICIOUS_CODE EI_EXPOSE_REP2 542 Medium
nz.co.gregs.dbvolution.databases.DBDatabaseHandle.setDatabase(DBDatabase) may expose internal representation by storing an externally mutable object into DBDatabaseHandle.wrappedDatabase MALICIOUS_CODE EI_EXPOSE_REP2 546 Medium

nz.co.gregs.dbvolution.databases.DBDatabaseImplementation

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.getConnection() may expose internal representation by returning DBDatabaseImplementation.transactionConnection MALICIOUS_CODE EI_EXPOSE_REP 389 Medium
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.getDefinition() may expose internal representation by returning DBDatabaseImplementation.definition MALICIOUS_CODE EI_EXPOSE_REP 1587 Medium
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.getLastException() may expose internal representation by returning DBDatabaseImplementation.exception MALICIOUS_CODE EI_EXPOSE_REP 2068 Medium
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.getRegularProcessors() may expose internal representation by returning DBDatabaseImplementation.REGULAR_PROCESSORS MALICIOUS_CODE EI_EXPOSE_REP 2582 Medium
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.getSettings() may expose internal representation by returning DBDatabaseImplementation.settings MALICIOUS_CODE EI_EXPOSE_REP 2361 Medium
nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.setLastException(Throwable) may expose internal representation by storing an externally mutable object into DBDatabaseImplementation.exception MALICIOUS_CODE EI_EXPOSE_REP2 2064 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.definition; locked 83% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 281 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.preventAccidentalDeletingAllRowFromTable; locked 66% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 2165 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.storedConnection; locked 60% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 194 Medium
Exception is caught when Exception is not thrown in nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.checkTableExistsViaQuery(DBRow) STYLE REC_CATCH_EXCEPTION 2277 Medium
Exception is caught when Exception is not thrown in nz.co.gregs.dbvolution.databases.DBDatabaseImplementation.stop() STYLE REC_CATCH_EXCEPTION 2483 Medium

nz.co.gregs.dbvolution.databases.DBDatabaseImplementation$ResponseToException

Bug Category Details Line Priority
Class nz.co.gregs.dbvolution.databases.DBDatabaseImplementation$ResponseToException is not derived from an Exception, even though it is named as such BAD_PRACTICE NM_CLASS_NOT_EXCEPTION 2178 Medium

nz.co.gregs.dbvolution.databases.DBDatabaseImplementation$RunRegularProcessors

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.databases.DBDatabaseImplementation$RunRegularProcessors(DBDatabaseImplementation) may expose internal representation by storing an externally mutable object into DBDatabaseImplementation$RunRegularProcessors.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 2537 Medium

nz.co.gregs.dbvolution.databases.DBStatement

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.DBStatement.getConnection() may expose internal representation by returning DBStatement.connection MALICIOUS_CODE EI_EXPOSE_REP 854 Medium
new nz.co.gregs.dbvolution.databases.DBStatement(DBDatabase, DBConnection) may expose internal representation by storing an externally mutable object into DBStatement.connection MALICIOUS_CODE EI_EXPOSE_REP2 75 Medium
new nz.co.gregs.dbvolution.databases.DBStatement(DBDatabase, DBConnection) may expose internal representation by storing an externally mutable object into DBStatement.database MALICIOUS_CODE EI_EXPOSE_REP2 74 Medium

nz.co.gregs.dbvolution.databases.DBStatementCluster

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.databases.DBStatementCluster(DBDatabaseCluster) may expose internal representation by storing an externally mutable object into DBStatementCluster.databaseCluster MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium

nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings.getDataSource() may expose internal representation by returning DatabaseConnectionSettings.dataSource MALICIOUS_CODE EI_EXPOSE_REP 987 Medium
nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings.getExtras() may expose internal representation by returning DatabaseConnectionSettings.extras MALICIOUS_CODE EI_EXPOSE_REP 843 Medium
nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings.setDataSource(DataSource) may expose internal representation by storing an externally mutable object into DatabaseConnectionSettings.dataSource MALICIOUS_CODE EI_EXPOSE_REP2 982 Medium
nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings defines equals(DatabaseConnectionSettings) method and uses Object.equals(Object) CORRECTNESS EQ_SELF_USE_OBJECT 267 Medium
nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings defines equals and uses Object.hashCode() BAD_PRACTICE HE_EQUALS_USE_HASHCODE 267 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings.encoded; locked 75% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 1089 Medium
Class nz.co.gregs.dbvolution.databases.DatabaseConnectionSettings defines non-transient non-serializable instance field dataSource BAD_PRACTICE SE_BAD_FIELD Medium

nz.co.gregs.dbvolution.databases.H2DB

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.H2DB.getURLInterpreter() may expose internal representation by returning H2DB.URL_PROCESSOR MALICIOUS_CODE EI_EXPOSE_REP 315 Medium

nz.co.gregs.dbvolution.databases.H2MemoryDB

Bug Category Details Line Priority

nz.co.gregs.dbvolution.databases.H2SharedDB

Bug Category Details Line Priority
Class nz.co.gregs.dbvolution.databases.H2SharedDB defines non-transient non-serializable instance field server BAD_PRACTICE SE_BAD_FIELD Medium

nz.co.gregs.dbvolution.databases.IncompleteTransaction

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.IncompleteTransaction.getDatabase() may expose internal representation by returning IncompleteTransaction.database MALICIOUS_CODE EI_EXPOSE_REP 50 Medium
new nz.co.gregs.dbvolution.databases.IncompleteTransaction(DBDatabase, Object) may expose internal representation by storing an externally mutable object into IncompleteTransaction.database MALICIOUS_CODE EI_EXPOSE_REP2 54 Medium

nz.co.gregs.dbvolution.databases.MySQLDB_5_7

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.MySQLDB_5_7.getURLInterpreter() may expose internal representation by returning MySQLDB_5_7.urlProcessor MALICIOUS_CODE EI_EXPOSE_REP 141 Medium

nz.co.gregs.dbvolution.databases.connections.DBConnectionCluster

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.databases.connections.DBConnectionCluster(DBDatabaseCluster) may expose internal representation by storing an externally mutable object into DBConnectionCluster.databaseCluster MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium

nz.co.gregs.dbvolution.databases.connections.DBConnectionSingle

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.databases.connections.DBConnectionSingle(DBDatabase, Connection) may expose internal representation by storing an externally mutable object into DBConnectionSingle.connection MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium
new nz.co.gregs.dbvolution.databases.connections.DBConnectionSingle(DBDatabase, Connection) may expose internal representation by storing an externally mutable object into DBConnectionSingle.database MALICIOUS_CODE EI_EXPOSE_REP2 61 Medium

nz.co.gregs.dbvolution.databases.definitions.SQLiteDefinition

Bug Category Details Line Priority
Call to method of static java.text.DateFormat in nz.co.gregs.dbvolution.databases.definitions.SQLiteDefinition.getDateFormattedForQuery(Date) MT_CORRECTNESS STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE 62 Medium

nz.co.gregs.dbvolution.databases.metadata.DBDatabaseMetaData

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.metadata.DBDatabaseMetaData.getDatabase() may expose internal representation by returning DBDatabaseMetaData.database MALICIOUS_CODE EI_EXPOSE_REP 237 Medium
nz.co.gregs.dbvolution.databases.metadata.DBDatabaseMetaData.getTables() may expose internal representation by returning DBDatabaseMetaData.finalList MALICIOUS_CODE EI_EXPOSE_REP 230 Medium

nz.co.gregs.dbvolution.databases.metadata.Options

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.metadata.Options.getDBDatabase() may expose internal representation by returning Options.database MALICIOUS_CODE EI_EXPOSE_REP 147 Medium
nz.co.gregs.dbvolution.databases.metadata.Options.getObjectTypes() may expose internal representation by returning Options.objectTypes MALICIOUS_CODE EI_EXPOSE_REP 170 Medium
new nz.co.gregs.dbvolution.databases.metadata.Options(DBDatabase, String, Long, PrimaryKeyRecognisor, ForeignKeyRecognisor, Boolean, Boolean, String[]) may expose internal representation by storing an externally mutable object into Options.database MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium
nz.co.gregs.dbvolution.databases.metadata.Options.setDBDatabase(DBDatabase) may expose internal representation by storing an externally mutable object into Options.database MALICIOUS_CODE EI_EXPOSE_REP2 133 Medium

nz.co.gregs.dbvolution.databases.metadata.TableMetaData

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.metadata.TableMetaData.getColumns() may expose internal representation by returning TableMetaData.columns MALICIOUS_CODE EI_EXPOSE_REP 72 Medium
nz.co.gregs.dbvolution.databases.metadata.TableMetaData.getForeignKeys() may expose internal representation by returning TableMetaData.foreignKeys MALICIOUS_CODE EI_EXPOSE_REP 234 Medium
nz.co.gregs.dbvolution.databases.metadata.TableMetaData.getForeignKeys(String, String, String) may expose internal representation by returning TableMetaData.foreignKeys MALICIOUS_CODE EI_EXPOSE_REP 68 Medium
nz.co.gregs.dbvolution.databases.metadata.TableMetaData.getPrimaryKeys() may expose internal representation by returning TableMetaData.primaryKeys MALICIOUS_CODE EI_EXPOSE_REP 64 Medium

nz.co.gregs.dbvolution.databases.metadata.TableMetaData$Column

Bug Category Details Line Priority
Unread field: nz.co.gregs.dbvolution.databases.metadata.TableMetaData$Column.columnType PERFORMANCE URF_UNREAD_FIELD 173 Medium
Unread field: nz.co.gregs.dbvolution.databases.metadata.TableMetaData$Column.isForeignKey PERFORMANCE URF_UNREAD_FIELD 171 Medium
Unread field: nz.co.gregs.dbvolution.databases.metadata.TableMetaData$Column.isPrimaryKey PERFORMANCE URF_UNREAD_FIELD 170 Medium
Unread field: nz.co.gregs.dbvolution.databases.metadata.TableMetaData$Column.javaSQLDatatype PERFORMANCE URF_UNREAD_FIELD 176 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractH2SettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractH2SettingsBuilder.getClusterHosts() may expose internal representation by returning AbstractH2SettingsBuilder.clusterHost MALICIOUS_CODE EI_EXPOSE_REP 158 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractH2SettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning AbstractH2SettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 72 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractH2SettingsBuilder.DEFAULT_EXTRAS_MAP is a mutable collection which should be package protected MALICIOUS_CODE MS_MUTABLE_COLLECTION_PKGPROTECT 55 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractInformixSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractInformixSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning AbstractInformixSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 59 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractInformixSettingsBuilder.DEFAULT_EXTRAS_MAP is a mutable collection which should be package protected MALICIOUS_CODE MS_MUTABLE_COLLECTION_PKGPROTECT 54 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractJavaDBSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractJavaDBSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning AbstractJavaDBSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 73 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractJavaDBSettingsBuilder.DEFAULT_EXTRAS_MAP is a mutable collection which should be package protected MALICIOUS_CODE MS_MUTABLE_COLLECTION_PKGPROTECT 54 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractMSSQLServerSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractMSSQLServerSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning AbstractMSSQLServerSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 59 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractMSSQLServerSettingsBuilder.DEFAULT_EXTRAS_MAP is a mutable collection which should be package protected MALICIOUS_CODE MS_MUTABLE_COLLECTION_PKGPROTECT 54 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractMySQLSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractMySQLSettingsBuilder.getClusterHosts() may expose internal representation by returning AbstractMySQLSettingsBuilder.clusterHost MALICIOUS_CODE EI_EXPOSE_REP 185 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractMySQLSettingsBuilder.DEFAULT_EXTRAS_MAP is a mutable collection which should be package protected MALICIOUS_CODE MS_MUTABLE_COLLECTION_PKGPROTECT 58 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractOracleSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractOracleSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning AbstractOracleSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 70 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractPostgresSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractPostgresSettingsBuilder.getClusterHosts() may expose internal representation by returning AbstractPostgresSettingsBuilder.clusterHost MALICIOUS_CODE EI_EXPOSE_REP 127 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractPostgresSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning AbstractPostgresSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 62 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractPostgresSettingsBuilder.DEFAULT_EXTRAS_MAP is a mutable collection which should be package protected MALICIOUS_CODE MS_MUTABLE_COLLECTION_PKGPROTECT 57 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractSettingsBuilder.getStoredSettings() may expose internal representation by returning AbstractSettingsBuilder.storedSettingsInAbstractURLInterpreter MALICIOUS_CODE EI_EXPOSE_REP 161 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractVendorSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.AbstractVendorSettingsBuilder.setDefinition(DBDefinition) may expose internal representation by storing an externally mutable object into AbstractVendorSettingsBuilder.definition MALICIOUS_CODE EI_EXPOSE_REP2 65 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.DBDatabaseClusterSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.DBDatabaseClusterSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning DBDatabaseClusterSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 59 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.DBDatabaseClusterSettingsBuilder.getDefinition() may expose internal representation by returning DBDatabaseClusterSettingsBuilder.defn MALICIOUS_CODE EI_EXPOSE_REP 159 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.DBDatabaseClusterSettingsBuilder.setDefinition(DBDefinition) may expose internal representation by storing an externally mutable object into DBDatabaseClusterSettingsBuilder.defn MALICIOUS_CODE EI_EXPOSE_REP2 169 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.MariaClusterDBSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.MariaClusterDBSettingsBuilder.getClusterHosts() may expose internal representation by returning MariaClusterDBSettingsBuilder.clusterHost MALICIOUS_CODE EI_EXPOSE_REP 142 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.MariaClusterDBSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning MariaClusterDBSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 68 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.MariaDBSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.MariaDBSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning MariaDBSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 65 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.MySQLMXJDBSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.MySQLMXJDBSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning MySQLMXJDBSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 66 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.NuoDBSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.NuoDBSettingsBuilder.getClusterHosts() may expose internal representation by returning NuoDBSettingsBuilder.clusterHost MALICIOUS_CODE EI_EXPOSE_REP 149 Medium
nz.co.gregs.dbvolution.databases.settingsbuilders.NuoDBSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning NuoDBSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 70 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.PostgresOverSSLSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.PostgresOverSSLSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning PostgresOverSSLSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 53 Medium

nz.co.gregs.dbvolution.databases.settingsbuilders.SQLiteSettingsBuilder

Bug Category Details Line Priority
nz.co.gregs.dbvolution.databases.settingsbuilders.SQLiteSettingsBuilder.getDefaultConfigurationExtras() may expose internal representation by returning SQLiteSettingsBuilder.DEFAULT_EXTRAS_MAP MALICIOUS_CODE EI_EXPOSE_REP 70 Medium

nz.co.gregs.dbvolution.datatypes.DBLargeBinary

Bug Category Details Line Priority
Redundant nullcheck of bytes, which is known to be non-null in nz.co.gregs.dbvolution.datatypes.DBLargeBinary.getSize() STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 539 Medium

nz.co.gregs.dbvolution.datatypes.DBLargeText

Bug Category Details Line Priority
Found reliance on default encoding in nz.co.gregs.dbvolution.datatypes.DBLargeText.setLiteralValue(byte[]): new String(byte[]) I18N DM_DEFAULT_ENCODING 611 High

nz.co.gregs.dbvolution.datatypes.DBLocalDate

Bug Category Details Line Priority
Class nz.co.gregs.dbvolution.datatypes.DBLocalDate defines non-transient non-serializable instance field toStringFormat BAD_PRACTICE SE_BAD_FIELD Medium

nz.co.gregs.dbvolution.datatypes.DBNumberStatistics

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.datatypes.DBNumberStatistics(NumberExpression) may expose internal representation by storing an externally mutable object into DBNumberStatistics.originalExpression MALICIOUS_CODE EI_EXPOSE_REP2 86 Medium
Unwritten field: nz.co.gregs.dbvolution.datatypes.DBNumberStatistics.firstQuartileNumber CORRECTNESS UWF_UNWRITTEN_FIELD 166 Medium
Unwritten field: nz.co.gregs.dbvolution.datatypes.DBNumberStatistics.medianNumber CORRECTNESS UWF_UNWRITTEN_FIELD 147 Medium
Unwritten field: nz.co.gregs.dbvolution.datatypes.DBNumberStatistics.thirdQuartileNumber CORRECTNESS UWF_UNWRITTEN_FIELD 175 Medium

nz.co.gregs.dbvolution.datatypes.InternalQueryableDatatypeProxy

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.datatypes.InternalQueryableDatatypeProxy(QueryableDatatype) may expose internal representation by storing an externally mutable object into InternalQueryableDatatypeProxy.qdt MALICIOUS_CODE EI_EXPOSE_REP2 28 Medium

nz.co.gregs.dbvolution.datatypes.QueryableDatatype

Bug Category Details Line Priority
nz.co.gregs.dbvolution.datatypes.QueryableDatatype.getOperator() may expose internal representation by returning QueryableDatatype.operator MALICIOUS_CODE EI_EXPOSE_REP 745 Medium
nz.co.gregs.dbvolution.datatypes.QueryableDatatype.setOperator(DBOperator) may expose internal representation by storing an externally mutable object into QueryableDatatype.operator MALICIOUS_CODE EI_EXPOSE_REP2 753 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.datatypes.QueryableDatatype.literalValue; locked 80% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 301 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.datatypes.QueryableDatatype.setValueHasBeenCalled; locked 60% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 306 Medium
nz.co.gregs.dbvolution.datatypes.QueryableDatatype.SORT_UNSORTED isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 77 High

nz.co.gregs.dbvolution.datatypes.QueryableDatatypeSyncer

Bug Category Details Line Priority
nz.co.gregs.dbvolution.datatypes.QueryableDatatypeSyncer.getInternalQueryableDatatype() may expose internal representation by returning QueryableDatatypeSyncer.internalQdt MALICIOUS_CODE EI_EXPOSE_REP 100 Medium
nz.co.gregs.dbvolution.datatypes.QueryableDatatypeSyncer.setInternalQueryableDatatype(QueryableDatatype) may expose internal representation by storing an externally mutable object into QueryableDatatypeSyncer.internalQdt MALICIOUS_CODE EI_EXPOSE_REP2 115 Medium

nz.co.gregs.dbvolution.exceptions.DBRuntimeException

Bug Category Details Line Priority
Dead store to fillInStackTrace in new nz.co.gregs.dbvolution.exceptions.DBRuntimeException(String, Throwable) STYLE DLS_DEAD_LOCAL_STORE 59 Medium

nz.co.gregs.dbvolution.expressions.BooleanExpression$NegateExpression

Bug Category Details Line Priority
Should nz.co.gregs.dbvolution.expressions.BooleanExpression$NegateExpression be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 2818 Medium

nz.co.gregs.dbvolution.expressions.IntegerExpression$LagExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.IntegerExpression$LagExpression(IntegerExpression, IntegerExpression, IntegerExpression, IntegerExpression) may expose internal representation by storing an externally mutable object into IntegerExpression$LagExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 4900 Medium

nz.co.gregs.dbvolution.expressions.IntegerExpression$LeadExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.IntegerExpression$LeadExpression(IntegerExpression, IntegerExpression, IntegerExpression, IntegerExpression) may expose internal representation by storing an externally mutable object into IntegerExpression$LeadExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 4919 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$ChooseFromStringsExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$ChooseFromStringsExpression(NumberExpression, NumberResult, StringResult[]) may expose internal representation by storing an externally mutable object into NumberExpression$ChooseFromStringsExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 5281 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$DivideByExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$DivideByExpression(NumberExpression, NumberResult, NumberResult) may expose internal representation by storing an externally mutable object into NumberExpression$DivideByExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 5227 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$ExponentialExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$ExponentialExpression(NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$ExponentialExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 4596 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$HyperbolicCosineExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$HyperbolicCosineExpression(NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$HyperbolicCosineExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 4645 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$HyperbolicTangentExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$HyperbolicTangentExpression(NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$HyperbolicTangentExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 4711 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$IfDBNullExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$IfDBNullExpression(NumberExpression, NumberExpression, NumberResult) may expose internal representation by storing an externally mutable object into NumberExpression$IfDBNullExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 4570 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$IntegerResultExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$IntegerResultExpression(NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$IntegerResultExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 5162 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$InverseSineExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$InverseSineExpression(NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$InverseSineExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 4776 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$LagExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$LagExpression(NumberExpression, NumberExpression, IntegerExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$LagExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 3610 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$LeadExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$LeadExpression(NumberExpression, NumberExpression, IntegerExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$LeadExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 3629 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$ModulusRemainderExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$ModulusRemainderExpression(NumberExpression, NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$ModulusRemainderExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 5252 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$RoundExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$RoundExpression(NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$RoundExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 5065 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$RoundToNumberofDecimalPlaces

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$RoundToNumberofDecimalPlaces(NumberExpression, NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$RoundToNumberofDecimalPlaces.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 5088 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$StandardDeviationExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$StandardDeviationExpression(NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$StandardDeviationExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 5338 Medium

nz.co.gregs.dbvolution.expressions.NumberExpression$TruncateExpression

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.NumberExpression$TruncateExpression(NumberExpression, NumberExpression) may expose internal representation by storing an externally mutable object into NumberExpression$TruncateExpression.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 5139 Medium

nz.co.gregs.dbvolution.expressions.SortProvider

Bug Category Details Line Priority
instanceof will always return false in nz.co.gregs.dbvolution.expressions.SortProvider.usesEmptyStringForNull(DBDefinition), since a nz.co.gregs.dbvolution.datatypes.QueryableDatatype can't be a nz.co.gregs.dbvolution.expressions.StringExpression CORRECTNESS BC_IMPOSSIBLE_INSTANCEOF 305 Medium
nz.co.gregs.dbvolution.expressions.SortProvider.getQueryColumn() may expose internal representation by returning SortProvider.queryColumn MALICIOUS_CODE EI_EXPOSE_REP 265 Medium
new nz.co.gregs.dbvolution.expressions.SortProvider(AbstractColumn) may expose internal representation by storing an externally mutable object into SortProvider.innerColumn MALICIOUS_CODE EI_EXPOSE_REP2 120 Medium
new nz.co.gregs.dbvolution.expressions.SortProvider(QueryColumn) may expose internal representation by storing an externally mutable object into SortProvider.queryColumn MALICIOUS_CODE EI_EXPOSE_REP2 125 Medium
nz.co.gregs.dbvolution.expressions.SortProvider.setQueryColumn(QueryColumn) may expose internal representation by storing an externally mutable object into SortProvider.queryColumn MALICIOUS_CODE EI_EXPOSE_REP2 261 Medium

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

Bug Category Details Line Priority
Null passed for non-null parameter of new StringExpression$StringAggregateWithOrderByExpression(StringExpression, String, SortProvider) in nz.co.gregs.dbvolution.expressions.StringExpression$StringAggregateWithOrderByExpression.copy() CORRECTNESS NP_NULL_PARAM_DEREF 3853 High

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

Bug Category Details Line Priority
Null passed for non-null parameter of new StringExpression$Substring(ExpressionHasStandardStringResult, IntegerResult, IntegerResult) in nz.co.gregs.dbvolution.expressions.StringExpression$Substring.copy() CORRECTNESS NP_NULL_PARAM_DEREF 3244 High

nz.co.gregs.dbvolution.expressions.windows.WindowFunctionFramable

Bug Category Details Line Priority
The method name nz.co.gregs.dbvolution.expressions.windows.WindowFunctionFramable.AllRowsAndOrderBy(SortProvider[]) doesn't start with a lower case letter BAD_PRACTICE NM_METHOD_NAMING_CONVENTION 87 Medium

nz.co.gregs.dbvolution.expressions.windows.WindowFunctionFramable$FrameStart

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.expressions.windows.WindowFunctionFramable$FrameStart(WindowFunctionFramable$FrameType, IntegerExpression) may expose internal representation by storing an externally mutable object into WindowFunctionFramable$FrameStart.offset MALICIOUS_CODE EI_EXPOSE_REP2 624 Medium

nz.co.gregs.dbvolution.expressions.windows.WindowFunctionRequiresOrderBy

Bug Category Details Line Priority
The method name nz.co.gregs.dbvolution.expressions.windows.WindowFunctionRequiresOrderBy.AllRowsAndOrderBy(SortProvider, SortProvider[]) doesn't start with a lower case letter BAD_PRACTICE NM_METHOD_NAMING_CONVENTION 72 Medium

nz.co.gregs.dbvolution.generation.DBTableClass

Bug Category Details Line Priority
nz.co.gregs.dbvolution.generation.DBTableClass.getFields() may expose internal representation by returning DBTableClass.fields MALICIOUS_CODE EI_EXPOSE_REP 83 Medium

nz.co.gregs.dbvolution.generation.Utility

Bug Category Details Line Priority
nz.co.gregs.dbvolution.generation.Utility.JAVA_RESERVED_WORDS is a mutable collection which should be package protected MALICIOUS_CODE MS_MUTABLE_COLLECTION_PKGPROTECT 52 Medium
nz.co.gregs.dbvolution.generation.Utility.JAVA_RESERVED_WORDS_ARRAY should be package protected MALICIOUS_CODE MS_PKGPROTECT 51 Medium

nz.co.gregs.dbvolution.generation.deprecated.DBTableClass

Bug Category Details Line Priority
nz.co.gregs.dbvolution.generation.deprecated.DBTableClass.getFields() may expose internal representation by returning DBTableClass.fields MALICIOUS_CODE EI_EXPOSE_REP 177 Medium

nz.co.gregs.dbvolution.generation.deprecated.DBTableClassGenerator

Bug Category Details Line Priority

nz.co.gregs.dbvolution.generation.deprecated.DataRepo

Bug Category Details Line Priority
nz.co.gregs.dbvolution.generation.deprecated.DataRepo.getDatabase() may expose internal representation by returning DataRepo.database MALICIOUS_CODE EI_EXPOSE_REP 134 Medium

nz.co.gregs.dbvolution.generation.deprecated.DataRepo$JavaSourceFromString

Bug Category Details Line Priority
Should nz.co.gregs.dbvolution.generation.deprecated.DataRepo$JavaSourceFromString be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 261 Medium

nz.co.gregs.dbvolution.internal.database.ClusterCleanupActions

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.internal.database.ClusterCleanupActions(ClusterDetails, Log, ExecutorService) may expose internal representation by storing an externally mutable object into ClusterCleanupActions.details MALICIOUS_CODE EI_EXPOSE_REP2 69 Medium
Class nz.co.gregs.dbvolution.internal.database.ClusterCleanupActions defines non-transient non-serializable instance field actionThreadPool BAD_PRACTICE SE_BAD_FIELD Medium
Class nz.co.gregs.dbvolution.internal.database.ClusterCleanupActions defines non-transient non-serializable instance field log BAD_PRACTICE SE_BAD_FIELD Medium

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

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.database.ClusterDetails.getReadyDatabase() may expose internal representation by returning ClusterDetails.preferredDatabase MALICIOUS_CODE EI_EXPOSE_REP 348 Medium
nz.co.gregs.dbvolution.internal.database.ClusterDetails.setClusterSettings(DatabaseConnectionSettings) may expose internal representation by storing an externally mutable object into ClusterDetails.clusterSettings MALICIOUS_CODE EI_EXPOSE_REP2 920 Medium
nz.co.gregs.dbvolution.internal.database.ClusterDetails.setPreferredDatabase(DBDatabase) may expose internal representation by storing an externally mutable object into ClusterDetails.preferredDatabase MALICIOUS_CODE EI_EXPOSE_REP2 928 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.internal.database.ClusterDetails.clusterLabel; locked 86% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 547 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.internal.database.ClusterDetails.clusterSettings; locked 50% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 920 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.internal.database.ClusterDetails.quietExceptions; locked 66% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 625 Medium
Exception is caught when Exception is not thrown in nz.co.gregs.dbvolution.internal.database.ClusterDetails.synchronizeSecondaryDatabase(DBDatabase) STYLE REC_CATCH_EXCEPTION 838 High
Exceptional return value of java.util.concurrent.locks.Condition.await(long, TimeUnit) ignored in nz.co.gregs.dbvolution.internal.database.ClusterDetails.waitUntilDatabaseHasSynchronised(DBDatabase, long) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 719 Medium
Exceptional return value of java.util.concurrent.locks.Condition.await(long, TimeUnit) ignored in nz.co.gregs.dbvolution.internal.database.ClusterDetails.waitUntilSynchronised() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 701 Medium
The field nz.co.gregs.dbvolution.internal.database.ClusterDetails.queuedActions is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Medium
The field nz.co.gregs.dbvolution.internal.database.ClusterDetails.requiredTables is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Medium
The field nz.co.gregs.dbvolution.internal.database.ClusterDetails.synchronisingLock is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Medium
The field nz.co.gregs.dbvolution.internal.database.ClusterDetails.trackedTables is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Medium

nz.co.gregs.dbvolution.internal.properties.JavaField

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.internal.properties.JavaField(Field) may expose internal representation by storing an externally mutable object into JavaField.field MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

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

Bug Category Details Line Priority
Possible null pointer dereference of type in new nz.co.gregs.dbvolution.internal.properties.PropertyTypeHandler(JavaProperty, boolean) CORRECTNESS NP_NULL_ON_SOME_PATH 243 Medium
Possible null pointer dereference of type in new nz.co.gregs.dbvolution.internal.properties.PropertyTypeHandler(JavaProperty, boolean) CORRECTNESS NP_NULL_ON_SOME_PATH 258 Medium

nz.co.gregs.dbvolution.internal.properties.PropertyWrapper

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.properties.PropertyWrapper.getPropertyWrapperDefinition() may expose internal representation by returning PropertyWrapper.propertyDefinition MALICIOUS_CODE EI_EXPOSE_REP 613 Medium
nz.co.gregs.dbvolution.internal.properties.PropertyWrapper.getRowDefinitionInstanceWrapper() may expose internal representation by returning PropertyWrapper.dbRowInstanceWrapper MALICIOUS_CODE EI_EXPOSE_REP 625 Medium
new nz.co.gregs.dbvolution.internal.properties.PropertyWrapper(RowDefinitionInstanceWrapper, PropertyWrapperDefinition, RowDefinition) may expose internal representation by storing an externally mutable object into PropertyWrapper.dbRowInstanceWrapper MALICIOUS_CODE EI_EXPOSE_REP2 76 Medium
new nz.co.gregs.dbvolution.internal.properties.PropertyWrapper(RowDefinitionInstanceWrapper, PropertyWrapperDefinition, RowDefinition) may expose internal representation by storing an externally mutable object into PropertyWrapper.propertyDefinition MALICIOUS_CODE EI_EXPOSE_REP2 77 Medium
new nz.co.gregs.dbvolution.internal.properties.PropertyWrapper(RowDefinitionInstanceWrapper, PropertyWrapperDefinition, RowDefinition) may expose internal representation by storing an externally mutable object into PropertyWrapper.target MALICIOUS_CODE EI_EXPOSE_REP2 78 Medium

nz.co.gregs.dbvolution.internal.properties.RowDefinitionClassWrapper

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.properties.RowDefinitionClassWrapper.getAutoFillingPropertyDefinitions() may expose internal representation by returning RowDefinitionClassWrapper.autoFillingProperties MALICIOUS_CODE EI_EXPOSE_REP 539 Medium
nz.co.gregs.dbvolution.internal.properties.RowDefinitionClassWrapper.getColumnPropertyDefinitions() may expose internal representation by returning RowDefinitionClassWrapper.columnProperties MALICIOUS_CODE EI_EXPOSE_REP 524 Medium

nz.co.gregs.dbvolution.internal.properties.RowDefinitionInstanceWrapper

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.properties.RowDefinitionInstanceWrapper.adapteeRowDefinition() may expose internal representation by returning RowDefinitionInstanceWrapper.rowDefinition MALICIOUS_CODE EI_EXPOSE_REP 219 Medium
nz.co.gregs.dbvolution.internal.properties.RowDefinitionInstanceWrapper.getAutoFillingPropertyWrappers() may expose internal representation by returning RowDefinitionInstanceWrapper.autoFillingProperties MALICIOUS_CODE EI_EXPOSE_REP 380 Medium
nz.co.gregs.dbvolution.internal.properties.RowDefinitionInstanceWrapper.getColumnPropertyWrappers() may expose internal representation by returning RowDefinitionInstanceWrapper.columnProperties MALICIOUS_CODE EI_EXPOSE_REP 361 Medium
nz.co.gregs.dbvolution.internal.properties.RowDefinitionInstanceWrapper.getForeignKeyPropertyWrappers() may expose internal representation by returning RowDefinitionInstanceWrapper.foreignKeyProperties MALICIOUS_CODE EI_EXPOSE_REP 390 Medium
nz.co.gregs.dbvolution.internal.properties.RowDefinitionInstanceWrapper.getPrimaryKeysPropertyWrappers() may expose internal representation by returning RowDefinitionInstanceWrapper.primaryKeyProperties MALICIOUS_CODE EI_EXPOSE_REP 300 Medium
nz.co.gregs.dbvolution.internal.properties.RowDefinitionInstanceWrapper.getRecursiveForeignKeyPropertyWrappers() may expose internal representation by returning RowDefinitionInstanceWrapper.recursiveForeignKeyProperties MALICIOUS_CODE EI_EXPOSE_REP 410 Medium

nz.co.gregs.dbvolution.internal.properties.TableHandler

Bug Category Details Line Priority
The field nz.co.gregs.dbvolution.internal.properties.TableHandler.requiredTableAnnotation is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Medium

nz.co.gregs.dbvolution.internal.query.DBRowClass

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.internal.query.DBRowClass(DBRow) may expose internal representation by storing an externally mutable object into DBRowClass.table MALICIOUS_CODE EI_EXPOSE_REP2 43 Medium

nz.co.gregs.dbvolution.internal.query.ExtraQueryParameters

Bug Category Details Line Priority
Unread field: nz.co.gregs.dbvolution.internal.query.ExtraQueryParameters.requiredToProduceEmptyStringForNull PERFORMANCE URF_UNREAD_FIELD 42 Medium

nz.co.gregs.dbvolution.internal.query.QueryCanceller

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.internal.query.QueryCanceller(DBStatement, String) may expose internal representation by storing an externally mutable object into QueryCanceller.statement MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium
Incorrect lazy initialization of static field nz.co.gregs.dbvolution.internal.query.QueryCanceller.standardCancelOffset in nz.co.gregs.dbvolution.internal.query.QueryCanceller.getStandardCancelOffset() MT_CORRECTNESS LI_LAZY_INIT_STATIC 89 Medium

nz.co.gregs.dbvolution.internal.query.QueryDetails

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.query.QueryDetails.getOptions() may expose internal representation by returning QueryDetails.options MALICIOUS_CODE EI_EXPOSE_REP 143 Medium
nz.co.gregs.dbvolution.internal.query.QueryDetails.setOptions(QueryOptions) may expose internal representation by storing an externally mutable object into QueryDetails.options MALICIOUS_CODE EI_EXPOSE_REP2 295 Medium

nz.co.gregs.dbvolution.internal.query.QueryOptions

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.query.QueryOptions.getQueryDatabase() may expose internal representation by returning QueryOptions.queryDatabase MALICIOUS_CODE EI_EXPOSE_REP 294 Medium
nz.co.gregs.dbvolution.internal.query.QueryOptions.setQueryDatabase(DBDatabase) may expose internal representation by storing an externally mutable object into QueryOptions.queryDatabase MALICIOUS_CODE EI_EXPOSE_REP2 287 Medium
Unread field: nz.co.gregs.dbvolution.internal.query.QueryOptions.DEFAULT_TIMEOUT_IN_MILLISECONDS; should this field be static? PERFORMANCE SS_SHOULD_BE_STATIC 48 Medium

nz.co.gregs.dbvolution.internal.query.QueryState

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.query.QueryState.getJoinedTables() may expose internal representation by returning QueryState.joinedTables MALICIOUS_CODE EI_EXPOSE_REP 142 Medium
nz.co.gregs.dbvolution.internal.query.QueryState.getOptionalConditions() may expose internal representation by returning QueryState.optionalConditions MALICIOUS_CODE EI_EXPOSE_REP 103 Medium
nz.co.gregs.dbvolution.internal.query.QueryState.getRequiredConditions() may expose internal representation by returning QueryState.requiredConditions MALICIOUS_CODE EI_EXPOSE_REP 85 Medium

nz.co.gregs.dbvolution.internal.query.QueryTimeout

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.internal.query.QueryTimeout(StatementDetails, Long) may expose internal representation by storing an externally mutable object into QueryTimeout.details MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.internal.query.QueryTimeout.stillRequired; locked 50% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 119 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.internal.query.QueryTimeout.timeoutHandler; locked 50% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 78 Medium
Incorrect lazy initialization of static field nz.co.gregs.dbvolution.internal.query.QueryTimeout.standardTimeoutOffset in nz.co.gregs.dbvolution.internal.query.QueryTimeout.getStandardTimeoutOffset() MT_CORRECTNESS LI_LAZY_INIT_STATIC 90 Medium

nz.co.gregs.dbvolution.internal.query.QueryTimeout$TimeOut

Bug Category Details Line Priority

nz.co.gregs.dbvolution.internal.query.RecursiveQueryDetails

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.query.RecursiveQueryDetails.getKeyToFollow() may expose internal representation by returning RecursiveQueryDetails.keyToFollow MALICIOUS_CODE EI_EXPOSE_REP 105 Medium
nz.co.gregs.dbvolution.internal.query.RecursiveQueryDetails.getOriginalQuery() may expose internal representation by returning RecursiveQueryDetails.originalQuery MALICIOUS_CODE EI_EXPOSE_REP 91 Medium
nz.co.gregs.dbvolution.internal.query.RecursiveQueryDetails.getTypeToReturn() may expose internal representation by returning RecursiveQueryDetails.typeToReturn MALICIOUS_CODE EI_EXPOSE_REP 119 Medium
nz.co.gregs.dbvolution.internal.query.RecursiveQueryDetails.setKeyToFollow(ColumnProvider) may expose internal representation by storing an externally mutable object into RecursiveQueryDetails.keyToFollow MALICIOUS_CODE EI_EXPOSE_REP2 112 Medium
nz.co.gregs.dbvolution.internal.query.RecursiveQueryDetails.setOriginalQuery(DBQuery) may expose internal representation by storing an externally mutable object into RecursiveQueryDetails.originalQuery MALICIOUS_CODE EI_EXPOSE_REP2 98 Medium
nz.co.gregs.dbvolution.internal.query.RecursiveQueryDetails.setTypeToReturn(DBRow) may expose internal representation by storing an externally mutable object into RecursiveQueryDetails.typeToReturn MALICIOUS_CODE EI_EXPOSE_REP2 126 Medium

nz.co.gregs.dbvolution.internal.query.StatementDetails

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.query.StatementDetails.getDBStatement() may expose internal representation by returning StatementDetails.activeStatement MALICIOUS_CODE EI_EXPOSE_REP 146 Medium
nz.co.gregs.dbvolution.internal.query.StatementDetails.getException() may expose internal representation by returning StatementDetails.exception MALICIOUS_CODE EI_EXPOSE_REP 80 Medium
new nz.co.gregs.dbvolution.internal.query.StatementDetails(String, QueryIntention, String, Exception, boolean, boolean, String, DBStatement) may expose internal representation by storing an externally mutable object into StatementDetails.activeStatement MALICIOUS_CODE EI_EXPOSE_REP2 72 Medium
new nz.co.gregs.dbvolution.internal.query.StatementDetails(String, QueryIntention, String, Exception, boolean, boolean, String, DBStatement) may expose internal representation by storing an externally mutable object into StatementDetails.exception MALICIOUS_CODE EI_EXPOSE_REP2 68 Medium
nz.co.gregs.dbvolution.internal.query.StatementDetails.setDBStatement(DBStatement) may expose internal representation by storing an externally mutable object into StatementDetails.activeStatement MALICIOUS_CODE EI_EXPOSE_REP2 150 Medium
nz.co.gregs.dbvolution.internal.query.StatementDetails.withException(SQLException) may expose internal representation by storing an externally mutable object into StatementDetails.exception MALICIOUS_CODE EI_EXPOSE_REP2 131 Medium

nz.co.gregs.dbvolution.internal.querygraph.QueryGraph

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.querygraph.QueryGraph.getJungGraph() may expose internal representation by returning QueryGraph.jungGraph MALICIOUS_CODE EI_EXPOSE_REP 469 Medium

nz.co.gregs.dbvolution.internal.querygraph.QueryGraphEdgeLabelTransformer

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.internal.querygraph.QueryGraphEdgeLabelTransformer(DBQuery) may expose internal representation by storing an externally mutable object into QueryGraphEdgeLabelTransformer.query MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

nz.co.gregs.dbvolution.internal.querygraph.QueryGraphEdgeStrokeTransformer

Bug Category Details Line Priority
new nz.co.gregs.dbvolution.internal.querygraph.QueryGraphEdgeStrokeTransformer(DBQuery) may expose internal representation by storing an externally mutable object into QueryGraphEdgeStrokeTransformer.query MALICIOUS_CODE EI_EXPOSE_REP2 43 Medium

nz.co.gregs.dbvolution.internal.querygraph.QueryGraphNode

Bug Category Details Line Priority
nz.co.gregs.dbvolution.internal.querygraph.QueryGraphNode.getConnectedTables() may expose internal representation by returning QueryGraphNode.connectedTables MALICIOUS_CODE EI_EXPOSE_REP 74 Medium

nz.co.gregs.dbvolution.query.TreeNode

Bug Category Details Line Priority
nz.co.gregs.dbvolution.query.TreeNode.getData() may expose internal representation by returning TreeNode.data MALICIOUS_CODE EI_EXPOSE_REP 116 Medium
nz.co.gregs.dbvolution.query.TreeNode.getParent() may expose internal representation by returning TreeNode.parent MALICIOUS_CODE EI_EXPOSE_REP 148 Medium
new nz.co.gregs.dbvolution.query.TreeNode(DBRow, TreeNode) may expose internal representation by storing an externally mutable object into TreeNode.parent MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium

nz.co.gregs.dbvolution.utility.Brake

Bug Category Details Line Priority
The field nz.co.gregs.dbvolution.utility.Brake.monitor is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Medium

nz.co.gregs.dbvolution.utility.RegularProcess

Bug Category Details Line Priority
nz.co.gregs.dbvolution.utility.RegularProcess.setTimeOffset(ChronoUnit, int) may expose internal representation by storing an externally mutable object into RegularProcess.timeField MALICIOUS_CODE EI_EXPOSE_REP2 122 Medium

nz.co.gregs.dbvolution.utility.StringInBlocks

Bug Category Details Line Priority
Inconsistent synchronization of nz.co.gregs.dbvolution.utility.StringInBlocks.blockSize; locked 75% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 50 Medium
Inconsistent synchronization of nz.co.gregs.dbvolution.utility.StringInBlocks.originalString; locked 50% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 55 Medium

nz.co.gregs.dbvolution.utility.encryption.Encryption_BASE64_AES_CBC_PKCS5Padding

Bug Category Details Line Priority
Found reliance on default encoding in nz.co.gregs.dbvolution.utility.encryption.Encryption_BASE64_AES_CBC_PKCS5Padding.encrypt(String, String): new String(byte[]) I18N DM_DEFAULT_ENCODING 101 High