Classes

Coverage Distribution

Complexity

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
getServerInfo0%
trxLevel0%
trxTimestamp0%
explicitTrxActive0%
tablePrefix0%
dbSchema0%
getLBInfo0%
setLBInfo0%
implicitOrderby0%
lastDoneWrites0%
writesPending0%
writesOrCallbacksPending0%
pendingWriteQueryDuration0%
pendingWriteCallers0%
isOpen0%
setFlag0%
clearFlag0%
restoreFlags0%
getFlag0%
getProperty0%
insertId0%
lastErrno0%
lastError0%
affectedRows0%
getSoftwareLink0%
getServerVersion0%
query0%
newSelectQueryBuilder0%
newUnionQueryBuilder0%
newUpdateQueryBuilder0%
newDeleteQueryBuilder0%
newInsertQueryBuilder0%
newReplaceQueryBuilder0%
selectField0%
selectFieldValues0%
selectSQLText0%
limitResult0%
selectRow0%
estimateRowCount0%
selectRowCount0%
lockForUpdate0%
fieldExists0%
indexExists0%
tableExists0%
buildComparison0%
makeList0%
makeWhereFrom2d0%
factorConds0%
bitNot0%
bitAnd0%
bitOr0%
buildConcat0%
buildGroupConcatField0%
buildGreatest0%
buildLeast0%
buildSubstring0%
buildStringCast0%
buildIntegerCast0%
buildExcludedValue0%
buildSelectSubquery0%
databasesAreIndependent0%
selectDomain0%
getDBname0%
getServer0%
getServerName0%
addQuotes0%
addIdentifierQuotes0%
buildLike0%
anyChar0%
anyString0%
deleteJoin0%
insertSelect0%
unionSupportsOrderAndLimit0%
unionQueries0%
conditional0%
strreplace0%
primaryPosWait0%
getPrimaryPos0%
serverIsReadOnly0%
onTransactionResolution0%
onTransactionCommitOrIdle0%
onTransactionPreCommitOrIdle0%
setTransactionListener0%
startAtomic0%
endAtomic0%
cancelAtomic0%
doAtomicSection0%
begin0%
commit0%
rollback0%
flushSession0%
flushSnapshot0%
timestamp0%
timestampOrNull0%
ping0%
getLag0%
getSessionLagStatus0%
encodeBlob0%
decodeBlob0%
setSessionOptions0%
setSchemaVars0%
lockIsFree0%
getInfinity0%
encodeExpiry0%
decodeExpiry0%
isReadOnly0%
setTableAliases0%
getTableAliases0%
tableName0%
tableNames0%
tableNamesN0%
sourceFile0%
sourceStream0%
dropTable0%
truncateTable0%
streamStatementEnd0%
duplicateTableStructure0%
indexUnique0%
listTables0%
fieldInfo0%
getDomainChangeException0%
getAttributes0%
setLogger0%
getServerInfo0%
lastDoneWrites0%
installErrorHandler0%
restoreErrorHandler0%
getLastPHPError0%
connectionErrorLogger0%
assessConnectionLoss0%
newExceptionAfterConnectError0%
newUnionQueryBuilder0%
newUpdateQueryBuilder0%
newDeleteQueryBuilder0%
newInsertQueryBuilder0%
newReplaceQueryBuilder0%
selectRow0%
estimateRowCount0%
checkInsertWarnings0%
databasesAreIndependent0%
isKnownStatementRollbackError0%
duplicateTableStructure0%
listTables0%
ping0%
getCacheSetOptions0%
encodeBlob0%
decodeBlob0%
setSessionOptions0%
sourceFile0%
sourceStream0%
truncateTable0%
isReadOnly0%
__clone0%
__sleep0%
trxTimestamp0%
implicitOrderby0%
buildComparison0%
makeWhereFrom2d0%
factorConds0%
bitNot0%
bitAnd0%
bitOr0%
buildConcat0%
buildGreatest0%
buildLeast0%
buildSubstring0%
buildStringCast0%
buildIntegerCast0%
tableNamesN0%
addIdentifierQuotes0%
isQuotedIdentifier0%
buildLike0%
anyChar0%
anyString0%
limitResult0%
unionSupportsOrderAndLimit0%
unionQueries0%
conditional0%
strreplace0%
timestamp0%
timestampOrNull0%
getInfinity0%
encodeExpiry0%
decodeExpiry0%
getTableAliases0%
buildGroupConcatField0%
buildSelectSubquery0%
setSchemaVars0%
primaryPosWait0%
getPrimaryPos0%
getLag0%
getSessionLagStatus0%
attributesFromType0%
__construct0%
getType0%
open0%
doSelectDomain0%
lastError0%
isInsertSelectSafe0%
checkInsertWarnings0%
estimateRowCount0%
tableExists0%
fieldInfo0%
indexInfo0%
strencode0%
serverIsReadOnly0%
getSoftwareLink0%
getServerVersion0%
setSessionOptions0%
doLockIsFree0%
doLock0%
doUnlock0%
doFlushSession0%
upsert0%
replace0%
isConnectionError0%
isQueryTimeoutError0%
isKnownStatementRollbackError0%
duplicateTableStructure0%
listTables0%
doSingleStatementQuery0%
mysqlConnect0%
closeConnection0%
lastInsertId0%
doHandleSessionLossPreconnect0%
insertId0%
lastErrno0%
mysqlError0%
mysqlRealEscapeString0%
__construct0%
getType0%
open0%
databasesAreIndependent0%
doSelectDomain0%
getBindingHandle0%
makeConnectionString0%
closeConnection0%
doSingleStatementQuery0%
dumpError0%
lastInsertId0%
lastError0%
lastErrno0%
estimateRowCount0%
indexInfo0%
indexAttributes0%
doInsertSelectNative0%
getValueTypesForWithClause0%
isConnectionError0%
isQueryTimeoutError0%
isKnownStatementRollbackError0%
duplicateTableStructure0%
truncateTable0%
listTables0%
pg_array_parse0%
getSoftwareLink0%
getCurrentSchema0%
getSchemas0%
getSearchPath0%
setSearchPath0%
determineCoreSchema0%
getCoreSchema0%
getCoreSchemas0%
getServerVersion0%
relationExists0%
tableExists0%
sequenceExists0%
constraintExists0%
schemaExists0%
roleExists0%
fieldInfo0%
encodeBlob0%
decodeBlob0%
strencode0%
addQuotes0%
streamStatementEnd0%
doLockIsFree0%
doLock0%
doUnlock0%
doFlushSession0%
serverIsReadOnly0%
getInsertIdColumnForUpsert0%
getAttributes0%
attachDatabase0%
tableExists0%
isConnectionError0%
isKnownStatementRollbackError0%
getSoftwareLink0%
getServerVersion0%
strencode0%
encodeBlob0%
decodeBlob0%
doLockIsFree0%
doLock0%
doUnlock0%
listTables0%
truncateTable0%
doHandleSessionLossPreconnect0%
doFlushSession0%
__construct0%
isWriteQuery0%
getVerb0%
fieldHasBit0%
getSQL0%
getFlags0%
getWriteTable0%
getCleanedSql0%
__construct0%
trxLevel0%
getTrxId0%
consumeTrxId0%
trxTimestamp0%
trxStatus0%
setTrxStatusToOk0%
setTrxStatusToNone0%
assertTransactionStatus0%
assertSessionStatus0%
setTransactionError0%
setTrxStatusIgnoredCause0%
sessionStatus0%
setSessionError0%
clearSessionError0%
calculateLastTrxApplyTime0%
pendingWriteCallers0%
updateTrxWriteQueryReport0%
pendingWriteQueryDuration0%
flatAtomicSectionList0%
resetTrxAtomicLevels0%
explicitTrxActive0%
trxCheckBeforeClose0%
onCancelAtomicBeforeCriticalSection0%
currentAtomicSectionId0%
addToAtomicLevels0%
onBegin0%
onCommit0%
onEndAtomic0%
getPositionFromSectionId0%
cancelAtomic0%
popAtomicLevel0%
setAutomaticAtomic0%
turnOnAutomatic0%
nextSavePointId0%
writesPending0%
onDestruct0%
transactionWritingIn0%
transactionWritingOut0%
recordQueryCompletion0%
onTransactionResolution0%
addPostCommitOrIdleCallback0%
addPreCommitOrIdleCallback0%
setTransactionListener0%
setTrxEndCallbackSuppression0%
reassignCallbacksForSection0%
modifyCallbacksForCancel0%
consumeEndCallbacks0%
runOnTransactionPreCommitCallbacks0%
clearPreEndCallbacks0%
clearEndCallbacks0%
writesOrCallbacksPending0%
pendingWriteAndCallbackCallers0%
pendingPreCommitCallbackCallers0%
isEndCallbacksSuppressed0%
getRecurringCallbacks0%
countPostCommitOrIdleCallbacks0%
onBeginInCriticalSection0%
onRollbackInCriticalSection0%
onCommitInCriticalSection0%
onSessionLoss0%
onEndAtomicInCriticalSection0%
onFlushSnapshot0%
onGetScopedLockAndFlush0%
__construct0%
doGetLag0%
getLagFromSlaveStatus0%
getLagFromPtHeartbeat0%
fetchSecondsSinceHeartbeat0%
getApproximateLagStatus0%
getReplicationSafetyInfo0%
useGTIDs0%
primaryPosWait0%
getReplicaPos0%
getPrimaryPos0%
getServerId0%
getServerUUID0%
getServerGTIDs0%
getServerRoleStatus0%
__construct0%
getTopologyRole0%
getLag0%
doGetLag0%
getApproximateLagStatus0%
primaryPosWait0%
getReplicaPos0%
getPrimaryPos0%
getTopologyBasedReadOnlyReason0%
resetReplicationLagStatus0%
getRecordedTransactionLagStatus0%
getSessionLagStatus0%
getLogContext0%
doFree0%
doGetFieldNames0%
__construct0%
doNumRows0%
checkFetchError0%
doFetchObject0%
doFetchRow0%
doSeek0%
doFree0%
doGetFieldNames0%
getInternalFieldInfo0%
__construct0%
doNumRows0%
doFetchObject0%
doFetchRow0%
convertBoolean0%
doSeek0%
doFree0%
doGetFieldNames0%
count0%
free0%
getFieldNames0%
doFree0%
doGetFieldNames0%
__construct0%
__construct0%
stringify0%
getRawSql0%
newFromQuery0%
__construct0%
__construct0%
__construct0%
__toString0%
attachDatabasesFromTableAliases20%
getFulltextSearchModule21%
getQueryVerb28%
reportQueryError33%
getBindingHandle33%
unlock35%
initConnectionFlags40%
generateFileName40%
generateDatabaseName40%
runTransactionListenerCallbacks42%
insert50%
update50%
replace50%
upsert50%
delete50%
lock50%
unlock50%
getScopedLockAndFlush50%
assertHasConnectionHandle50%
handleErroredQuery50%
lockForUpdate50%
selectDomain50%
lock50%
selectSQLText57%
getQueryException60%
flushSession60%
newFromArray62%
completeCriticalSection63%
getDomainID66%
__toString66%
trxLevel66%
pendingWriteCallers66%
setTableAliases66%
__construct66%
begin68%
selectField69%
replaceLostConnection69%
insert71%
onTransactionPreCommitOrIdle71%
getClass72%
addQuotes72%
runOnTransactionIdleCallbacks73%
attemptQuery75%
selectFieldValues75%
commenceCriticalSection75%
getDefaultPragmas75%
open76%
rollback77%
getType80%
getLockFileDirectory80%
lastErrno80%
doBegin80%
startAtomic80%
replace81%
__destruct81%
doSelectDomain81%
runTransactionPostCommitCallbacks83%
endAtomic83%
restoreFlags83%
close84%
getActiveGtidCoordinates84%
setLBInfo85%
getReadOnlyReason85%
clearFlag85%
onTransactionCommitOrIdle87%
__toString87%
getMySqlServerVariant87%
doFetchRow87%
addQuotes88%
getScopedLockAndFlush88%
__construct88%
init89%

Project Risks

Method CRAP
assessConnectionLoss380
sourceStream240
open210
open182
primaryPosWait182
mysqlConnect156
getPrimaryPos110
onCommit90
getCacheSetOptions56
estimateRowCount56
addQuotes56
getInsertIdColumnForUpsert56
isWriteQuery56
reassignCallbacksForSection56
onFlushSnapshot56
getReplicaPos56
doSingleStatementQuery42
pg_array_parse42
trxCheckBeforeClose42
estimateRowCount30
doSelectDomain30
checkInsertWarnings30
lastError30
estimateRowCount30
indexInfo30
indexAttributes30
duplicateTableStructure30
relationExists30
listTables30
updateTrxWriteQueryReport30
writesOrCallbacksPending30
__construct30
handleErroredQuery22
open22
lastError20
isInsertSelectSafe20
getServerVersion20
setSessionOptions20
doFlushSession20
getValueTypesForWithClause20
listTables20
determineCoreSchema20
constraintExists20
doLock20
assertTransactionStatus20
pendingWriteQueryDuration20
onBegin20
onEndAtomic20
getPositionFromSectionId20
cancelAtomic20
getLagFromSlaveStatus20
getLagFromPtHeartbeat20
doFetchObject20
doFetchRow20
attemptQuery14
getActiveGtidCoordinates12
attachDatabasesFromTableAliases12
flushSession12
tablePrefix12
dbSchema12
getServerName12
selectRow12
ping12
sourceFile12
__construct12
indexInfo12
duplicateTableStructure12
listTables12
doSingleStatementQuery12
doSelectDomain12
lastErrno12
getCoreSchemas12
decodeBlob12
streamStatementEnd12
decodeBlob12
explicitTrxActive12
onCancelAtomicBeforeCriticalSection12
currentAtomicSectionId12
onDestruct12
modifyCallbacksForCancel12
runOnTransactionPreCommitCallbacks12
pendingWriteAndCallbackCallers12
fetchSecondsSinceHeartbeat12
getApproximateLagStatus12
getServerGTIDs12
getServerRoleStatus12
getLag12
getApproximateLagStatus12
getTopologyBasedReadOnlyReason12
checkFetchError12
getInternalFieldInfo12
convertBoolean12
rollback9
getClass9
selectSQLText8
runOnTransactionIdleCallbacks7
generateFileName7
getFulltextSearchModule7
startAtomic7
init7
selectField7
runTransactionListenerCallbacks6
onTransactionPreCommitOrIdle6
addQuotes6
getQueryVerb6
completeCriticalSection6
endAtomic6
close6
addQuotes6
query6
getDBname6
ping6
restoreErrorHandler6
getLastPHPError6
decodeBlob6
__clone6
attributesFromType6
tableExists6
fieldInfo6
serverIsReadOnly6
getSoftwareLink6
doLock6
upsert6
replace6
closeConnection6
insertId6
lastErrno6
mysqlError6
makeConnectionString6
closeConnection6
dumpError6
lastInsertId6
doInsertSelectNative6
getServerVersion6
schemaExists6
doLock6
doFlushSession6
serverIsReadOnly6
attachDatabase6
tableExists6
getServerVersion6
trxLevel6
trxTimestamp6
assertSessionStatus6
setTransactionError6
sessionStatus6
pendingWriteCallers6
flatAtomicSectionList6
popAtomicLevel6
nextSavePointId6
writesPending6
transactionWritingIn6
transactionWritingOut6
onTransactionResolution6
setTransactionListener6
pendingPreCommitCallbackCallers6
onCommitInCriticalSection6
onEndAtomicInCriticalSection6
onGetScopedLockAndFlush6
doGetLag6
getReplicationSafetyInfo6
getServerUUID6
getRecordedTransactionLagStatus6
getSessionLagStatus6
doFetchObject6
doFetchRow6
doGetFieldNames6
doGetFieldNames6
doGetFieldNames6
stringify6
newFromQuery6
__construct6
begin5
selectFieldValues5
unlock5
getLockFileDirectory5
replace5
onTransactionCommitOrIdle5
getScopedLockAndFlush5
initConnectionFlags4
generateDatabaseName4
newFromArray4
commenceCriticalSection4
lockForUpdate4
lock4
__destruct4
doSelectDomain4
setLBInfo4
getQueryException3
replaceLostConnection3
insert3
reportQueryError3
getBindingHandle3
getType3
lastErrno3
restoreFlags3
getReadOnlyReason3
clearFlag3
__toString3
getMySqlServerVariant3
doFetchRow3
assertHasConnectionHandle2
selectDomain2
getDomainID2
__toString2
trxLevel2
pendingWriteCallers2
setTableAliases2
__construct2
getDefaultPragmas2
doBegin2
runTransactionPostCommitCallbacks2
__construct2