microsoft / mariadb-connector-j
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 18% duplication:
    • 28,118 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,321 duplicated lines
  • 735 duplicates
system18% (5,321 lines)
Duplication per Extension
java19% (5,321 lines)
Duplication per Component (primary)
src/main/java/org/mariadb/jdbc/internal/com29% (2,773 lines)
src/main/java/org/mariadb/jdbc22% (1,595 lines)
src/main/java/org/mariadb/jdbc/internal/protocol7% (263 lines)
src/main/java/org/mariadb/jdbc/internal/io12% (223 lines)
src/main/java/org/mariadb/jdbc/internal/util10% (219 lines)
src/main/java/org/mariadb/jdbc/internal/failover5% (104 lines)
src/main/java/org/mariadb/jdbc/util4% (62 lines)
src/main/java/org/mariadb/jdbc/internal/osgi49% (58 lines)
src/main/java/org/mariadb/jdbc/credential/env54% (12 lines)
src/main/java/org/mariadb/jdbc/credential/system54% (12 lines)
ROOT0% (0 lines)
src/main/java/org/mariadb/jdbc/authentication0% (0 lines)
src/main/java/org/mariadb/jdbc/credential0% (0 lines)
src/main/java/org/mariadb/jdbc/credential/aws0% (0 lines)
src/main/java/org/mariadb/jdbc/internal0% (0 lines)
src/main/java/org/mariadb/jdbc/internal/logging0% (0 lines)
src/main/java/org/mariadb/jdbc/tls0% (0 lines)

Duplication Between Components (50+ lines)

G src/main/java/org/mariadb/jdbc src/main/java/org/mariadb/jdbc src/main/java/org/mariadb/jdbc/internal/com src/main/java/org/mariadb/jdbc/internal/com src/main/java/org/mariadb/jdbc--src/main/java/org/mariadb/jdbc/internal/com 98

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 735 duplicates...
Size#FoldersFilesLinesCode
256 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
ScalarOps.java
ScalarOps.java
95:405 (34%)
625:930 (34%)
view
137 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
CallableFunctionStatement.java
CallableProcedureStatement.java
661:879 (30%)
684:902 (29%)
view
98 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
Ed25519FieldElement.java
Ed25519FieldElement.java
461:564 (15%)
646:743 (15%)
view
62 x 2 src/main/java/org/mariad...d/resultset/rowprotocol
src/main/java/org/mariad...d/resultset/rowprotocol
BinaryRowProtocol.java
TextRowProtocol.java
1197:1263 (4%)
895:961 (7%)
view
59 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
Ed25519FieldElement.java
Ed25519FieldElement.java
339:436 (9%)
555:621 (9%)
view
49 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
Ed25519FieldElement.java
Ed25519FieldElement.java
566:621 (7%)
756:811 (7%)
view
49 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
CallableFunctionStatement.java
CallableProcedureStatement.java
537:628 (10%)
560:651 (10%)
view
49 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
Ed25519FieldElement.java
Ed25519FieldElement.java
357:436 (7%)
756:811 (7%)
view
42 x 2 src/main/java/org/mariad...d/resultset/rowprotocol
src/main/java/org/mariad...d/resultset/rowprotocol
BinaryRowProtocol.java
BinaryRowProtocol.java
435:479 (3%)
543:587 (3%)
view
41 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
ScalarOps.java
ScalarOps.java
804:848 (5%)
851:895 (5%)
view
41 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
ScalarOps.java
ScalarOps.java
277:321 (5%)
324:369 (5%)
view
41 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
ScalarOps.java
ScalarOps.java
277:321 (5%)
851:895 (5%)
view
41 x 2 src/main/java/org/mariad...on/ed25519/math/ed25519
src/main/java/org/mariad...on/ed25519/math/ed25519
ScalarOps.java
ScalarOps.java
324:369 (5%)
804:848 (5%)
view
31 x 2 src/main/java/org/mariad...d/resultset/rowprotocol
src/main/java/org/mariad...d/resultset/rowprotocol
BinaryRowProtocol.java
TextRowProtocol.java
1737:1787 (2%)
1174:1224 (3%)
view
30 x 2 src/main/java/org/mariad...d/resultset/rowprotocol
src/main/java/org/mariad...d/resultset/rowprotocol
TextRowProtocol.java
TextRowProtocol.java
646:683 (3%)
785:822 (3%)
view
29 x 2 src/main/java/org/mariad...d/resultset/rowprotocol
src/main/java/org/mariad...d/resultset/rowprotocol
BinaryRowProtocol.java
TextRowProtocol.java
1830:1874 (2%)
1234:1278 (3%)
view
28 x 2 src/main/java/org/mariad...d/resultset/rowprotocol
src/main/java/org/mariad...d/resultset/rowprotocol
TextRowProtocol.java
TextRowProtocol.java
516:554 (3%)
649:687 (3%)
view
27 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
MariaDbDatabaseMetaData.java
MariaDbDatabaseMetaData.java
898:924 (1%)
945:971 (1%)
view
27 x 2 src/main/java/org/mariad...d/resultset/rowprotocol
src/main/java/org/mariad...d/resultset/rowprotocol
TextRowProtocol.java
TextRowProtocol.java
516:550 (3%)
788:822 (3%)
view
27 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
BasePrepareStatement.java
BasePrepareStatement.java
903:929 (4%)
1122:1148 (4%)
view
Duplicated Units
The list of top 18 duplicated units.
See data for all 18 unit duplicates...
Size#FoldersFilesLinesCode
16 x 2 src/main/java/org/mariad...c/internal/com/read/dao
src/main/java/org/mariad...c/internal/com/read/dao
CmdInformationBatch.java
CmdInformationBatch.java
218:234 
244:261 
view
15 x 2 src/main/java/org/mariad...rnal/com/read/resultset
src/main/java/org/mariad...d/resultset/rowprotocol
SelectResultSet.java
RowProtocol.java
2004:2019 
277:292 
view
11 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
MariaDbConnection.java
MariaDbConnection.java
716:727 
734:745 
view
11 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
MariaDbDataSource.java
MariaDbPoolDataSource.java
394:405 
401:412 
view
10 x 5 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
src/main/java/org/mariad...rnal/com/read/resultset
MariaDbConnection.java
MariaDbParameterMetaData.java
MariaDbResultSetMetaData.java
SimpleParameterMetaData.java
SelectResultSet.java
1509:1519 
153:163 
378:388 
172:182 
1982:1992 
view
10 x 2 src/main/java/org/mariad...rnal/com/read/resultset
src/main/java/org/mariad...d/resultset/rowprotocol
SelectResultSet.java
RowProtocol.java
956:966 
197:207 
view
9 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
SimpleParameterMetaData.java
SimpleParameterMetaData.java
98:107 
110:119 
view
9 x 2 src/main/java/org/mariad...rnal/com/read/resultset
src/main/java/org/mariad...rnal/com/read/resultset
UpdatableResultSet.java
UpdatableResultSet.java
520:529 
544:553 
view
9 x 2 src/main/java/org/mariadb/jdbc/internal/osgi
src/main/java/org/mariadb/jdbc/internal/osgi
MariaDbDataSourceFactory.java
MariaDbDataSourceFactory.java
67:76 
92:101 
view
8 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
BasePrepareStatement.java
BasePrepareStatement.java
169:177 
196:204 
view
8 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
BasePrepareStatement.java
BasePrepareStatement.java
1173:1181 
1232:1240 
view
8 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
BasePrepareStatement.java
BasePrepareStatement.java
1205:1213 
1288:1296 
view
8 x 2 src/main/java/org/mariad...rnal/com/read/resultset
src/main/java/org/mariad...rnal/com/read/resultset
SelectResultSet.java
SelectResultSet.java
935:943 
1136:1144 
view
7 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
MariaDbStatement.java
MariaDbStatement.java
862:869 
892:899 
view
6 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
CallableFunctionStatement.java
CallableProcedureStatement.java
537:543 
560:566 
view
6 x 2 src/main/java/org/mariadb/jdbc
src/main/java/org/mariadb/jdbc
MariaDbDataSource.java
MariaDbPoolDataSource.java
243:249 
206:212 
view
6 x 2 src/main/java/org/mariad...rnal/com/read/resultset
src/main/java/org/mariad...rnal/com/read/resultset
SelectResultSet.java
SelectResultSet.java
1372:1378 
1426:1432 
view
6 x 2 src/main/java/org/mariadb/jdbc/internal/protocol
src/main/java/org/mariadb/jdbc/internal/protocol
AuroraProtocol.java
MastersSlavesProtocol.java
73:79 
71:77 
view