Classes

Coverage Distribution

Complexity

Methods

Coverage Distribution

Complexity

Insufficient Coverage

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

Project Risks

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