classZtdMysqli
class ZtdMysqli
extends mysqli
@visibility public.mysqli proxy that enforces ZTD behavior for reads and writes.
Uses delegation pattern: extends mysqli for type compatibility, but delegates all operations to an inner mysqli instance when using fromMysqli().
All public methods are explicitly overridden to prevent parent class implementation from being called when constructed via fromMysqli().
Properties are delegated via __get/__isset to the inner mysqli instance.
Supports optional Platform injection. If no platform is provided, MySqlPlatform is used by default (mysqli is MySQL-only).
$container = \Testcontainers\Testcontainers::run(\Container\MySqlRelease::fromEnvironment());
$endpoint = $container->getData(\Container\Endpoint::class);
$native = new \mysqli($endpoint->host, $endpoint->username, $endpoint->password, $endpoint->database, $endpoint->port);
$native->set_charset('utf8mb4');
$native->query('CREATE TABLE accounts (id INT PRIMARY KEY, balance INT)');
$native->query('INSERT INTO accounts VALUES (1, 10)');
$ztd = \ZtdQuery\Adapter\Mysqli\ZtdMysqli::fromMysqli($native);
$ztd->query('INSERT INTO accounts VALUES (2, 20)');
$ztd->lastAffectedRows() // => 1
$ztd->query('SELECT id FROM accounts')->fetch_all(MYSQLI_ASSOC) // => [['id' => 2]]
$native->query('SELECT id FROM accounts')->fetch_all(MYSQLI_ASSOC) // => [['id' => '1']]
$native->query('DROP TABLE accounts');
$container->stop();Methods§
public function __construct(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null,
?ZtdConfig $config = null,
?Platform $platform = null,
)Configure a new ZTD-enabled mysqli wrapper.
If $platform is provided, its database semantics are used by the core executor. If $platform is null, MySqlPlatform is used by default.
Parameters
Calls 3
- static-call
mysqli::__construct()line 75 - new ConnectionExecution line 76
- new
mysqliline 76
public static function fromMysqli(
mysqli $mysqli,
?ZtdConfig $config = null,
?Platform $platform = null,
): selfCreate a ZtdMysqli wrapper around an existing mysqli instance.
This allows reusing an existing mysqli connection instead of creating a new one. The wrapped mysqli instance will be used for all database operations.
If $platform is provided, its database semantics are used by the core executor. If $platform is null, MySqlPlatform is used by default.
Returns
selfTest cases 103
MysqliCteShadowingTest::testAffectedRowsAfterInsertcallsMysqliCteShadowingTest::testAffectedRowsAfterMultipleInsertscallsMysqliCteShadowingTest::testAffectedRowsCountsOnlyChangedMySqlRowscallsMysqliCteShadowingTest::testAutoIncrementUsesShadowCounterWithoutModifyingPhysicalTablecallsMysqliCteShadowingTest::testCteDefinitionsRemainVisibleToSimulatedDmlcallsMysqliCteShadowingTest::testDisableZtdBypassesRewritingcallsMysqliCteShadowingTest::testEnableDisableTogglecallsMysqliCteShadowingTest::testEnumUsesDeclarationRanksForOrderingAndComparisoncallsMysqliCteShadowingTest::testExecuteQueryOnDuplicateKeyUpdateReplacesExistingValuescallsMysqliCteShadowingTest::testExecuteQueryReplaceRemovesExistingPrimaryKeycallsMysqliCteShadowingTest::testExecuteQuerySelectcallsMysqliCteShadowingTest::testGroupedSelfReferencingSubqueryRestrictsDeletecallsMysqliCteShadowingTest::testGroupedSelfReferencingSubqueryRestrictsUpdatecallsMysqliCteShadowingTest::testInsertDoesNotModifyPhysicalDatabasecallsMysqliCteShadowingTest::testInsertIsVisibleViaZtdSelectcallsMysqliCteShadowingTest::testInsertSelectPreservesStarJoinsAggregatesDistinctAndRollupcallsMysqliCteShadowingTest::testInsertWithoutColumnListIgnoresNamedForeignKeyConstraintcallsMysqliCteShadowingTest::testMultipleInsertsAccumulatecallsMysqliCteShadowingTest::testOmittedExplicitAndDefaultOnlyValuesMatchMySqlcallsMysqliCteShadowingTest::testOrderedLimitedUpdateKeepsOriginalIdentityAndSwapSnapshotcallsMysqliCteShadowingTest::testPhysicalDatabaseRemainsUnchangedAfterMutationscallsMysqliCteShadowingTest::testPreparedBackslashesRoundTripWithoutMysqlEscapeCorruptioncallsMysqliCteShadowingTest::testPreparedStatementSelectNonExistentcallsMysqliCteShadowingTest::testPreparedStatementSelectWithZtdcallsMysqliCteShadowingTest::testRangePartitionSelectionMatchesShadowRowscallsMysqliCteShadowingTest::testRealQueryInsertcallsMysqliCteShadowingTest::testRecursiveAndUserOwnedCteNamespacesRemainValidcallsMysqliCteShadowingTest::testSelectOnCleanShadowReturnsEmptycallsMysqliCteShadowingTest::testSelectWithWhereOnShadowDatacallsMysqliCteShadowingTest::testSelfReferencingUpsertMatchesNativeMySqlcallsMysqliCteShadowingTest::testSetExpressionsRemainSingleStatementscallsMysqliCteShadowingTest::testTransactionsAndSavepointsRestoreShadowRowscallsMysqliCteShadowingTest::testUpdateAndDeleteRestrictRowsWithCaseExpressioncallsMysqliCteShadowingTest::testUpdatePreservesIntervalUnitcallsMysqliCteShadowingTest::testUpdatePreservesIntroducedHexLiteralcallsMysqliCteShadowingTest::testUpdateReplacesExistingTextWithEmptyStringcallsMysqliCteShadowingTest::testUpdatesAndDeletesEveryListedTablecallsMysqliCteShadowingTest::testYearShorthandMatchesNativeCoercionWithoutPhysicalWritescallsMysqliForeignKeyCascadeTest::testForeignKeysValidateAndCascadeUpdatesAndDeletescallsMysqliFullTextSearchTest::testMatchAgainstReadsOnlyShadowRowscallsMysqliLoadDataTest::testLocalInfileLoadsOnlyTheShadowTablecallsMysqliPlatformInjectionTest::testDefaultPlatformBehaviorMatchesExplicitInjectioncallsMysqliPlatformInjectionTest::testExplicitMySqlPlatformInjectionWorkscallsMysqliPlatformInjectionTest::testInjectedPlatformAffectedRowsTrackingcallsMysqliPlatformInjectionTest::testInjectedPlatformDoesNotModifyPhysicalDatabasecallsMysqliPlatformInjectionTest::testInjectedPlatformInsertIsVisibleViaSelectcallsMysqliPlatformInjectionTest::testInjectedPlatformPreparedStatementWorkscallsZtdMysqliTest::testAutocommitCommitsOrRollsBackTheShadowScopecallsZtdMysqliTest::testBegin_transactionCreatesAShadowRollbackScopecallsZtdMysqliTest::testBegin_transactionDefersTheDefaultSnapshotUntilTheFirstReadcallsZtdMysqliTest::testChange_userChangesTheSelectedDatabasecallsZtdMysqliTest::testCharacter_set_nameReadsTheNativeEncodingcallsZtdMysqliTest::testCloseReleasesTheNativeConnectioncallsZtdMysqliTest::testCommitAndRollbackEndNativeTransactionsByDefaultcallsZtdMysqliTest::testCommitRetainsTheShadowRowscallsZtdMysqliTest::testConnectUsesTheSuppliedNativeCredentialscallsZtdMysqliTest::testDebugAcceptsNativeTraceOptionscallsZtdMysqliTest::testDisableZtdDisablesRewritingcallsZtdMysqliTest::testDump_debug_infoRequestsServerDiagnosticscallsZtdMysqliTest::testEnableZtdRestoresDisabledModecallsZtdMysqliTest::testEscape_stringRetainsTheNativeAliasBehaviorcallsZtdMysqliTest::testExecute_queryBindsParametersInBothModescallsZtdMysqliTest::testFromMysqliUsesTheInjectedPlatformcallsZtdMysqliTest::testGet_charsetReturnsTheNativeCharacterSetcallsZtdMysqliTest::testGet_client_infoReportsTheClientLibrarycallsZtdMysqliTest::testGet_connection_statsReturnsNativeMeasurementscallsZtdMysqliTest::testGet_server_infoReturnsTheNativeServerVersioncallsZtdMysqliTest::testGet_warningsReturnsTheNativeWarningcallsZtdMysqliTest::testInitRetainsTheNativeInitializationContractcallsZtdMysqliTest::testIsZtdEnabledDefaultsToTruecallsZtdMysqliTest::testKillPreservesTheNativeServerResponsecallsZtdMysqliTest::testLastAffectedRowsUsesTheNativeCountWhenDisabledcallsZtdMysqliTest::testMore_resultsObservesPendingNativeStatementscallsZtdMysqliTest::testMulti_queryExposesEachNativeResultcallsZtdMysqliTest::testNext_resultAdvancesTheNativeResultSequencecallsZtdMysqliTest::testOptionsConfiguresTheNativeConnectioncallsZtdMysqliTest::testPingChecksTheNativeConnectioncallsZtdMysqliTest::testPollUsesAndUpdatesNativeConnectionArrayscallsZtdMysqliTest::testPrepareAndQueriesPreserveNativeFalseResultscallsZtdMysqliTest::testPrepareReturnsASimulatedStatementWhenEnabledcallsZtdMysqliTest::testPrepareReturnsTheNativeStatementWhenDisabledcallsZtdMysqliTest::testPrepareWrapsRewriteFailurescallsZtdMysqliTest::testQueryReadsTheNativeResultWhenDisabledcallsZtdMysqliTest::testQueryReturnsFalseWhenThePreparedExecutionFailscallsZtdMysqliTest::testQueryReturnsTrueWithoutAResultSetcallsZtdMysqliTest::testReal_connectConnectsAnInitializedNativeHandlecallsZtdMysqliTest::testReal_escape_stringEscapesWithTheNativeConnectioncallsZtdMysqliTest::testReal_queryAppliesTransactionStatementscallsZtdMysqliTest::testReal_queryExecutesTheNativeQueryWhenDisabledcallsZtdMysqliTest::testReap_async_queryReadsTheCompletedNativeResultcallsZtdMysqliTest::testRefreshPreservesTheNativeServerResponsecallsZtdMysqliTest::testRelease_savepointRemovesTheNativeAndShadowSavepointscallsZtdMysqliTest::testRollbackRestoresTheShadowSnapshotcallsZtdMysqliTest::testSavepointPreservesItsShadowSnapshotcallsZtdMysqliTest::testSelect_dbChangesTheNativeDatabasecallsZtdMysqliTest::testSet_charsetChangesTheNativeEncodingcallsZtdMysqliTest::testSet_optPreservesTheNativeOptionsAliascallsZtdMysqliTest::testSsl_setAcceptsNativeTlsConfigurationcallsZtdMysqliTest::testStatReturnsNativeServerStatuscallsZtdMysqliTest::testStmt_initCreatesAUsableNativeStatementcallsZtdMysqliTest::testStore_resultReadsTheNativeBufferedResultcallsZtdMysqliTest::testThread_safeMatchesTheNativeDrivercallsZtdMysqliTest::testUse_resultReadsTheNativeUnbufferedResultcalls
Calls 4
- method-call
ReflectionClass::newInstanceWithoutConstructor()line 93 - new
ReflectionClassline 93 - class-const ZtdMysqli::class() line 93
- new ConnectionExecution line 94
public function enableZtd(): voidEnable ZTD mode for this connection.
Calls 1
- method-call ConnectionExecution::executor() line 104
public function disableZtd(): voidDisable ZTD mode for this connection.
Calls 1
- method-call ConnectionExecution::executor() line 112
public function isZtdEnabled(): boolCheck whether ZTD mode is enabled.
Returns
boolCalls 1
- method-call ConnectionExecution::executor() line 120
public function lastAffectedRows(): intGet the affected row count from the last ZTD or regular operation.
Note: Direct property access ($this->affected_rows) is not supported because PHP's C extension property handler for mysqli takes precedence over __get when the parent constructor was not called. Use this method instead.
Returns
intCalls 1
- method-call ConnectionExecution::affectedRows() line 132
public function __get(string $name): mixedDelegate property access to the inner mysqli instance.
Handles affected_rows specially when ZTD has tracked affected rows.
Parameters
$name | string |
Returns
mixedCalls 4
- method-call ConnectionExecution::simulatedAffectedRows() line 144
- method-call MysqliPropertyReader::read() line 149
- new MysqliPropertyReader line 149
- method-call ConnectionExecution::native() line 149
public function __isset(string $name): boolDelegate property isset check to the inner mysqli instance.
Parameters
$name | string |
Returns
boolCalls 3
- method-call MysqliPropertyReader::read() line 157
- new MysqliPropertyReader line 157
- method-call ConnectionExecution::native() line 157
public function prepare(string $query): mysqli_stmt|false{@inheritDoc}
Parameters
$query | string |
Returns
mysqli_stmt|falseThrows
ZtdMysqliException When ZTD-specific exception occurs (wraps DatabaseException).mysqli_sql_exception When native execution fails.Called from 2
Calls 2
- method-call ConnectionExecution::prepare() line 169
- new ZtdMysqliStatement line 169
public function query(string $query, int $resultMode = MYSQLI_STORE_RESULT): mysqli_result|bool{@inheritDoc}
Parameters
$query | string | |
$resultMode | int |
Returns
mysqli_result|boolThrows
ZtdMysqliException When ZTD-specific exception occurs (wraps DatabaseException).mysqli_sql_exception When native execution fails.Test cases 2
Calls 2
- method-call ConnectionExecution::query() line 181
- method-call ZtdMysqli::execute_query() line 181
public function real_query(string $query): bool{@inheritDoc}
Parameters
$query | string |
Returns
boolThrows
ZtdMysqliException When ZTD-specific exception occurs (wraps DatabaseException).mysqli_sql_exception When native execution fails.Calls 2
- method-call ConnectionExecution::realQuery() line 193
- method-call ZtdMysqli::prepare() line 193
public function multi_query(string $query): bool{@inheritDoc}
Parameters
$query | string |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 202
public function begin_transaction(int $flags = 0, ?string $name = null): bool{@inheritDoc}
Parameters
$flags | int | |
$name | ?string |
Returns
boolCalls 1
- method-call ConnectionExecution::beginTransaction() line 211
public function commit(int $flags = 0, ?string $name = null): bool{@inheritDoc}
Parameters
$flags | int | |
$name | ?string |
Returns
boolCalls 1
- method-call ConnectionExecution::commit() line 220
public function rollback(int $flags = 0, ?string $name = null): bool{@inheritDoc}
Parameters
$flags | int | |
$name | ?string |
Returns
boolCalls 1
- method-call ConnectionExecution::rollBack() line 229
public function autocommit(bool $enable): bool{@inheritDoc}
Parameters
$enable | bool |
Returns
boolCalls 1
- method-call ConnectionExecution::autocommit() line 238
public function close()public function select_db(string $database): bool{@inheritDoc}
Parameters
$database | string |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 258
public function set_charset(string $charset): bool{@inheritDoc}
Parameters
$charset | string |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 267
public function real_escape_string(string $string): string{@inheritDoc}
Parameters
$string | string |
Returns
stringCalls 1
- method-call ConnectionExecution::native() line 276
public function escape_string(string $string): string{@inheritDoc}
Parameters
$string | string |
Returns
stringCalls 1
- method-call ConnectionExecution::native() line 285
public function ping(): boolpublic function character_set_name(): stringpublic function change_user(string $username, string $password, ?string $database): bool{@inheritDoc}
Parameters
$username | string | |
$password | string | |
$database | ?string |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 312
public function connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null,
): bool{@inheritDoc}
Parameters
$hostname | ?string | |
$username | ?string | |
$password | ?string | |
$database | ?string | |
$port | ?int | |
$socket | ?string |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 330
public function debug(string $options)public function dump_debug_info(): boolpublic function get_charset(): ?objectpublic function get_client_info(): string{@inheritDoc}
Returns
stringCalls 1
- method-call ConnectionExecution::native() line 370
public function get_connection_stats(): array<string, mixed>{@inheritDoc}
Returns
array<string, mixed>Calls 2
- function-call
mysqli_get_connection_statsline 382 - method-call ConnectionExecution::native() line 382
public function get_server_info(): stringpublic function get_warnings(): mysqli_warning|falsepublic function init(): ?bool{@inheritDoc}
Returns
?boolCalls 1
- method-call ConnectionExecution::native() line 411
public function kill(int $process_id): bool{@inheritDoc}
Parameters
$process_id | int |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 422
public function more_results(): boolpublic function next_result(): boolpublic function options(int $option, mixed $value): bool{@inheritDoc}
Parameters
$option | int | |
$value | mixed |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 449
public function real_connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null,
int $flags = 0,
): bool{@inheritDoc}
Parameters
$hostname | ?string | |
$username | ?string | |
$password | ?string | |
$database | ?string | |
$port | ?int | |
$socket | ?string | |
$flags | int |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 465
public function reap_async_query(): mysqli_result|boolpublic function refresh(int $flags): bool{@inheritDoc}
Parameters
$flags | int |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 483
public function release_savepoint(string $name): bool{@inheritDoc}
Parameters
$name | string |
Returns
boolCalls 1
- method-call ConnectionExecution::releaseSavepoint() line 492
public function savepoint(string $name): bool{@inheritDoc}
Parameters
$name | string |
Returns
boolCalls 1
- method-call ConnectionExecution::savepoint() line 501
public function ssl_set(
?string $key,
?string $certificate,
?string $ca_certificate,
?string $ca_path,
?string $cipher_algos,
){@inheritDoc}
Parameters
$key | ?string | |
$certificate | ?string | |
$ca_certificate | ?string | |
$ca_path | ?string | |
$cipher_algos | ?string |
Calls 1
- method-call ConnectionExecution::native() line 516
public function stat(): string|falsepublic function stmt_init(): mysqli_stmtpublic function store_result(int $mode = 0): mysqli_result|false{@inheritDoc}
Parameters
$mode | int |
Returns
mysqli_result|falseCalls 1
- method-call ConnectionExecution::native() line 545
public function thread_safe(): boolpublic function use_result(): mysqli_result|falsepublic function set_opt(int $option, mixed $value): bool{@inheritDoc}
Parameters
$option | int | |
$value | mixed |
Returns
boolCalls 1
- method-call ConnectionExecution::native() line 572
public static function poll(
array<mixed, mixed>|null &$read,
array<mixed, mixed>|null &$error,
array<mixed, mixed> &$reject,
int $seconds,
int $microseconds = 0,
): int|false{@inheritDoc}
Parameters
$read | array<mixed, mixed>|null | |
$error | array<mixed, mixed>|null | |
$reject | array<mixed, mixed> | |
$seconds | int | |
$microseconds | int |
Returns
int|falseTest cases 1
Calls 1
- static-call
mysqli::poll()line 591
public function execute_query(
string $query,
array<mixed, mixed>|null $params = null,
): mysqli_result|bool{@inheritDoc}
Parameters
$query | string | |
$params | array<mixed, mixed>|null |
Returns
mysqli_result|boolThrows
ZtdMysqliException When ZTD-specific exception occurs (wraps DatabaseException).mysqli_sql_exception When native execution fails.Called from 1
Calls 3
- method-call ConnectionExecution::executeQuery() line 603
- method-call ZtdMysqli::prepare() line 606
- method-call
mysqli_stmt::ztdAffectedRows()line 607
Private surface 1§
Implementation details, listed for orientation only.
private ConnectionExecution $executionTest cases 105§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 57
ZtdMysqliTest::testAutocommitCommitsOrRollsBackTheShadowScopecallsZtdMysqliTest::testBegin_transactionCreatesAShadowRollbackScopecallsZtdMysqliTest::testBegin_transactionDefersTheDefaultSnapshotUntilTheFirstReadcallsZtdMysqliTest::testChange_userChangesTheSelectedDatabasecallsZtdMysqliTest::testCharacter_set_nameReadsTheNativeEncodingcallsZtdMysqliTest::testCloseReleasesTheNativeConnectioncallsZtdMysqliTest::testCommitAndRollbackEndNativeTransactionsByDefaultcallsZtdMysqliTest::testCommitRetainsTheShadowRowscallsZtdMysqliTest::testConnectUsesTheSuppliedNativeCredentialscallsZtdMysqliTest::testDebugAcceptsNativeTraceOptionscallsZtdMysqliTest::testDisableZtdDisablesRewritingcallsZtdMysqliTest::testDump_debug_infoRequestsServerDiagnosticscallsZtdMysqliTest::testEnableZtdRestoresDisabledModecallsZtdMysqliTest::testEscape_stringRetainsTheNativeAliasBehaviorcallsZtdMysqliTest::testExecute_queryBindsParametersInBothModescallsZtdMysqliTest::testFromMysqliUsesTheInjectedPlatformcallsZtdMysqliTest::testGet_charsetReturnsTheNativeCharacterSetcallsZtdMysqliTest::testGet_client_infoReportsTheClientLibrarycallsZtdMysqliTest::testGet_connection_statsReturnsNativeMeasurementscallsZtdMysqliTest::testGet_server_infoReturnsTheNativeServerVersioncallsZtdMysqliTest::testGet_warningsReturnsTheNativeWarningcallsZtdMysqliTest::testInitRetainsTheNativeInitializationContractcallsZtdMysqliTest::testIsZtdEnabledDefaultsToTruecallsZtdMysqliTest::testKillPreservesTheNativeServerResponsecallsZtdMysqliTest::testLastAffectedRowsUsesTheNativeCountWhenDisabledcallsZtdMysqliTest::testMore_resultsObservesPendingNativeStatementscallsZtdMysqliTest::testMulti_queryExposesEachNativeResultcallsZtdMysqliTest::testNext_resultAdvancesTheNativeResultSequencecallsZtdMysqliTest::testOptionsConfiguresTheNativeConnectioncallsZtdMysqliTest::testPingChecksTheNativeConnectioncallsZtdMysqliTest::testPollUsesAndUpdatesNativeConnectionArrayscallsZtdMysqliTest::testPrepareAndQueriesPreserveNativeFalseResultscallsZtdMysqliTest::testPrepareReturnsASimulatedStatementWhenEnabledcallsZtdMysqliTest::testPrepareReturnsTheNativeStatementWhenDisabledcallsZtdMysqliTest::testPrepareWrapsRewriteFailurescallsZtdMysqliTest::testQueryReadsTheNativeResultWhenDisabledcallsZtdMysqliTest::testQueryReturnsFalseWhenThePreparedExecutionFailscallsZtdMysqliTest::testQueryReturnsTrueWithoutAResultSetcallsZtdMysqliTest::testQueryUsesTheInjectedPlatformcallsZtdMysqliTest::testReal_connectConnectsAnInitializedNativeHandlecallsZtdMysqliTest::testReal_escape_stringEscapesWithTheNativeConnectioncallsZtdMysqliTest::testReal_queryAppliesTransactionStatementscallsZtdMysqliTest::testReal_queryExecutesTheNativeQueryWhenDisabledcallsZtdMysqliTest::testReap_async_queryReadsTheCompletedNativeResultcallsZtdMysqliTest::testRefreshPreservesTheNativeServerResponsecallsZtdMysqliTest::testRelease_savepointRemovesTheNativeAndShadowSavepointscallsZtdMysqliTest::testRollbackRestoresTheShadowSnapshotcallsZtdMysqliTest::testSavepointPreservesItsShadowSnapshotcallsZtdMysqliTest::testSelect_dbChangesTheNativeDatabasecallsZtdMysqliTest::testSet_charsetChangesTheNativeEncodingcallsZtdMysqliTest::testSet_optPreservesTheNativeOptionsAliascallsZtdMysqliTest::testSsl_setAcceptsNativeTlsConfigurationcallsZtdMysqliTest::testStatReturnsNativeServerStatuscallsZtdMysqliTest::testStmt_initCreatesAUsableNativeStatementcallsZtdMysqliTest::testStore_resultReadsTheNativeBufferedResultcallsZtdMysqliTest::testThread_safeMatchesTheNativeDrivercallsZtdMysqliTest::testUse_resultReadsTheNativeUnbufferedResultcalls
Other tests reaching this symbol 48
MysqliCteShadowingTest::testAffectedRowsAfterInsertcallsMysqliCteShadowingTest::testAffectedRowsAfterMultipleInsertscallsMysqliCteShadowingTest::testAffectedRowsCountsOnlyChangedMySqlRowscallsMysqliCteShadowingTest::testAutoIncrementUsesShadowCounterWithoutModifyingPhysicalTablecallsMysqliCteShadowingTest::testCteDefinitionsRemainVisibleToSimulatedDmlcallsMysqliCteShadowingTest::testDisableZtdBypassesRewritingcallsMysqliCteShadowingTest::testEnableDisableTogglecallsMysqliCteShadowingTest::testEnumUsesDeclarationRanksForOrderingAndComparisoncallsMysqliCteShadowingTest::testExecuteQueryOnDuplicateKeyUpdateReplacesExistingValuescallsMysqliCteShadowingTest::testExecuteQueryReplaceRemovesExistingPrimaryKeycallsMysqliCteShadowingTest::testExecuteQuerySelectcallsMysqliCteShadowingTest::testGroupedSelfReferencingSubqueryRestrictsDeletecallsMysqliCteShadowingTest::testGroupedSelfReferencingSubqueryRestrictsUpdatecallsMysqliCteShadowingTest::testInsertDoesNotModifyPhysicalDatabasecallsMysqliCteShadowingTest::testInsertIsVisibleViaZtdSelectcallsMysqliCteShadowingTest::testInsertSelectPreservesStarJoinsAggregatesDistinctAndRollupcallsMysqliCteShadowingTest::testInsertWithoutColumnListIgnoresNamedForeignKeyConstraintcallsMysqliCteShadowingTest::testMultipleInsertsAccumulatecallsMysqliCteShadowingTest::testNativeConstructorCreatesAnIsolatedDefaultSessioncallsMysqliCteShadowingTest::testOmittedExplicitAndDefaultOnlyValuesMatchMySqlcallsMysqliCteShadowingTest::testOrderedLimitedUpdateKeepsOriginalIdentityAndSwapSnapshotcallsMysqliCteShadowingTest::testPhysicalDatabaseRemainsUnchangedAfterMutationscallsMysqliCteShadowingTest::testPreparedBackslashesRoundTripWithoutMysqlEscapeCorruptioncallsMysqliCteShadowingTest::testPreparedStatementSelectNonExistentcallsMysqliCteShadowingTest::testPreparedStatementSelectWithZtdcallsMysqliCteShadowingTest::testRangePartitionSelectionMatchesShadowRowscallsMysqliCteShadowingTest::testRealQueryInsertcallsMysqliCteShadowingTest::testRecursiveAndUserOwnedCteNamespacesRemainValidcallsMysqliCteShadowingTest::testSelectOnCleanShadowReturnsEmptycallsMysqliCteShadowingTest::testSelectWithWhereOnShadowDatacallsMysqliCteShadowingTest::testSelfReferencingUpsertMatchesNativeMySqlcallsMysqliCteShadowingTest::testSetExpressionsRemainSingleStatementscallsMysqliCteShadowingTest::testTransactionsAndSavepointsRestoreShadowRowscallsMysqliCteShadowingTest::testUpdateAndDeleteRestrictRowsWithCaseExpressioncallsMysqliCteShadowingTest::testUpdatePreservesIntervalUnitcallsMysqliCteShadowingTest::testUpdatePreservesIntroducedHexLiteralcallsMysqliCteShadowingTest::testUpdateReplacesExistingTextWithEmptyStringcallsMysqliCteShadowingTest::testUpdatesAndDeletesEveryListedTablecallsMysqliCteShadowingTest::testYearShorthandMatchesNativeCoercionWithoutPhysicalWritescallsMysqliForeignKeyCascadeTest::testForeignKeysValidateAndCascadeUpdatesAndDeletescallsMysqliFullTextSearchTest::testMatchAgainstReadsOnlyShadowRowscallsMysqliLoadDataTest::testLocalInfileLoadsOnlyTheShadowTablecallsMysqliPlatformInjectionTest::testDefaultPlatformBehaviorMatchesExplicitInjectioncallsMysqliPlatformInjectionTest::testExplicitMySqlPlatformInjectionWorkscallsMysqliPlatformInjectionTest::testInjectedPlatformAffectedRowsTrackingcallsMysqliPlatformInjectionTest::testInjectedPlatformDoesNotModifyPhysicalDatabasecallsMysqliPlatformInjectionTest::testInjectedPlatformInsertIsVisibleViaSelectcallsMysqliPlatformInjectionTest::testInjectedPlatformPreparedStatementWorkscalls