awslabs / aws-mysql-jdbc
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 552 files with 69,200 lines of code.
    • 13 very long files (21,579 lines of code)
    • 15 long files (10,787 lines of code)
    • 40 medium size files (13,018 lines of codeclsfd_ftr_w_mp_ins)
    • 72 small files (10,035 lines of code)
    • 412 very small files (13,781 lines of code)
31% | 15% | 18% | 14% | 19%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
java31% | 15% | 18% | 14% | 19%
kts0% | 0% | 95% | 0% | 4%
in0% | 0% | 0% | 100% | 0%
wxs0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src/main/user-impl48% | 15% | 13% | 11% | 11%
src/main/core-api25% | 11% | 28% | 7% | 27%
src/main/protocol-impl14% | 13% | 22% | 23% | 25%
src/main/core-impl0% | 24% | 23% | 21% | 30%
src/build/java0% | 0% | 66% | 18% | 15%
ROOT0% | 0% | 95% | 0% | 4%
src/build/misc0% | 0% | 0% | 80% | 19%
src/main/user-api0% | 0% | 0% | 0% | 100%
src/legacy/java0% | 0% | 0% | 0% | 100%
src/main/doc0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
DatabaseMetaData.java
in src/main/user-impl/java/com/mysql/cj/jdbc
3655 215
ResultSetImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc/result
2028 227
ConnectionImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1982 130
CallableStatement.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1727 170
CallableStatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1662 126
UpdatableResultSet.java
in src/main/user-impl/java/com/mysql/cj/jdbc/result
1644 133
StatementImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1546 116
NativeProtocol.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/a
1500 86
MysqlErrorNumbers.java
in src/main/core-api/java/com/mysql/cj/exceptions
1418 5
ClientPreparedStatement.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1213 94
ClusterAwareConnectionProxy.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha/ca
1094 81
StringUtils.java
in src/main/core-api/java/com/mysql/cj/util
1089 62
DatabaseMetaDataUsingInfoSchema.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1021 20
ConnectionWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
971 103
AbstractQueryBindings.java
in src/main/core-impl/java/com/mysql/cj
956 22
PreparedStatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
855 63
ExprParser.java
in src/main/user-impl/java/com/mysql/cj/xdevapi
850 46
NativeSession.java
in src/main/core-impl/java/com/mysql/cj
837 60
XProtocol.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/x
815 52
StatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
712 53
ClientPreparedQueryBindings.java
in src/main/core-impl/java/com/mysql/cj
710 49
LoadBalancedConnectionProxy.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha
626 41
CharsetMapping.java
in src/main/core-api/java/com/mysql/cj
613 19
XMessageBuilder.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/x
583 40
PropertyDefinitions.java
in src/main/core-api/java/com/mysql/cj/conf
572 2
MultiHostMySQLConnection.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha
571 130
ServerPreparedStatement.java
in src/main/user-impl/java/com/mysql/cj/jdbc
563 26
ReplicationConnectionProxy.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha
553 51
ServerPreparedQuery.java
in src/main/core-impl/java/com/mysql/cj
495 22
ExportControlled.java
in src/main/core-impl/java/com/mysql/cj/protocol
479 17
JsonParser.java
in src/main/user-impl/java/com/mysql/cj/xdevapi
466 13
MysqlType.java
in src/main/core-api/java/com/mysql/cj
457 14
ServerPreparedQueryBindings.java
in src/main/core-impl/java/com/mysql/cj
453 52
MysqlSQLXML.java
in src/main/user-impl/java/com/mysql/cj/jdbc
447 34
BlobFromLocator.java
in src/main/user-impl/java/com/mysql/cj/jdbc
430 15
NativeAuthenticationProvider.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/a
426 15
ConnectionUrl.java
in src/main/core-api/java/com/mysql/cj/conf
423 49
ParseInfo.java
in src/main/core-api/java/com/mysql/cj
391 18
NativeServerSession.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/a
389 59
TranslateExceptions.java
in src/build/java/instrumentation
377 8
ClientImpl.java
in src/main/user-impl/java/com/mysql/cj/xdevapi
372 15
AuroraTopologyService.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha/ca
370 29
ConnectionUrlParser.java
in src/main/core-api/java/com/mysql/cj/conf
361 29
ClusterAwareWriterFailoverHandler.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha/ca
359 20
NativePacketPayload.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/a
359 28
ServerPreparedQueryBindValue.java
in src/main/core-impl/java/com/mysql/cj
333 12
TimeUtil.java
in src/main/core-api/java/com/mysql/cj/util
331 17
ClusterAwareReaderFailoverHandler.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha/ca
330 20
EscapeProcessor.java
in src/main/user-impl/java/com/mysql/cj/jdbc
303 6
FailoverConnectionProxy.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha
290 27
Files With Most Units (Top 20)
File# lines# units
ResultSetImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc/result
2028 227
DatabaseMetaData.java
in src/main/user-impl/java/com/mysql/cj/jdbc
3655 215
CallableStatement.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1727 170
UpdatableResultSet.java
in src/main/user-impl/java/com/mysql/cj/jdbc/result
1644 133
MultiHostMySQLConnection.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha
571 130
ConnectionImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1982 130
CallableStatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1662 126
StatementImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1546 116
ConnectionWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
971 103
ClientPreparedStatement.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1213 94
NativeProtocol.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/a
1500 86
ClusterAwareConnectionProxy.java
in src/main/user-impl/java/com/mysql/cj/jdbc/ha/ca
1094 81
PreparedStatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
855 63
StringUtils.java
in src/main/core-api/java/com/mysql/cj/util
1089 62
NativeSession.java
in src/main/core-impl/java/com/mysql/cj
837 60
NativeServerSession.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/a
389 59
XServerSession.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/x
234 56
StatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
712 53
ServerPreparedQueryBindings.java
in src/main/core-impl/java/com/mysql/cj
453 52
XProtocol.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/x
815 52
Files With Long Lines (Top 20)

There are 300 files with lines longer than 120 characters. In total, there are 3609 long lines.

File# lines# units# long lines
DatabaseMetaData.java
in src/main/user-impl/java/com/mysql/cj/jdbc
3655 215 402
PropertyDefinitions.java
in src/main/core-api/java/com/mysql/cj/conf
572 2 338
CallableStatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1662 126 130
NativeProtocol.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/a
1500 86 126
ConnectionImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1982 130 120
DatabaseMetaDataUsingInfoSchema.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1021 20 107
ClientPreparedStatement.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1213 94 96
TranslateExceptions.java
in src/build/java/instrumentation
377 8 88
AbstractQueryBindings.java
in src/main/core-impl/java/com/mysql/cj
956 22 82
NativeSession.java
in src/main/core-impl/java/com/mysql/cj
837 60 78
StatementImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc
1546 116 72
PreparedStatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
855 63 63
XProtocol.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/x
815 52 63
XMessageBuilder.java
in src/main/protocol-impl/java/com/mysql/cj/protocol/x
583 40 61
StringUtils.java
in src/main/core-api/java/com/mysql/cj/util
1089 62 60
StatementWrapper.java
in src/main/user-impl/java/com/mysql/cj/jdbc
712 53 54
ResultSetImpl.java
in src/main/user-impl/java/com/mysql/cj/jdbc/result
2028 227 48
MysqlType.java
in src/main/core-api/java/com/mysql/cj
457 14 47
ExportControlled.java
in src/main/core-impl/java/com/mysql/cj/protocol
479 17 45
ServerPreparedStatement.java
in src/main/user-impl/java/com/mysql/cj/jdbc
563 26 43