====== clusterExecute ====== ~~NOTOC~~ == Applies To == [[v5:loadbalancer:index|ADOdb Load Balancer]] == Syntax == mixed clusterExecute( string $sql, optional bool $inputArray = false, optional bool $returnAllResults = false, optional bool $existingConnectionsOnly = true ) ===== Description ===== The method ''clusterExecute()'' is used to simultaneously execute an SQL statement across all nodes in the load balancing group. It is primarily used for setting Server parameters. ------------------------------------- ===== Parameters ===== The first two parameters follow the rules as specified in the ADOdb [[v5:reference:connection:execute|execute()]] command. ===== $returnAllResults ===== The default behavior of the command is to return the result of the execution of the command from first connected server in the pool. If the parameter is set to true, then the results of all executions are collected into an array and returned ordered by connection. /* * Connection pool with 3 MySQL servers */ $a = $db->clusterExecute('SET TRANSACTION ISOLATION LEVEL SERIALIZABLE', false, false, false); print_r($a); /* * Returns Array ( [0] => ADORecordSet_empty Object ( [dataProvider] => empty [databaseType] => [EOF] => 1 [_numOfRows] => 0 [fields] => [connection] => ) [1] => ADORecordSet_empty Object ( [dataProvider] => empty [databaseType] => [EOF] => 1 [_numOfRows] => 0 [fields] => [connection] => ) [2] => ADORecordSet_empty Object ( [dataProvider] => empty [databaseType] => [EOF] => 1 [_numOfRows] => 0 [fields] => [connection] => ) ) */ $a = $db->clusterExecute('SET TRANSACTION ISOLATION LEVEL SERIALIZABLE', false, true, false); print_r($a); /* * Returns ADORecordSet_empty Object ( [dataProvider] => empty [databaseType] => [EOF] => 1 [_numOfRows] => 0 [fields] => [connection] => ) */ ===== $existingConnectionsOnly ==== If the ''existingConnectionsOnly'' flag is set to true, the command passed to clusterExecute will only be executed against connections that are already in use, otherwise, the clusterExecute command will establish a connection to the database and then execute the command.