Classes

Coverage Distribution

Complexity

Methods

Coverage Distribution

Complexity

Insufficient Coverage

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

Project Risks

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