awslabs / aws-mysql-jdbc
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
  • 10% duplication:
    • 51,360 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,374 duplicated lines
  • 7,968 duplicates
system10% (5,374 lines)
Duplication per Extension
java10% (5,374 lines)
Duplication per Component (primary)
src/main/user-impl12% (3,331 lines)
src/main/core-impl16% (1,219 lines)
src/main/protocol-impl7% (555 lines)
src/main/core-api3% (257 lines)
src/build/java2% (12 lines)
src/build/misc0% (0 lines)
src/legacy/java0% (0 lines)
src/main/user-api0% (0 lines)
src/main/doc0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G src/main/core-impl src/main/core-impl src/main/user-impl src/main/user-impl src/main/core-impl--src/main/user-impl 238 src/main/core-api src/main/core-api src/main/core-api--src/main/core-impl 103 src/main/protocol-impl src/main/protocol-impl src/main/protocol-impl--src/main/user-impl 56

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 7,968 duplicates...
Size#FoldersFilesLinesCode
29 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
DatabaseMetaDataUsingInfoSchema.java
DatabaseMetaDataUsingInfoSchema.java
666:702 (3%)
957:992 (3%)
view
24 x 2 src/main/core-api/java/com/mysql/cj/log
src/main/core-api/java/com/mysql/cj/log
Jdk14Logger.java
StandardLogger.java
98:221 (32%)
105:228 (26%)
view
22 x 2 src/main/protocol-impl/j...com/mysql/cj/protocol/a
src/main/protocol-impl/j...com/mysql/cj/protocol/a
MysqlBinaryValueDecoder.java
MysqlBinaryValueDecoder.java
51:82 (14%)
89:120 (14%)
view
21 x 2 src/main/user-impl/java/com/mysql/cj/jdbc/result
src/main/user-impl/java/com/mysql/cj/jdbc/result
ResultSetImpl.java
ResultSetImpl.java
1117:1146 (1%)
1221:1250 (1%)
view
21 x 2 src/main/core-api/java/com/mysql/cj/protocol
src/main/core-api/java/com/mysql/cj/protocol
InternalTime.java
InternalTimestamp.java
47:83 (60%)
51:87 (52%)
view
21 x 2 src/main/core-impl/java/com/mysql/cj
src/main/core-impl/java/com/mysql/cj
ClientPreparedQueryBindings.java
ClientPreparedQueryBindings.java
650:676 (3%)
752:778 (3%)
view
20 x 2 src/main/user-impl/java/com/mysql/cj/xdevapi
src/main/user-impl/java/com/mysql/cj/xdevapi
DocResultBuilder.java
RowResultBuilder.java
64:93 (64%)
67:96 (55%)
view
20 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
DatabaseMetaDataUsingInfoSchema.java
DatabaseMetaDataUsingInfoSchema.java
357:380 (2%)
435:458 (2%)
view
18 x 2 src/main/user-impl/java/com/mysql/cj/xdevapi
src/main/user-impl/java/com/mysql/cj/xdevapi
StreamingDocResultBuilder.java
StreamingRowResultBuilder.java
61:88 (60%)
64:91 (56%)
view
18 x 2 src/main/protocol-impl/j...com/mysql/cj/protocol/x
src/main/protocol-impl/j...com/mysql/cj/protocol/x
XProtocolDecoder.java
XProtocolDecoder.java
89:110 (9%)
126:147 (9%)
view
18 x 2 src/main/core-impl/java/com/mysql/cj/conf/url
src/main/core-impl/java/com/mysql/cj/conf/url
ReplicationConnectionUrl.java
ReplicationDnsSrvConnectionUrl.java
71:92 (30%)
75:96 (25%)
view
17 x 2 src/main/core-impl/java/com/mysql/cj/result
src/main/core-impl/java/com/mysql/cj/result
SqlTimestampValueFactory.java
SqlTimestampValueFactory.java
143:166 (20%)
173:196 (20%)
view
17 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
DatabaseMetaDataUsingInfoSchema.java
DatabaseMetaDataUsingInfoSchema.java
706:727 (2%)
996:1017 (2%)
view
16 x 2 src/main/protocol-impl/j...ql/cj/protocol/a/result
src/main/protocol-impl/j...ql/cj/protocol/a/result
BinaryBufferRow.java
TextBufferRow.java
85:108 (11%)
61:84 (30%)
view
16 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
BlobFromLocator.java
BlobFromLocator.java
294:324 (4%)
362:392 (4%)
view
16 x 2 src/main/core-api/java/com/mysql/cj
src/main/core-api/java/com/mysql/cj
MysqlType.java
MysqlType.java
722:737 (3%)
767:782 (3%)
view
15 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
DatabaseMetaData.java
DatabaseMetaData.java
2548:2573 (<1%)
2662:2687 (<1%)
view
15 x 2 src/main/core-api/java/com/mysql/cj
src/main/user-impl/java/com/mysql/cj/jdbc
ParseInfo.java
StatementImpl.java
535:558 (5%)
2032:2055 (1%)
view
15 x 2 src/main/core-impl/java/com/mysql/cj
src/main/core-impl/java/com/mysql/cj
ClientPreparedQueryBindings.java
ServerPreparedQueryBindings.java
160:180 (2%)
197:218 (4%)
view
14 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
DatabaseMetaData.java
DatabaseMetaData.java
1335:1357 (<1%)
4195:4217 (<1%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 33 unit duplicates...
Size#FoldersFilesLinesCode
22 x 2 src/main/core-impl/java/com/mysql/cj/result
src/main/core-impl/java/com/mysql/cj/result
SqlTimestampValueFactory.java
SqlTimestampValueFactory.java
142:169 
172:199 
view
19 x 2 src/main/user-impl/java/com/mysql/cj/xdevapi
src/main/user-impl/java/com/mysql/cj/xdevapi
RowResultBuilder.java
DocResultBuilder.java
71:94 
68:91 
view
19 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/core-api/java/com/mysql/cj
StatementImpl.java
ParseInfo.java
2032:2056 
535:559 
view
16 x 2 src/main/user-impl/java/com/mysql/cj/xdevapi
src/main/user-impl/java/com/mysql/cj/xdevapi
StreamingDocResultBuilder.java
StreamingRowResultBuilder.java
66:86 
69:89 
view
16 x 2 src/main/core-impl/java/com/mysql/cj/conf/url
src/main/core-impl/java/com/mysql/cj/conf/url
LoadBalanceDnsSrvConnectionUrl.java
LoadBalanceConnectionUrl.java
106:123 
98:115 
view
14 x 2 src/main/core-impl/java/com/mysql/cj/result
src/main/core-impl/java/com/mysql/cj/result
UtilCalendarValueFactory.java
UtilCalendarValueFactory.java
113:128 
131:146 
view
13 x 2 src/main/user-impl/java/com/mysql/cj/xdevapi
src/main/user-impl/java/com/mysql/cj/xdevapi
FindStatementImpl.java
SelectStatementImpl.java
106:119 
95:108 
view
13 x 2 src/main/user-impl/java/com/mysql/cj/xdevapi
src/main/user-impl/java/com/mysql/cj/xdevapi
FindStatementImpl.java
SelectStatementImpl.java
127:140 
116:129 
view
13 x 2 src/main/core-impl/java/com/mysql/cj/conf/url
src/main/core-impl/java/com/mysql/cj/conf/url
XDevApiConnectionUrl.java
XDevApiDnsSrvConnectionUrl.java
128:141 
93:106 
view
12 x 2 src/main/user-impl/java/com/mysql/cj/jdbc/jmx
src/main/user-impl/java/com/mysql/cj/jdbc/jmx
ReplicationGroupManager.java
LoadBalanceConnectionGroupManager.java
46:59 
50:63 
view
12 x 2 src/main/core-api/java/com/mysql/cj/util
src/main/core-api/java/com/mysql/cj/util
TimeUtil.java
TimeUtil.java
192:205 
207:220 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
80:91 
1796:1807 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
94:105 
1810:1821 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
500:511 
1838:1849 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
514:525 
1852:1863 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
528:539 
1866:1877 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
768:780 
1588:1599 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
783:794 
1602:1613 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
811:822 
1908:1919 
view
11 x 2 src/main/user-impl/java/com/mysql/cj/jdbc
src/main/user-impl/java/com/mysql/cj/jdbc
CallableStatementWrapper.java
CallableStatementWrapper.java
839:850 
1616:1627 
view