Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
Wikimedia\Rdbms\ChangedTablesTracker0%
Wikimedia\Rdbms\DBQueryTimeoutError0%
Wikimedia\Rdbms\MWPostgreSqlPlatform0%
Wikimedia\Rdbms\TimestampType0%
Wikimedia\Rdbms\TinyIntType0%
Wikimedia\Rdbms\Blob0%
Wikimedia\Rdbms\DBAccessError0%
Wikimedia\Rdbms\DBConnectionError0%
Wikimedia\Rdbms\DBError0%
Wikimedia\Rdbms\DBExpectedError0%
Wikimedia\Rdbms\DBLanguageError0%
Wikimedia\Rdbms\DBQueryDisconnectedError0%
Wikimedia\Rdbms\DBQueryError0%
Wikimedia\Rdbms\DBTransactionError0%
Wikimedia\Rdbms\EnumType0%
Wikimedia\Rdbms\DBTransactionSizeError0%
Wikimedia\Rdbms\RawSQLExpression0%
Wikimedia\Rdbms\MySQLField0%
Wikimedia\Rdbms\PostgresField0%
Wikimedia\Rdbms\SQLiteField0%
Wikimedia\Rdbms\LBFactorySingle0%
Wikimedia\Rdbms\LoadBalancerDisabled0%
Wikimedia\Rdbms\LoadBalancerSingle0%
Wikimedia\Rdbms\LoadMonitorNull0%
Wikimedia\Rdbms\JoinGroupBase0%
Wikimedia\Rdbms\ReplaceQueryBuilder0%
Wikimedia\Rdbms\MWMySQLPlatform0%
Wikimedia\Rdbms\RawSQLValue0%
Wikimedia\Rdbms\DoctrineSchemaChangeBuilder0%
Wikimedia\Rdbms\PostgresResultWrapper0%
Wikimedia\Rdbms\DBAccessObjectUtils0%
Wikimedia\Rdbms\DoctrineSchemaBuilderFactory0%
Wikimedia\Rdbms\Query0%
Wikimedia\Rdbms\TransactionManager0%
Wikimedia\Rdbms\Replication\MysqlReplicationReporter0%
Wikimedia\Rdbms\Replication\ReplicationReporter0%
Wikimedia\Rdbms\MysqliResultWrapper0%
Wikimedia\Rdbms\DatabasePostgres0%
Wikimedia\Rdbms\GeneralizedSql0%
Wikimedia\Rdbms\TempTableInfo0%
Wikimedia\Rdbms\QueryStatus0%
Wikimedia\Rdbms\TransactionIdentifier0%
Wikimedia\Rdbms\CriticalSessionInfo0%
Wikimedia\Rdbms\DatabaseMySQL5%
Wikimedia\Rdbms\Platform\PostgresPlatform9%
Wikimedia\Rdbms\Platform\MySQLPlatform17%
Wikimedia\Rdbms\ExpressionGroup21%
Wikimedia\Rdbms\DBConnRef22%
Wikimedia\Rdbms\Platform\SqlitePlatform40%
Wikimedia\Rdbms\LikeMatch50%
Wikimedia\Rdbms\LBFactory56%
Wikimedia\Rdbms\LoadBalancer56%
Wikimedia\Rdbms\UnionQueryBuilder56%
Wikimedia\Rdbms\LikeValue57%
Wikimedia\Rdbms\LBFactorySimple59%
Wikimedia\Rdbms\SqliteResultWrapper66%
Wikimedia\Rdbms\DatabaseSqlite68%
Wikimedia\Rdbms\Database69%
Wikimedia\Rdbms\LBFactoryMulti71%
Wikimedia\Rdbms\DeleteQueryBuilder71%
Wikimedia\Rdbms\FakeResultWrapper72%
Wikimedia\Rdbms\DatabaseFactory73%
Wikimedia\Rdbms\InsertQueryBuilder75%
Wikimedia\Rdbms\Platform\SQLPlatform76%
Wikimedia\Rdbms\UpdateQueryBuilder77%
Wikimedia\Rdbms\ServerInfo79%
Wikimedia\Rdbms\SelectQueryBuilder79%
Wikimedia\Rdbms\TransactionProfiler79%
Wikimedia\Rdbms\ReadOnlyMode81%
Wikimedia\Rdbms\ResultWrapper82%
Wikimedia\Rdbms\LoadMonitor84%
Wikimedia\Rdbms\QueryBuilderFromRawSql88%
Wikimedia\Rdbms\ChronologyProtector88%

Project Risks

Class CRAP
Wikimedia\Rdbms\TransactionManager21756
Wikimedia\Rdbms\DatabasePostgres20306
Wikimedia\Rdbms\DBConnRef13056
Wikimedia\Rdbms\DatabaseMySQL12341
Wikimedia\Rdbms\LoadBalancer8617
Wikimedia\Rdbms\Database6865
Wikimedia\Rdbms\Replication\MysqlReplicationReporter3540
Wikimedia\Rdbms\Platform\SQLPlatform2350
Wikimedia\Rdbms\Platform\PostgresPlatform2163
Wikimedia\Rdbms\LBFactory1528
Wikimedia\Rdbms\DatabaseSqlite631
Wikimedia\Rdbms\Replication\ReplicationReporter462
Wikimedia\Rdbms\ReplaceQueryBuilder462
Wikimedia\Rdbms\JoinGroupBase380
Wikimedia\Rdbms\PostgresResultWrapper306
Wikimedia\Rdbms\MysqliResultWrapper272
Wikimedia\Rdbms\Platform\MySQLPlatform241
Wikimedia\Rdbms\MySQLField240
Wikimedia\Rdbms\MWPostgreSqlPlatform210
Wikimedia\Rdbms\LBFactorySingle210
Wikimedia\Rdbms\Query210
Wikimedia\Rdbms\PostgresField182
Wikimedia\Rdbms\SelectQueryBuilder165
Wikimedia\Rdbms\Platform\SqlitePlatform160
Wikimedia\Rdbms\ChangedTablesTracker156
Wikimedia\Rdbms\DBAccessObjectUtils132
Wikimedia\Rdbms\TransactionProfiler109
Wikimedia\Rdbms\EnumType90
Wikimedia\Rdbms\DoctrineSchemaBuilderFactory90
Wikimedia\Rdbms\UnionQueryBuilder85
Wikimedia\Rdbms\LBFactoryMulti81
Wikimedia\Rdbms\ExpressionGroup81
Wikimedia\Rdbms\ChronologyProtector74
Wikimedia\Rdbms\TinyIntType72
Wikimedia\Rdbms\LoadBalancerSingle72
Wikimedia\Rdbms\SQLiteField72
Wikimedia\Rdbms\InsertQueryBuilder66
Wikimedia\Rdbms\TimestampType56
Wikimedia\Rdbms\LoadMonitor53
Wikimedia\Rdbms\UpdateQueryBuilder47
Wikimedia\Rdbms\GeneralizedSql42
Wikimedia\Rdbms\ServerInfo40
Wikimedia\Rdbms\LBFactorySimple40
Wikimedia\Rdbms\DeleteQueryBuilder34
Wikimedia\Rdbms\QueryStatus30
Wikimedia\Rdbms\DatabaseFactory29
Wikimedia\Rdbms\DoctrineSchemaChangeBuilder20
Wikimedia\Rdbms\LikeValue17
Wikimedia\Rdbms\QueryBuilderFromRawSql14
Wikimedia\Rdbms\SqliteResultWrapper13
Wikimedia\Rdbms\FakeResultWrapper12
Wikimedia\Rdbms\TransactionIdentifier12
Wikimedia\Rdbms\MWMySQLPlatform12
Wikimedia\Rdbms\ReadOnlyMode7
Wikimedia\Rdbms\DBConnectionError6

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
startTracking0%
newFromQuery0%
count0%
free0%
getFieldNames0%
doFree0%
doGetFieldNames0%
__construct0%
__construct0%
stringify0%
getRawSql0%
__construct0%
doFree0%
__construct0%
__construct0%
__toString0%
getSchemaBuilder0%
getSchemaChangeBuilder0%
getPlatform0%
__construct0%
getTableSchema0%
getSchemaChangeSql0%
doGetFieldNames0%
doSeek0%
makeEnumTypeSql0%
checkFetchError0%
getTopologyBasedReadOnlyReason0%
resetReplicationLagStatus0%
getRecordedTransactionLagStatus0%
getSessionLagStatus0%
getLogContext0%
doFree0%
doGetFieldNames0%
__construct0%
doNumRows0%
doFetchObject0%
convertBoolean0%
doFetchRow0%
doSeek0%
doFree0%
doGetFieldNames0%
getInternalFieldInfo0%
__construct0%
doNumRows0%
doFetchObject0%
doFetchRow0%
getSQLDeclaration0%
formatValues0%
getReplicaPos0%
__construct0%
__construct0%
__construct0%
__construct0%
getKey0%
__construct0%
getKey0%
toGeneralizedSql0%
newFromArray0%
toGeneralizedSql0%
__construct0%
getParams0%
toSql0%
toGeneralizedSql0%
__construct0%
name0%
tableName0%
type0%
isNullable0%
defaultValue0%
isKey0%
__construct0%
getKey0%
getName0%
getSQLDeclaration0%
getFloatDeclarationSQL0%
getDefaultValueDeclarationSQL0%
_getCreateTableSQL0%
getBlobTypeDeclarationSQL0%
getBinaryTypeDeclarationSQL0%
getFloatDeclarationSQL0%
getDateTimeTzTypeDeclarationSQL0%
getSQLDeclaration0%
getName0%
getCommonIntegerTypeDeclarationForMySQL0%
__construct0%
getName0%
__construct0%
fetch0%
__construct0%
__construct0%
toSql0%
__construct0%
__construct0%
__construct0%
getPrimaryPos0%
primaryPosWait0%
isBinary0%
onCancelAtomicBeforeCriticalSection0%
clearSessionError0%
calculateLastTrxApplyTime0%
pendingWriteCallers0%
updateTrxWriteQueryReport0%
pendingWriteQueryDuration0%
flatAtomicSectionList0%
resetTrxAtomicLevels0%
explicitTrxActive0%
trxCheckBeforeClose0%
currentAtomicSectionId0%
sessionStatus0%
addToAtomicLevels0%
onBegin0%
onCommit0%
onEndAtomic0%
getPositionFromSectionId0%
cancelAtomic0%
popAtomicLevel0%
setAutomaticAtomic0%
turnOnAutomatic0%
setSessionError0%
setTrxStatusIgnoredCause0%
writesPending0%
getCleanedSql0%
doHandleSessionLossPreconnect0%
doFlushSession0%
__construct0%
isWriteQuery0%
getVerb0%
fieldHasBit0%
getSQL0%
getFlags0%
getWriteTable0%
__construct0%
setTransactionError0%
trxLevel0%
getTrxId0%
consumeTrxId0%
trxTimestamp0%
trxStatus0%
setTrxStatusToOk0%
setTrxStatusToNone0%
assertTransactionStatus0%
assertSessionStatus0%
nextSavePointId0%
onDestruct0%
getApproximateLagStatus0%
primaryPosWait0%
onGetScopedLockAndFlush0%
__construct0%
doGetLag0%
getLagFromSlaveStatus0%
getLagFromPtHeartbeat0%
fetchSecondsSinceHeartbeat0%
getApproximateLagStatus0%
getReplicationSafetyInfo0%
useGTIDs0%
getReplicaPos0%
onEndAtomicInCriticalSection0%
getPrimaryPos0%
getServerId0%
getServerUUID0%
getServerGTIDs0%
getServerRoleStatus0%
__construct0%
getTopologyRole0%
getLag0%
doGetLag0%
onFlushSnapshot0%
onSessionLoss0%
transactionWritingIn0%
consumeEndCallbacks0%
transactionWritingOut0%
recordQueryCompletion0%
getTables0%
addPostCommitOrIdleCallback0%
addPreCommitOrIdleCallback0%
setTransactionListener0%
setTrxEndCallbackSuppression0%
reassignCallbacksForSection0%
modifyCallbacksForCancel0%
runOnTransactionPreCommitCallbacks0%
onCommitInCriticalSection0%
clearPreEndCallbacks0%
clearEndCallbacks0%
writesOrCallbacksPending0%
pendingWriteAndCallbackCallers0%
pendingPreCommitCallbackCallers0%
isEndCallbacksSuppressed0%
getRecurringCallbacks0%
countPostCommitOrIdleCallbacks0%
onBeginInCriticalSection0%
onRollbackInCriticalSection0%
isMultipleKey0%
isNumeric0%
listTables0%
timestampOrNull0%
bitNot0%
bitAnd0%
bitOr0%
escapeLikeInternal0%
anyChar0%
anyString0%
unionSupportsOrderAndLimit0%
strreplace0%
timestamp0%
getInfinity0%
unlockSQLText0%
encodeExpiry0%
decodeExpiry0%
buildStringCast0%
implicitOrderby0%
setIndexAliases0%
getTableAliases0%
setPrefix0%
tableNamesN0%
useIndexClause0%
bigintFromLockName0%
lockIsFreeSQLText0%
buildGroupConcatField0%
buildStringCast0%
isTransactableQuery0%
buildExcludedValue0%
lockSQLText0%
lockIsFreeSQLText0%
unlockSQLText0%
makeLockName0%
limitResult0%
buildConcat0%
timestamp0%
implicitOrderby0%
lockSQLText0%
getCoreSchema0%
setCoreSchema0%
selectSQLText0%
makeSelectOptions0%
buildGroupConcatField0%
makeInsertLists0%
makeInsertNonConflictingVerbAndOptions0%
makeUpdateOptionsArray0%
isTransactableQuery0%
ignoreIndexClause0%
getQueryVerb0%
ignoreIndexClause0%
caller0%
addJoin0%
__construct0%
connection0%
queryInfo0%
table0%
replaceInto0%
rows0%
row0%
uniqueIndexFields0%
execute0%
join0%
getQueryInfo0%
connection0%
setMaxExecutionTime0%
bufferResult0%
recency0%
getCaller0%
all0%
fetchFieldValues0%
connection0%
straightJoin0%
leftJoin0%
setSchemaVars0%
buildStringCast0%
getSchemaVars0%
getDefaultSchemaVars0%
replaceVars0%
lockSQLText0%
lockIsFreeSQLText0%
unlockSQLText0%
buildConcat0%
unionQueries0%
unionSupportsOrderAndLimit0%
buildGroupConcatField0%
table0%
makeUpdateOptionsArray0%
rewriteIgnoreKeyword0%
dropTableSqlText0%
isTransactableQuery0%
connection0%
delete0%
connection0%
insert0%
andSet0%
deleteJoinSqlText0%
buildIntegerCast0%
isBlob0%
setIndexAliases0%
laggedReplicaUsed0%
hasOrMadeRecentPrimaryChanges0%
getEmptyTransactionTicket0%
getReplicaDatabase0%
isLocalDomain0%
isSharedVirtualDomain0%
commitAndWaitForReplication0%
disableChronologyProtection0%
setTableAliases0%
getTransactionProfiler0%
hasTransactionRound0%
setLocalDomainPrefix0%
redefineLocalDomain0%
setAgentName0%
hasStreamingReplicaServers0%
setDefaultReplicationWaitTimeout0%
getAllMainLBs0%
getAllExternalLBs0%
reconfigure0%
newExternalLB0%
isReadyForRoundOperations0%
flushPrimarySessions0%
getAllMainLBs0%
is_deferred0%
isUnsigned0%
isZerofill0%
fromText0%
name0%
tableName0%
type0%
isNullable0%
maxLength0%
is_deferrable0%
conname0%
rollbackPrimaryChanges0%
defaultValue0%
__construct0%
name0%
tableName0%
defaultValue0%
isNullable0%
type0%
destroy0%
flushReplicaSnapshots0%
getExternalLB0%
getAllExternalLBs0%
buildStringCast0%
getConnectionInternal0%
waitForPrimaryPos0%
setLocalDomainPrefix0%
redefineLocalDomain0%
setTempTablesOnlyMode0%
stringifyConn0%
getConnLogContext0%
__construct0%
reallyOpenConnection0%
getConnection0%
getConnectionRef0%
pingAll0%
getMaintenanceConnectionRef0%
__construct0%
newFromConnection0%
sanitizeConnectionFlags0%
reallyOpenConnection0%
__destruct0%
setLogger0%
setStatsdDataFactory0%
scaleLoads0%
getMaxLag0%
getReadOnlyReason0%
__construct0%
__destruct0%
newFromConnection0%
newDisabled0%
newMainLB0%
getMainLB0%
newExternalLB0%
getExternalLB0%
getAllMainLBs0%
getAllExternalLBs0%
getLBsForOwner0%
waitForAll0%
laggedReplicaUsed0%
serverHasLoadInAnyGroup0%
getConnectionRef0%
getPrimaryPos0%
disable0%
closeConnection0%
rollbackPrimaryChanges0%
lastPrimaryChangeTimestamp0%
hasOrMadeRecentPrimaryChanges0%
explicitTrxActive0%
setLaggedReplicaMode0%
truncateTable0%
onTransactionResolution0%
doUnlock0%
decodeBlob0%
flushSnapshot0%
timestamp0%
timestampOrNull0%
ping0%
getLag0%
getSessionLagStatus0%
encodeBlob0%
setSessionOptions0%
rollback0%
setSchemaVars0%
lockIsFree0%
getInfinity0%
encodeExpiry0%
decodeExpiry0%
isReadOnly0%
setTableAliases0%
getTableAliases0%
flushSession0%
commit0%
tableName0%
getPrimaryPos0%
deleteJoin0%
insertSelect0%
unionSupportsOrderAndLimit0%
unionQueries0%
conditional0%
strreplace0%
primaryPosWait0%
serverIsReadOnly0%
begin0%
onTransactionResolution0%
onTransactionCommitOrIdle0%
onTransactionPreCommitOrIdle0%
setTransactionListener0%
startAtomic0%
endAtomic0%
cancelAtomic0%
doAtomicSection0%
setIndexAliases0%
tableNames0%
anyChar0%
isKnownStatementRollbackError0%
newDeleteQueryBuilder0%
newInsertQueryBuilder0%
newReplaceQueryBuilder0%
selectRow0%
estimateRowCount0%
checkInsertWarnings0%
databasesAreIndependent0%
duplicateTableStructure0%
newUnionQueryBuilder0%
listTables0%
ping0%
getCacheSetOptions0%
encodeBlob0%
decodeBlob0%
setSessionOptions0%
sourceFile0%
sourceStream0%
newUpdateQueryBuilder0%
newExceptionAfterConnectError0%
tableNamesN0%
fieldInfo0%
sourceFile0%
sourceStream0%
dropTable0%
truncateTable0%
streamStatementEnd0%
doLock0%
indexUnique0%
listTables0%
getDomainChangeException0%
assessConnectionLoss0%
getAttributes0%
setLogger0%
getServerInfo0%
lastDoneWrites0%
installErrorHandler0%
restoreErrorHandler0%
getLastPHPError0%
connectionErrorLogger0%
anyString0%
buildLike0%
isReadOnly0%
pendingWriteCallers0%
getLBInfo0%
setLBInfo0%
implicitOrderby0%
lastDoneWrites0%
writesPending0%
writesOrCallbacksPending0%
pendingWriteQueryDuration0%
isOpen0%
tablePrefix0%
setFlag0%
clearFlag0%
restoreFlags0%
getFlag0%
getProperty0%
insertId0%
lastErrno0%
lastError0%
dbSchema0%
explicitTrxActive0%
getSoftwareLink0%
getConfiguredReason0%
stopTracking0%
recordQuery0%
setLogger0%
hasFlags0%
getDBOptions0%
getDBFromIndex0%
getDBFromRecency0%
isConfiguredReadOnly0%
trxTimestamp0%
getLagTimes0%
setStatsFactory0%
setRequestMethod0%
setExpectations0%
resetExpectations0%
redefineExpectations0%
getServerInfo0%
trxLevel0%
affectedRows0%
getServerVersion0%
addIdentifierQuotes0%
buildStringCast0%
bitAnd0%
bitOr0%
buildConcat0%
buildGroupConcatField0%
buildGreatest0%
buildLeast0%
buildSubstring0%
buildIntegerCast0%
factorConds0%
buildExcludedValue0%
buildSelectSubquery0%
databasesAreIndependent0%
selectDomain0%
getDBname0%
getServer0%
getServerName0%
addQuotes0%
bitNot0%
makeWhereFrom2d0%
query0%
selectSQLText0%
newSelectQueryBuilder0%
newUnionQueryBuilder0%
newUpdateQueryBuilder0%
newDeleteQueryBuilder0%
newInsertQueryBuilder0%
newReplaceQueryBuilder0%
selectField0%
selectFieldValues0%
limitResult0%
makeList0%
selectRow0%
estimateRowCount0%
selectRowCount0%
lockForUpdate0%
fieldExists0%
indexExists0%
tableExists0%
buildComparison0%
truncateTable0%
duplicateTableStructure0%
lastInsertId0%
isQueryTimeoutError0%
isKnownStatementRollbackError0%
__construct0%
getType0%
open0%
doSelectDomain0%
lastError0%
isConnectionError0%
truncateTable0%
getValueTypesForWithClause0%
doInsertSelectNative0%
isInsertSelectSafe0%
checkInsertWarnings0%
indexAttributes0%
indexInfo0%
estimateRowCount0%
duplicateTableStructure0%
listTables0%
lastError0%
primaryPosWait0%
getTableAliases0%
buildGroupConcatField0%
closeConnection0%
setSchemaVars0%
getCoreSchema0%
determineCoreSchema0%
setSearchPath0%
getPrimaryPos0%
pg_array_parse0%
getSearchPath0%
getLag0%
getSchemas0%
getSessionLagStatus0%
getCurrentSchema0%
attributesFromType0%
getSoftwareLink0%
lastErrno0%
lastInsertId0%
getCoreSchemas0%
isConnectionError0%
doLock0%
doUnlock0%
lastErrno0%
doFlushSession0%
upsert0%
replace0%
isQueryTimeoutError0%
setSessionOptions0%
isKnownStatementRollbackError0%
duplicateTableStructure0%
listTables0%
insertId0%
doSingleStatementQuery0%
doHandleSessionLossPreconnect0%
mysqlConnect0%
doLockIsFree0%
getServerVersion0%
dumpError0%
databasesAreIndependent0%
estimateRowCount0%
doSingleStatementQuery0%
tableExists0%
fieldInfo0%
closeConnection0%
makeConnectionString0%
doSelectDomain0%
indexInfo0%
mysqlError0%
open0%
getType0%
__construct0%
mysqlRealEscapeString0%
strencode0%
serverIsReadOnly0%
getSoftwareLink0%
decodeExpiry0%
buildSelectSubquery0%
encodeExpiry0%
attachDatabase0%
buildStringCast0%
buildSubstring0%
buildLeast0%
getInfinity0%
doUnlock0%
buildGreatest0%
buildConcat0%
doFlushSession0%
serverIsReadOnly0%
bitOr0%
bitAnd0%
getInsertIdColumnForUpsert0%
getAttributes0%
bitNot0%
tableExists0%
tableNamesN0%
isConnectionError0%
isKnownStatementRollbackError0%
factorConds0%
getSoftwareLink0%
makeWhereFrom2d0%
buildComparison0%
strencode0%
encodeBlob0%
implicitOrderby0%
decodeBlob0%
trxTimestamp0%
__sleep0%
__clone0%
doLockIsFree0%
buildIntegerCast0%
doLock0%
addIdentifierQuotes0%
fieldInfo0%
constraintExists0%
unionSupportsOrderAndLimit0%
schemaExists0%
roleExists0%
limitResult0%
unionQueries0%
conditional0%
anyString0%
relationExists0%
anyChar0%
strreplace0%
buildLike0%
tableExists0%
timestamp0%
encodeBlob0%
addQuotes0%
timestampOrNull0%
doLockIsFree0%
isQuotedIdentifier0%
decodeBlob0%
streamStatementEnd0%
sequenceExists0%
strencode0%
getServerVersion0%
awaitSessionPrimaryPos7%
assertTransactionRoundStage16%
attachDatabasesFromTableAliases20%
assertTransactionRoundStage20%
getFulltextSearchModule21%
assertConnectionDomain25%
approvePrimaryChanges28%
getQueryVerb28%
reportQueryError33%
getBindingHandle33%
unlock35%
fetchField37%
execute40%
generateDatabaseName40%
generateFileName40%
initConnectionFlags40%
execute42%
rawTables42%
runTransactionListenerCallbacks42%
orderBy45%
assertValidUpsertSetArray45%
pickAnyOpenConnection45%
getRandomNonLagged45%
execute50%
insert50%
setIndexHint50%
addIdentifierQuotes50%
assertValidUpsertRowArray50%
update50%
delete50%
replace50%
handleErroredQuery50%
enforceConnectionFlags50%
lock50%
unlock50%
getScopedLockAndFlush50%
logIfMultiDbTransaction50%
assertHasConnectionHandle50%
upsert50%
lock50%
selectDomain50%
lockForUpdate50%
runPrimaryTransactionIdleCallbacks52%
selectSQLText53%
pickReaderIndex55%
acquireServerStatesLoopGuard55%
getMaintenanceConnectionRef55%
selectSQLText57%
limitResult57%
getDatabaseAndTableIdentifier57%
runPrimaryTransactionListenerCallbacks60%
normalizeJoinType60%
flushSession60%
normalizeJoinType60%
getQueryException60%
reportConnectionError60%
newFromArray62%
completeCriticalSection63%
commitPrimaryChanges65%
__construct66%
setRequestInfo66%
pendingWriteCallers66%
trxLevel66%
isStateFresh66%
getDomainID66%
fetchField66%
fetchFieldValues66%
getRowCountVar66%
buildGroupConcatField66%
setWaitForReplicationListener66%
getMappedDomain66%
__toString66%
acquireRowLocks66%
getServerVersion66%
setTableAliases66%
relationSchemaQualifier66%
getConnection66%
makeKeyCollisionCondition68%
begin68%
resolveDomainInstance69%
beginPrimaryChanges69%
selectField69%
replaceLostConnection69%
__construct70%
set71%
onTransactionPreCommitOrIdle71%
insert71%
loadSessionPrimaryPos71%
transactionWritingOut71%
getTouched71%
beginPrimaryChanges71%
recordQueryCompletion71%
getClass72%
addQuotes72%
normalizeRowArray72%
resolveGroups73%
tableNameWithAlias73%
getServerConnection73%
runOnTransactionIdleCallbacks73%
hasPrimaryChanges75%
commenceCriticalSection75%
getLBsForOwner75%
hasPrimaryChanges75%
buildSuperlative75%
option75%
makeSelectOptions75%
getDefaultPragmas75%
getLBsForOwner75%
toSql75%
fetchRow75%
field75%
limit75%
option75%
offset75%
option75%
selectFieldValues75%
__construct76%
makeInsertLists76%
getServerStates76%
open76%
rollback77%
sanitizeConnectionFlags77%
getReaderIndex78%
attemptQuery79%
reallyOpenConnection79%
getLockFileDirectory80%
flushPrimarySessions80%
__construct80%
makeUpdateOptionsArray80%
setTransactionListener80%
makeSelectOptions80%
unionQueries80%
conditional80%
autoReconfigure80%
normalizeUpsertKeys80%
stageSessionPrimaryPos80%
normalizeOptions80%
lastErrno80%
normalizeServerMaps80%
doBegin80%
commitPrimaryChanges80%
getType80%
startAtomic80%
__destruct81%
doSelectDomain81%
getStateFromWanCache81%
replace81%
reportExpectationViolated82%
computeServerState82%
endAtomic83%
mergeOption83%
runTransactionPostCommitCallbacks83%
makeOrderBy83%
selectFieldsOrOptionsAggregate83%
undoTransactionRoundFlags83%
applyTransactionRoundFlags83%
__construct83%
restoreFlags83%
normalizeUpsertParams83%
close84%
getActiveGtidCoordinates84%
makeList85%
setLBInfo85%
getServerInfoStrict85%
setExpectation85%
set85%
getReadOnlyReason85%
queryInfo85%
clearFlag85%
persistSessionReplicationPositions86%
configure86%
init86%
waitForReplication86%
toSql86%
tableNamesWithIndexClauseOrJOIN87%
getMySqlServerVariant87%
onTransactionCommitOrIdle87%
scrubArray87%
dispatchingInsertSqlText87%
doFetchRow87%
newMainLB87%
extractSingleFieldFromList87%
__toString87%
addQuotes88%
getDatabaseAndTableIdentifier88%
lazyStartup88%
getScopedLockAndFlush88%
__construct88%
deleteJoinSqlText88%
configure89%
reconfigure89%

Project Risks

Method CRAP
assessConnectionLoss380
sourceStream240
open210
primaryPosWait182
open182
replaceVars182
selectSQLText182
mysqlConnect156
awaitSessionPrimaryPos127
selectSQLText126
getPrimaryPos110
onCommit90
addJoin90
makeInsertLists90
waitForAll72
waitForPrimaryPos72
getCacheSetOptions56
reassignCallbacksForSection56
onFlushSnapshot56
makeSelectOptions56
getInsertIdColumnForUpsert56
addQuotes56
getReplicaPos56
estimateRowCount56
isWriteQuery56
getPlatform56
table56
makeList49
approvePrimaryChanges46
closeConnection42
recordQuery42
doSingleStatementQuery42
isLocalDomain42
trxCheckBeforeClose42
getDefaultValueDeclarationSQL42
__construct42
newFromArray42
getSQLDeclaration42
pg_array_parse42
assertValidUpsertSetArray30
__construct30
checkInsertWarnings30
commitAndWaitForReplication30
getSQLDeclaration30
writesOrCallbacksPending30
doSelectDomain30
indexAttributes30
lastError30
relationExists30
getMaxLag30
updateTrxWriteQueryReport30
getDBOptions30
duplicateTableStructure30
queryInfo30
listTables30
estimateRowCount30
estimateRowCount30
recordQueryCompletion29
handleErroredQuery22
execute22
open22
runPrimaryTransactionIdleCallbacks20
isInsertSelectSafe20
assertTransactionStatus20
lastError20
pendingWriteQueryDuration20
constraintExists20
determineCoreSchema20
getServerVersion20
setSessionOptions20
onEndAtomic20
doFlushSession20
getLagFromPtHeartbeat20
listTables20
getLagFromSlaveStatus20
getValueTypesForWithClause20
onBegin20
indexInfo20
cancelAtomic20
getPositionFromSectionId20
doLock20
_getCreateTableSQL20
reconfigure20
decodeExpiry20
doFetchObject20
doFetchRow20
rollbackPrimaryChanges20
isSharedVirtualDomain20
execute20
flushReplicaSnapshots20
encodeExpiry20
getSQLDeclaration20
pickReaderIndex18
reallyOpenConnection15
getRandomNonLagged14
resolveGroups14
tableNamesWithIndexClauseOrJOIN14
attemptQuery13
makeSelectOptions13
getActiveGtidCoordinates12
configure12
transactionWritingOut12
attachDatabasesFromTableAliases12
flushSession12
explicitTrxActive12
serverHasLoadInAnyGroup12
fetchFieldValues12
getPrimaryPos12
pingAll12
getReadOnlyReason12
recency12
explicitTrxActive12
setLocalDomainPrefix12
currentAtomicSectionId12
onCancelAtomicBeforeCriticalSection12
rewriteIgnoreKeyword12
deleteJoinSqlText12
__construct12
checkFetchError12
__construct12
defaultValue12
convertBoolean12
getFloatDeclarationSQL12
decodeBlob12
getTopologyBasedReadOnlyReason12
getApproximateLagStatus12
getServerRoleStatus12
getServerGTIDs12
getCommonIntegerTypeDeclarationForMySQL12
__construct12
fromText12
getApproximateLagStatus12
getInternalFieldInfo12
fetchSecondsSinceHeartbeat12
rollbackPrimaryChanges12
laggedReplicaUsed12
hasOrMadeRecentPrimaryChanges12
pendingWriteAndCallbackCallers12
runOnTransactionPreCommitCallbacks12
modifyCallbacksForCancel12
hasStreamingReplicaServers12
getAllMainLBs12
onDestruct12
startTracking12
getLag12
__construct12
dbSchema12
ping12
lastErrno12
getCoreSchemas12
duplicateTableStructure12
decodeBlob12
streamStatementEnd12
doSingleStatementQuery12
selectRow12
indexInfo12
listTables12
getServerName12
sourceFile12
tablePrefix12
getLagTimes12
getDBFromIndex12
doSelectDomain12
buildSuperlative11
toSql11
waitForReplication11
normalizeJoinType10
makeKeyCollisionCondition10
reportConnectionError10
rollback9
computeServerState9
getClass9
selectFieldsOrOptionsAggregate9
tableNameWithAlias9
orderBy9
selectSQLText8
getReaderIndex8
commitPrimaryChanges8
init8
logIfMultiDbTransaction8
setIndexHint8
lazyStartup8
reconfigure8
getServerConnection7
runOnTransactionIdleCallbacks7
commitPrimaryChanges7
generateFileName7
execute7
normalizeUpsertKeys7
getFulltextSearchModule7
startAtomic7
configure7
selectField7
resolveDomainInstance7
runTransactionListenerCallbacks6
loadSessionPrimaryPos6
onTransactionPreCommitOrIdle6
normalizeRowArray6
addQuotes6
pickAnyOpenConnection6
__construct6
makeInsertLists6
getServerStates6
normalizeServerMaps6
getQueryVerb6
completeCriticalSection6
endAtomic6
close6
addQuotes6
assertSessionStatus6
pendingWriteCallers6
sessionStatus6
doLock6
setTransactionError6
closeConnection6
getExternalLB6
flatAtomicSectionList6
enforceConnectionFlags6
getLBsForOwner6
schemaExists6
getAllExternalLBs6
attachDatabase6
getAllExternalLBs6
redefineLocalDomain6
setLocalDomainPrefix6
getServerVersion6
getReplicaDatabase6
getEmptyTransactionTicket6
lastPrimaryChangeTimestamp6
ping6
hasOrMadeRecentPrimaryChanges6
setExpectations6
connection6
connection6
getQueryInfo6
uniqueIndexFields6
connection6
tableExists6
getDBFromRecency6
connection6
connection6
isTransactableQuery6
unionQueries6
setSchemaVars6
assertValidUpsertRowArray6
tableNamesN6
serverIsReadOnly6
getLastPHPError6
timestampOrNull6
trxLevel6
isTransactableQuery6
query6
limitResult6
makeLockName6
isTransactableQuery6
getDBname6
trxTimestamp6
reallyOpenConnection6
doFlushSession6
setTempTablesOnlyMode6
lastInsertId6
restoreErrorHandler6
doInsertSelectNative6
insertId6
newExternalLB6
doGetFieldNames6
makeEnumTypeSql6
onGetScopedLockAndFlush6
getTableSchema6
mysqlError6
setTransactionListener6
attributesFromType6
newFromQuery6
stringify6
doGetFieldNames6
doGetLag6
onTransactionResolution6
doGetFieldNames6
writesPending6
transactionWritingOut6
replace6
lastErrno6
doFetchRow6
doFetchObject6
makeConnectionString6
upsert6
getSessionLagStatus6
getReplicationSafetyInfo6
doLock6
getRecordedTransactionLagStatus6
tableExists6
fieldInfo6
getSoftwareLink6
stopTracking6
transactionWritingIn6
getServerUUID6
__clone6
__construct6
serverIsReadOnly6
nextSavePointId6
dumpError6
flushPrimarySessions6
decodeBlob6
closeConnection6
popAtomicLevel6
pendingPreCommitCallbackCallers6
destroy6
__construct6
defaultValue6
onEndAtomicInCriticalSection6
toGeneralizedSql6
onCommitInCriticalSection6
begin5
__construct5
getMaintenanceConnectionRef5
selectFieldValues5
unlock5
makeSelectOptions5
getDatabaseAndTableIdentifier5
limitResult5
getLockFileDirectory5
stageSessionPrimaryPos5
fetchField5
replace5
getServerInfoStrict5
persistSessionReplicationPositions5
onTransactionCommitOrIdle5
getScopedLockAndFlush5
getDatabaseAndTableIdentifier5
normalizeJoinType5
runPrimaryTransactionListenerCallbacks5
initConnectionFlags4
generateDatabaseName4
newFromArray4
rawTables4
execute4
getConnection4
beginPrimaryChanges4
getTouched4
set4
assertTransactionRoundStage4
commenceCriticalSection4
sanitizeConnectionFlags4
unionQueries4
normalizeOptions4
lock4
lockForUpdate4
doSelectDomain4
getStateFromWanCache4
__destruct4
reportExpectationViolated4
undoTransactionRoundFlags4
applyTransactionRoundFlags4
set4
queryInfo4
setLBInfo4
assertTransactionRoundStage4
extractSingleFieldFromList4
scrubArray4
assertConnectionDomain3
getQueryException3
getMappedDomain3
acquireRowLocks3
getRowCountVar3
replaceLostConnection3
beginPrimaryChanges3
insert3
getBindingHandle3
reportQueryError3
getLBsForOwner3
getLBsForOwner3
hasPrimaryChanges3
hasPrimaryChanges3
getType3
lastErrno3
flushPrimarySessions3
setTransactionListener3
__construct3
autoReconfigure3
conditional3
restoreFlags3
makeOrderBy3
mergeOption3
getReadOnlyReason3
setExpectation3
clearFlag3
__toString3
getMySqlServerVariant3
newMainLB3
dispatchingInsertSqlText3
doFetchRow3
deleteJoinSqlText3
addIdentifierQuotes2
assertHasConnectionHandle2
selectDomain2
acquireServerStatesLoopGuard2
buildGroupConcatField2
setWaitForReplicationListener2
fetchFieldValues2
fetchField2
setRequestInfo2
setTableAliases2
trxLevel2
__toString2
getDomainID2
relationSchemaQualifier2
pendingWriteCallers2
isStateFresh2
getServerVersion2
__construct2
option2
option2
limit2
offset2
getDefaultPragmas2
field2
toSql2
fetchRow2
option2
doBegin2
makeUpdateOptionsArray2
normalizeUpsertParams2
__construct2
runTransactionPostCommitCallbacks2
__construct2